看流星社区

 找回密码
 注册账号
查看: 3092|回复: 0

IDA 6.1调试驱动

[复制链接]

该用户从未签到

发表于 2017-6-1 17:26:09 | 显示全部楼层 |阅读模式
今天在测试的时候发现IDA 5.5可以启动windbg调试器,而IDA 6.0却无法启动windbg调试器。大体看了一下可能是由于搜索路径造成的,重新将windbg安装到program files下之后问题就结局了。

网上也有关于用IDA调试驱动的文章,这里只是再整理一下,用IDA载入驱动分析完成之后选择调试器为Windbg debugger,如图1所示:



图1

然后执行菜单中的Debugger->Debugger options打开如图2所示的设置窗口。



图2

点击Set specific options打开特殊选项窗口,如图3所示:



图3

将最上方的默认user mode修改为Kernel mode debugging 或者kernel mode debugging with reconnect and initial break,至于两个选项的区别读者可以自行测试一下,这里就不说废话了,按照字面意思理解即可。设置完成后关闭设置窗口,然后执行菜单中的Debugger->Process options打开进程选项设置窗口,在Connet string中输入要连接的字符串,也就是com接口的名称,这里是com:port=\\.\pipe\com_1,baud=115200,pipe,如图4所示。



图4

设置完成后关闭设置窗口,执行菜单中的Debugger->Attach Process,打开进程附加窗口,如图05所示。



图5

附加之后等待符号库加载完就可以进行调试了。调试器挂在之后如果没有意外会中断在第一个int3断点,如图6所示。



图6

现在就可以对驱动进行设置断点和调试了,效果如图7所示:



图7

在调试之前为了使程序的断点能够中断需要修正Process options选项中的部分参数,如图8所示。



图8

需要将Application修改为程序在远程目标机器上的路径,另外Directory同样需要修改为远程系统的目录。否则在调试的过程中如果设置断点将会询问本地文件与远程文件是否一样,并且设置的断点将无法触发。

如果使用IDA 5.5 设置方法是类似的,与上一篇文章《IDA调试内核》http://www.h4ck.org.cn/2011/05/kernel-debugging-with-ida-pro/不同的是本文的调试没有使用第三方的工具,并且实现方法也比较简单。如果调试没有源码的驱动用IDA应该会更直观一些吧,如果有源码的话还是使用Windbg更好一些。



注意:

需要注意的是前提已经配置好了Windbg的远程调试,否则使用IDA是无法连接虚拟机进行调试的,设置方法可以参考下面的连接:

Windows 7:http://www.h4ck.org.cn/2010/11/win7-remote-debug-via-windbg/

Windows XP:http://www.h4ck.org.cn/2009/09/driverdevelop1/

猛击此处下载pdf版!


原创文章,转载请注明:转载自火星信息安全研究院
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-19 12:41

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表