使用workstation配置 Windows 内核调试
2023年2月22日
本篇讲如何简单配置windows内核调试. 使用虚拟机调试windows 的方法分为两种, 一种是pipe, 一种是网络.
pipe方法
添加串口到虚拟机
安装好虚拟机后, 添加串口设配, 配置如下
配置虚拟机windows系统(简称Guest)
按组合键win+r, 输入 msconfig.做如下配置
重启虚拟机
配置外部主机(检查Host)
找到windbg的快捷方式, 右键属性, 添加参数-b -k com:port=\\.\pipe\com_1,baud=115200,pipe”
连接调试器
在Guest启动后, 在Host打开刚才设置的windbg快捷方式, 如下便连接成功
添加符号
网络方法
假设虚拟机是windows 10, ip 为 192.168.170.12, 主机ip为 192.168.170.1, 在虚拟机中使用管理员打开powershell, 执行以下命令:
1 | PS C:\Windows\system32> Bcdedit /set dbgtransport kdnet.dll |
此处使用的port是 50110, 设置后会出现一个key.
设置好后重启一下虚拟机, 重启后, 在主机使用以下命令连接虚拟机:
1 | WinDBG -k net:port=50110,key=3tiyrjeh9h9w5.19vgro94onrdc.1wckyll43kv3r.yf1gyp2ymc3n |
hyper-v的hypervisor调试配置
1 | bcdedit /set hypervisordebug on |
windbg远程调试用户程序
Guest里, 安装同版本windbg, 在 C:\Program Files\Windows Kits\10\Debuggers\x64\
目录, 执行
.\dbgsrv -t tcp:port=50000
, 监听50000端口
在主机执行 windbg -premote tcp:Port=50000,Server=192.168.150.152
, 连接目标虚拟机. 弹出windbg窗口后, 直接F6
选择需要附加的程序.