0x00 环境介绍
- 虚拟机软件:VMware Fusion 专业版 12.1.1 (17801503)
- 调试机: Windows 10 x64
- 被调试机: Windows XP Professional SP3
分别通过iso用VM对两台虚拟机进行安装.
0x01 配置两台虚拟机的串端口
Mac打开.vmx文件:
在里面找到.vmx打开
被调试机器 - Windows XP Professional SP3
serial0.fileName = "/Users/Virtual Machines.localized/com1"
serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.yieldOnMsrRead = "TRUE"
serial0.startConnected = "TRUE"
fileName 要根据自己的pc配置一下
调试机器 Windows 10 x64
serial0.fileName = "/Users/Virtual Machines.localized/com1"
serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.pipe.endPoint = "client"
serial0.yieldOnMsrRead = "TRUE"
参考了VMware官网的issue
开机的时候, 调试机Windows10 有可能会显示无法套接字, 不用担心, 把Windows XP 启动后在虚拟机上工具栏上点击一下连接:
被调试机:
调试机:
配置好把两台虚拟机开机, 在两台电脑的串口中修改波特率:
右击我的电脑->管理->设备管理器->端口设置
XP:
Windows 10:
0x02 被调试机器开机引导项设置
XP中打开c:\boot.ini
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="XP Professional with Kernel Debugging" /noexecute=optin /fastdetect /debug /debugport=COM1 /baudrate=115200
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
partition(2) 等选项要一样, 不然会无法引导启动
然后先去配置 Windows 10 调试机, 然后在去重启这个XP选择调试模式
0x03 调试机Windbg配置
这时候重启被调试机:
虚拟机正常启动windbg窗口会有显示一些信息
接下来通过Debug->Break来内核断点
就来到了熟悉的界面了:
然后配置一下符号表:
kd> .symfix c:\symbols
kd> .sympath
Symbol search path is: srv*
Expanded Symbol search path is: SRV*c:\symbols*https://msdl.microsoft.com/download/symbols
参考Microsoft 公共符号服务器:
https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/microsoft-public-symbols