学习记录
这几天看了一些关于驱动的东西,然后学了一些WinDbg的双机调试以及IDA使用WinDbg插件调试驱动,踩了很多坑
然后之前还做了一个比赛的crackme,然后数学题太顶了,不懂数论就没做出来
WinDbg
首先虚拟机的配置。首先先移除打印机,然后添加串行端口,按照如图所配置
命名管道:\.\pipe\com_1
然后WinDbg配置
在目标那一栏填 -b -k com:pipe,port=\.\pipe\com_1,resets=0
备注:
如果在目标这一栏填写这个却连不上虚拟机,可能是跟WinDbg版本有关
较早的版本得使用windbg -k com:port=\.\pipe\com_1,pipe命令
然后记得要以管理员权限运行
然后进入虚拟机(我用的是win7),以管理员权限打开cmd
1.设置端口1,命令如下
bcdedit /dbgsettings serial baudrate:115200 debugport:1
2.复制一个开机选项,命名为“DebugEntry”,可任意命名。命令如下:
bcdedit /copy {current} /d DebugEntry
3.增加一个开机引导项
bcdedit /displayorder {current} {ID}
这个ID要填写上一条命令生成的一串数字或字母
4.激活debug
bcdedit /debug {ID} ON
做驱动调试的时候,首先保证驱动已经经过签名,若没有签名,记得关闭系统的驱动强制签名这个功能。
调试驱动的时候,用sxe example.sys对驱动下断点,然后使用驱动加载工具启动对应驱动即可
IDA调试驱动
IDA调试驱动的基本配置与WinDbg类似,这里讲讲IDA的配置即可
首先打开debugger option,点击红圈位置
然后勾选按照下图
打开Process option,最后一栏填上
com:port=\.\pipe\com_1,baud=115200,pipe
然后修改ida文件cfg目录下的ida.cfg的DBGTOOLS项为WinDbg的绝对路径即可
ida配置好上述之后就可以attach了,只不过调试的方法是按照ida的方法进行而不是WinDbg
后记
以前也配过,踩了很多的坑。。这次终于算是弄好了