0x00 前期准备:
主机安装Windbg
主机安装VMware
在VMware中安装Win10LTSC并且激活
主机配置符号文件相关的环境变量:
0x01 虚拟系统配置:
在虚拟系统设置的硬件一栏,删除打印机之后添加串口(打印机会占用串口1):
配置串口:
0x02 修改虚拟系统启动选项:
在虚拟系统中以管理员身份启动powershell,执行 bcdedit /enum 查看启动配置:
依次执行以下命令:
bcdedit /set “{current}” bootmenupolicy Legacy //修改启动方式为Legacy
bcdedit /dbgsettings SERIAL DEBUGPORT:1 BAUDRATE:115200 //设置串口1为调试端口,波特率为115200
bcdedit /copy “{current}” /d “Debug” //将当前配置复制到 Debug 启动配置(新建了Debug启动配置)
记录一下新建的启动配置的标识符,然后执行下面的命令:
bcdedit /debug “{<新建的启动配置的标识符>}” on //打开调试开关
bcdedit /enum //查看配置
0x03 验证配置:
重启虚拟系统:
可以看到前面配置的 Debug 启动配置已经生效了
打开 Windbg ,设置挂接选项:
设置完毕点击OK之后,虚拟系统选择 Debug 选项启动,Windbg成功中断:
双机调试配置成功,可以在命令窗口输入命令控制虚拟机里面的Win10系统
0x04 Windbg的简单使用:
lm //查看系统当前的模块
上图中只加载了 nt 模块的符号文件,可以使用 ld 命令强制加载其他模块的符号文件:
查看指定模块内的符号(nt模块中以z开头的符号):
查看内核中的结构体信息(_kprocess结构体):
查看系统当前运行的进程信息: