如何调试内核
windows vm
win10/11 虚拟机
安装好VM,禁止系统更新,避免gadget地址改变。
神奇的字符串,不知道为什么出现在这里
1 | KH2J9-PC326-T44D4-39H6V-TVPBY // 10 |
调试内核
符号信息
WinDbg preview –> File –> setting –> debugging setting –> default symbol path
- 如果在指定的目录找不到,就会远程下载
1 | srv*C:\Symbols*https://msdl.microsoft.com/download/symbols |
双机调试
管道
WinDbg 双机调试内核。
- 虚拟机添加一个串行端口,选择命名管道,这个命名管道形式如:
\\.\pipe\com_1
,选择该端是服务,另一端是应用程序 - windbg 选择 attach to kernel
待调试机器:添加一个串口设备,使用命名的管道;开机后管理员开启cmd
1 | bcdedit /dbgsettings serial baudrate:115200 debugport:1 |
调试机器:windbg attach kernel,填内容
- 波特率:115200
- 管道:待调试机器的命名管道
- resets: 0
也可使用 也可 win+r
运行 msconfig
网络
Set up KDNET network kernel debugging manually
1 | bcdedit /debug on |
打开签名认证开关
1 | bcdedit/set testsigning on |
显示为 Debuggee is running...
,后来才知道需要点击顶栏 break
进行断点
还可以使用 VS
调试。
参考:双机内核调试