需要安装的环境包括三个部分:
在官网下载WDK以及VS20176b9K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6V1L8$3y4K6i4K6u0W2L8h3W2U0M7X3!0K6L8$3k6@1i4K6u0W2j5$3!0E0i4K6u0r3P5X3S2Q4x3X3c8U0L8W2)9J5c8Y4N6A6L8X3c8G2N6%4y4Q4x3X3c8Z5j5i4u0V1N6$3q4J5k6g2)9J5c8X3c8J5K9i4k6W2M7Y4y4Q4x3V1k6V1L8%4N6F1L8r3!0S2k6q4)9J5k6s2c8Z5k6g2)9J5k6s2N6V1K9H3`.`.
VS2017 和 WDK 都安装完毕后,运行 VS2017,新建项目时就可以看到有 Windows Driver 的选项了,我们新建一个 WDK 的 Kernel Mode Driver 的空项目,然后新建一个 DriverEntry.c,里面写一些测试代码。然后点击项目属性,修改如下几个选项:
完成后,在设置里点击串行端口,可以看到要求在首选项中启动虚拟打印机,从编辑->首选项->设备中设置即可,再点击串行端口,选中轮询时主动放弃CPU。最后点击确定,虚拟机部分设置完成。
接下来设置Win7系统,vista 及后续的 windows系统已经取消了 ntldr 模块管理引导,转而以 bootmgr 模块管理引导系统。进入虚拟机后,以管理员权限运行cmd输入下列命令:
宿主机上主要是使用Windbg对调试机进行调试,因此主要是设置Windbg,Windbg去官网下载即可。
首先在桌面创建一个Windbg的快捷方式,然后右键快捷方式点击属性。在目标选项卡中的引号后添加-b -k com:port=\\.\pipe\com_1,baud=115200,pipe,其中-b表示初始断点,-k表示内核调试,com:port表示命名管道以及baud表示波特率,pipe表示串行通信方式连接。
-b -k com:port=\\.\pipe\com_1,baud=115200,pipe
重启虚拟机,可以看到有两个系统可以选择,选择调试,点击刚刚设置的快捷方式打开Windbg,过一会即可看到windbg连接上了调试机。
osr driver loader,去网上搜,下载即可
\\.\pipe\com_1
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Kernel Debugging" /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200
bcdedit /enum - 枚举当前活动的启动条目 bcdedit /copy {current} /d "Windows Debug Entry" - 新建一个启动条目,用于内核调试 bcdedit /debug {955296e0-793b-11e7-9ce1-b6eb54ee5b23} ON - 开启内核调试功能 bcdedit /dbgsettings serial baudrate:115200 debugport:1 - 如果串口号不是com1,而是comX,请将1改成X bcdedit /dbgsetting - 查看当前设置