0x00 宿主开发虚拟机安装开发环境
本人开发测试环境:
Windows 11 23H2
Visual Studio 2026 (暂不支持驱动开发)+ Visual Studio 2022(驱动开发)
SDK 10.0.26100.7705
WDK 10.0.26100.6584
Windows 11 23H2
串口调试(COM1) 速度慢
网络调试(KDNET) 速度快
1. 安装 Windows11 虚拟机
- TPM 设置
![图片[1]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-35.png)
- UEFI 启动
![图片[2]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-36.png)
- 其他保持默认或推荐设置即可
- 若在第一次启动过程中,遇到网络设置连接问题,可以
Shift + F10进入 命令行 CMD 窗口 输入以下命令绕过
oobe\ByPassNRO
2. 安装 Visual Studio 2022
https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/
![图片[3]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-21-1024x403.png)
- 安装 Visual Studio 2022 时,请选择 具有C++工作负荷的桌面开发 。 然后,在“单个组件”下添加:
MSVC v143 – VS 2022 C++ ARM64/ARM64EC Spectre 缓解库(最新版本)
MSVC v143 – VS 2022 C++ x64/x86 Spectre 缓解库(最新版本)
带有 Spectre 缓解库的适用于最新 v143 生成工具的 C++ ATL (ARM64/ARM64EC)
带有 Spectre 缓解库的适用于最新 v143 生成工具的 C++ ATL (x86 & x64)
带有 Spectre 缓解库的适用于最新 v143 生成工具的 C++ MFC (ARM64/ARM64EC)
带有 Spectre 缓解库的适用于最新 v143 生成工具的 C++ C++ MFC (x86 & x64)
Windows 驱动程序工具包 (WDK)
- 使用搜索框查找“64 latest spectre”(在英文安装中)或“64 最新”(在非英文安装中)以快速查看这些组件。
- 使用 C++ 工作负载的桌面开发不会安装 Windows SDK 10.0.26100.1。
![图片[4]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-20.png)
3. 安装 SDK
![图片[5]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-19-1024x485.png)
4. 安装 WDK
![图片[6]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-18-1024x753.png)
5. 安装 WinDbg
![图片[7]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-17-1024x651.png)
6. 方案一:添加串行调试端口
设置串行端口 命名管道 \\.\pipe\kd_debug
![图片[8]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-16.png)
![图片[9]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-37-1024x547.png)
7. 方案二:网络调试(KDNET)
选择 Kernel Debug -> Net 标签页。
填入端口 50000 和密钥 1.2.3.4。
![图片[10]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-38-1024x504.png)
0x01 目标调试虚拟机搭建调试环境
1. 安装 Windows11 虚拟机
- TPM 设置
![图片[11]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-13.png)
- UEFI 启动
![图片[12]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-12.png)
- 其他保持默认或推荐设置即可
- 若在第一次启动过程中,遇到网络设置连接问题,可以
Shift + F10进入 命令行 CMD 窗口 输入以下命令绕过
oobe\ByPassNRO
2. 通用配置调试功能
开机后,虚拟机内部CMD管理员运行:
(1) 创建一个新的引导项
bcdedit /copy {current} /d kernel-debug
(2) 设置启动超时时间
bcdedit /timeout 10
(3) 开始测试数字签名(默认有强制签名检测)
bcdedit /set testsigning on
(4) 开启调试功能
bcdedit /debug on
(5) 开启boot模式
bcdedit /bootdebug on
![图片[13]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-39-1024x474.png)
3. 配置双机调试环境
设置串行端口 命名管道 \\.\pipe\kd_debug
![图片[14]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-11.png)
开机后,虚拟机内部CMD管理员运行:
// 设置串口调试信息 (虚拟机创建的串口号为1)
bcdedit /dbgsettings serial debugport:1 baudrate:115200
// Dbgview选择监控内容(管理员运行)
// 使用INSTDRV加载驱动
![图片[15]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-41-1024x474.png)
输入 msconfig命令,看配置是否生效
![图片[16]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-14-1024x448.png)
可以点击高级选项,调试为
![图片[17]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-9.png)
![图片[18]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-10.png)
开启虚拟化支持
![图片[19]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-8.png)
至此虚拟机调试设置完成,每次开机选择
![图片[20]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-7.png)
4. 方案二:网络调试(KDNET)
// 目标机(CMD 管理员):
// 开始测试数字签名(默认有强制签名检测), 即使方案一设置过,也在再次设置,因为不同方案状态会失效
bcdedit /set testsigning on
bcdedit /dbgsettings net hostip:192.168.204.131 port:50000 key:1.2.3.4
(记得把 hostip 换成你主机的 IP)
![图片[21]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-42.png)
5. 配置 Debug Print Filter 注册表
oobe\ByPassNRO0
![图片[22]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-43-1024x152.png)
6. 配置 WinDbg 输出日志
oobe\ByPassNRO1
![图片[23]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-44.png)
7. 配置 DebugView
https://learn.microsoft.com/zh-cn/sysinternals/downloads/sysinternals-suite
![图片[24]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-45.png)
![图片[25]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-46-1024x690.png)
0x02 测试双机调试
1. 方案一: WinDdg 连接测试
在宿主开发虚拟机中,打开 WinDBG,开启一个调试
![图片[26]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-6.png)
- 注意:由于是双虚拟机调试,这里不勾选 Pipe,Port 填 com1 就好 (之前设置的就是 com1)
- 双虚拟机的通信介质仍然是命名管道。只不过命名管道的客户端是被调试的虚拟机,命名管道的服务端却是调试器所在的虚拟机。命名管道在两台虚拟机内已经被虚拟成两台虚拟机的物理端口。
![图片[27]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-5-1024x599.png)
看到 Windbg 如图输出即连接成功,调试环境配置完成
![图片[28]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-4-1024x550.png)
2. 方案二:WinDdg 连接测试
![图片[29]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-47-1024x504.png)
![图片[30]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-48-1024x626.png)
3. 配置 WinDbg Symbols 符号文件
新建 Symbols 空文件夹
![图片[31]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-3.png)
设置符号文件下载
oobe\ByPassNRO2,windbg 符号文件设置如图
![图片[32]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-2-1024x472.png)
![图片[33]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-1-1024x469.png)
3. 测试一个列举所有进程命令
输入命令
oobe\ByPassNRO3到窗口输出了所有进程列表
![图片[34]- Windows 内核 双Win11虚拟机调试环境搭建 完美无坑版教程- 侠者非攻社区](https://www.xiahub.com/wp-content/uploads/2026/03/image-1024x587.png)









暂无评论内容