0x1. 搭建 VMWare-WinDBG 调试环境

0x2. 配置 IDA6.8

  1. 打开 IDA 目录,找到 cfg 文件夹下的 ida.cfg

  2. 669 行左右有如下配置信息

// DBGTOOLS = "xxxxx";

去掉双斜杠,并且把路径设置为 WinDBG 的 x86 的路径

DBGTOOLS = "C:\\Program Files (x86)\\Windows Kits\\10\\Debuggers\\x86\\";

(话说我也不知道为什么设置 x64 就死活不能用,反正设置 x86 也可以调试 x64 的内核)
3. 保存配置,启动 IDA6.8
4. 选择菜单 Debugger->Attach->Windbg debugger
1. Connection string: com:pipe,port=\.\pipe\com_1
2. 选择 Debug options->Set specific options
1. Debugging mode 选择 “Kernel mode debugging” or “Kernel mode debugging with reconnect and initial break”
3. 最后一路 ok 后,会弹出 Choose process to attach to 的窗口,选择 ID=0, Name=\<Kernel> 的选项,然后确认。
4. 然后卡死。然后等着。。。最后开始调试

  1. 目标虚拟机内 CMD 管理员权限执行
bcdedit /copy {current} /d "Backup"
bcdedit /debug  on
bcdedit /bootdebug on
bcdedit /timeout 2
bcdedit /dbgsettings SERIAL DEBUGPORT:2 BAUDRATE:115200
  1. 关闭虚拟机

  2. 配置虚拟机,增加串行端口

    1. 输出到命名管道
    2. 命名管道命:(开心就好的设置)
    3. 该端是服务器
    4. 另一端是客户端
    5. 完成
  3. WinDbg 配置
    File->Kernel Debug->Com

    1. Baud Rate : 115200
    2. Port: (刚刚开心的地方就写进来吧)
    3. Pipe 勾选上
    4. Reconnect 勾选上
    5. 确定
    6. 打开虚拟机

然后就可以开心 Debug Kernel 了