Windows驱动开发之环境搭建
1、前期准备
-
Vmware虚拟机软件
-
Windows10 iso安装包
-
Visual Studio2022 IDE软件
-
SDK安装(一定要勾选上debug选项,windbg在里面)
-
WDK(Windows驱动程序工具包)
WDK安装请参考官方文档:下载 Windows 驱动程序工具包 (WDK) - Windows drivers | Microsoft Learn
第一步:开发环境搭建
注意事项:在安装完WDK后,VisualStudio2022还不能开发驱动程序,因为还未向VisualStudio2022安装WDK的扩展包;需要在WDK安装目录下或使用everything全局搜索“WDK.vsix”文件,安装即可。
打开VisualStudio IDE “新建项目” 后出现上图“Driver”字样说明我们的开发环境搭建完成啦!恭喜完成第一步。
第二步:调试环境搭建
配置虚拟机;
为虚拟机添加一个串行端口
注:添加串口后需要修改串口配置;”使用命名的管道“,配置管道名,修改”另一端是应用程序“(另一端是windbg,故而是应用程序)
配置windbg;
创建一个windbg的桌面快捷方式,设置目标为:“xxx/xxx/windbg.exe” -b -k com:port=\\.\pipe\com_1,baud=115200,pipe
上面的xxx/xxx/windbg.exe替换为自己的windbg.exe路径即可
配置虚拟机中Windows10系统;
需要开启Vmware中的Windows10系统(前期准备里面应该已经安装完成啦!!!)
Windows键,输入“msconfig”,会出现“系统配置”应用,打开即可
打开“引导”标签页,点击“高级选项”按钮,勾选“调试”复选框,选择“COM1”调试端口,调整波特率为“115200”。
后续按下面顺序进行执行即可(内容同其他博客)
-
以管理身份打开"cmd"
-
输入”bcdedit“
-
设置端口1,命令如下:
bcdedit /dbgsettings serial baudrate:115200 debugport:1
-
复制一个开机选项,命名为“DebugEntry”(可任意命名)。命令如下:
bcdedit /copy {current} /d DebugEntry
-
增加一个开机引导项
bcdedit /displayorder {current} {ID}
注:这个ID要填写上一条命令生成的一串数字或字母。
-
激活Debug
bcdedit /debug {ID} ON
注:ID以生成的数字或字母串代替。
-
重启虚拟机,选择“DebugEntry[debug]”作为启动项
-
选择好启动项后,立即回到主机,启动windbg。只有在虚拟器系统启动过程中,才能连接上!!!(真的!真的!真的!)否则windbg会一直在下面这个界面上
***
永远都停留在”Waiting to reconnect…“,永远…
最后效果展示
windbg使虚拟机中的操作系统中断啦,只需要在kd> 文本框中输入"g",系统便可继续执行。
选择我们上面配置的“DebugEntry”引导项,系统继续运行;若系统再次卡住,说明又被Windbg给打断啦,输入“g”继续。
windbg在“*BUSY*Debuggee is running”状态时,可以使用“Ctrl + Pause(键盘右上角寻找)”进行打断操作,进行打断点或者后面我们查看当前的PC所有的驱动(kd> lm n t)。