Windbg双机调试

发布时间 2023-12-28 17:56:12作者: this毛豆

本文中的双机调试是通过两个机器处于同一网络下,使用网网络进行调试,适用于两个物理机,或物理机和虚拟机组合等情况,以下是具体步骤:

1.host端,下载和安装Windows SDK;

2.host端,安装Windbg;

3.host端,在windbg安装目录找到如下文件:

Debuggers\x64\kdnet.exe
Debuggers\x64\VerifiedNICList.xml

把这两个文件复制到Target端。

4.target是物理机则让host和target处于同一网络下,target是虚拟机,则使用桥接网络,两者均需关闭security boot(BIOS中设置)。

5.target端,启动管理员cmd,执行如下命令:

kdnet.exe ${Host IP} ${Port}

其中,${Host IP}替换成host端的IP,${Port}是端口,范围50000~50039(其它值其实也行,一般用这个范围),替换成其中一个端口。

执行命令行后,会得到一串处理结果,类似于如下格式:

windbg -k net:port=50015,key=XXXXXXXXXXXXXXXX

6.target端,打开防火墙规则:

Control Panel --> System and Security --> Windows Defender Firewall --> Advanced Settings --> Inbound Rules --> 打开File and Printer Sharing (ICMPv4-In).

7.host端,打开windbg或windbg preview,以后者为例:

File --> Start debugging --> Attach to kernel --> Net,填入端口号50015(上例中使用端口50015),key则填入target端运行kdnet命令实际生成的值 --> 点击确认启动调试。

重启target机器,就可以正常调试了。