最近看《寒江独钓-windows内核安全编程》里面开始的用winDbg调试虚拟机驱动连接总是失败:如下图:
在虚拟机上修改后的boot.ini文件内容如下:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)/WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect/debug /debugport=com1 /baudrate=115200
可是总是连接不上,在网上差了资料才知道,VM创建的虚拟串口有时是com2端口,设备名称为Serial Port2,在VM上的系统的硬件管理器上会发现只有com2端口,而没有com1口。此时boot.ini的设置是错误的。应该将boot.ini文件改为
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)/WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
multi(0)disk(0)rdisk(0)partition(1)/WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect/debug /debugport=com2 /baudrate=115200
建立命名管道:
修改winDbg的快捷方式目标为:
"D:\Debugging Tools for Windows (x86)\windbg.exe" -b -k com:port=\\.\pipe\com_2,baud=115200,pipe
虚拟机进入debug启动选项,winDbg命令kd>g,就可以连接了: