0x01 WinDbg搭建双机调试环境
实验环境
|
推荐使用的环境 |
备注 |
操作系统 |
Windows 10 |
|
编译器 |
|
|
编译选项 |
|
|
build版本 |
|
|
调试器 |
WinDbg |
|
虚拟机 |
Vmware |
|
实验过程
- 配置虚拟机串口
- 这里的系统是Win10,XP不一样。
- 管理员启动CMD,输入以下命令
- bcdedit /dbgsettings serial baudrate:115200 debugport:2
// 这里的debugport取决于创建的串口id,我是com2
bcdedit /copy {current} /d DebugEntry
bcdedit /displayorder {current} {上一轮的输出}
bcdedit /debug {上一轮的输出}
- 后续创建快捷方式
- "C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -k com:port=\.\pipe\com_1,baud=115200,pipe
- 重启虚拟机操作系统,选择Debug Entry
- 启动windbg,然后debug菜单->break选项看见输入栏左侧出现kd就可以下调试命令了。
0x02 shadow SSDT
实验环境
|
推荐使用的环境 |
备注 |
操作系统 |
Windows 10 |
|
编译器 |
|
|
编译选项 |
|
|
build版本 |
|
|
调试器 |
WinDbg |
|
虚拟机 |
Vmware |
|
实验过程
- 虚拟运行mspaint.exe
- 运行!process 0 0找到mspaint的EPROCESS地址
- .process /p <EPROCESS>,切换到进程空间
- 运行x nt!*kes*des*table*指令
- fffff805`410018c0 nt!KeServiceDescriptorTable = <no type information>
fffff805`40efca40 nt!KeServiceDescriptorTableShadow = <no type information>
fffff805`40efcc00 nt!KeServiceDescriptorTableFilter = <no type information>
- dq fffff80540efca40
- fffff805`40efca40 fffff805`402c79c0 00000000`00000000
fffff805`40efca50 00000000`000001d8 fffff805`402c8124
fffff805`40efca60 ffff8a03`c6ed9000 00000000`00000000
fffff805`40efca70 00000000`00000524 ffff8a03`c6eda9bc
- dqs ffff8a03c6ed9000 L524(这里的命令获取到了很多地址,但是uf却不能反汇编)
文章评论