前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IDA调试Windows 内核

IDA调试Windows 内核

作者头像
obaby
发布2023-02-24 10:24:20
1.2K0
发布2023-02-24 10:24:20
举报
文章被收录于专栏:obaby@mars

以前总想知道IDA是否能够实现内核调试,后来找了一段时间没什么结果就暂时放弃了。今天在国外的一个博客上偶然看到了用IDA实现内核调试的方法。

其实现在国内也有很多文章介绍了IDA通过串口进行调试的文章,如果大家想看的话可以搜索下。

这里只是参考远远吧实现的方法大体的用中文表述了一下。在调试之前需要安装如下的软件:

  1. IDA PRO这个我想大家都应该有了;
  2. Windbg如果调试过驱动或者系统内核的话这个东西也应该有了;
  3. VirtualKd 这个东西我想大家如果没有做过使用IDA调试内核的话这个东西应该是还没有。

安装VirtualKD

首先从官方网站上下载VirtualKd。将程序解压到任意目录下,将程序目录下的Target文件夹拷贝到虚拟机系统中运行(如果是VirtualBox则安装比较麻烦),运行之后将会出现如下的界面:

点击Install之后将会在系统的启动菜单中创建一个新的启动项,如下图所示:

如果使用设置Windbg调试器的方法来设置pipe在使用IDA调试的时候是无法正常连接调试器的(话说这个东西我测试了好久,囧)。

另外如果不使用上面的工具进行安装设置启动项的话可以手工设置,不过过程比较繁琐:

1)  拷贝kdvm.dll到你的客户机系统的system32目录下,在这个目录下应该可以找到KDCOM.DLL 和KD1394.DLL文件;

2)  打开并且编辑boot.ini文件添加一项新的启动项如下:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /noexecute=optin /fastdetect /DEBUG /DEBUGPORT=VM

如果是windows  vista或者win7 则需要手工执行bcdedit命令来激活kdvm.dll

bcdedit /set dbgtransport kdvm.dl

3)  重新启动虚拟机并且运行vmmon.exe进行监视。(这一步与自动安装是相同的)

Vmmon运行界面如下所示:

程序列出了当前运行中(其实有的是已经结束了)的虚拟机的状态,这里需要记住需要调试的虚拟机的pipe name.,在这里是kd_Windows_xp。

设置IDA/Windbg

运行IDA不要选择任何输入数据库,执行菜单中的Debugger/Attach/Windbg debugger,如下图所示:

打开如下图所示的设置窗口:

在Connection string中输入管道的名称com:port=\.\pipe\kd_Windows_xp,pipe,这里需要将kd_Windows_xp修改为你的虚拟机对应的名称。

设置完成之后点击Debug Options打开选项窗口,如下图所示:

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

输入Debugging tools folder(调试器路径),并且勾选下面的Kernel mode debugging(内核调试模式)然后确定即可。

关闭所有的设置窗口之后将会打开如下图所示的附加进程列表:

此时只有一个进程id为0的进程,选择这个进程ok之后就可以进行内核的调试了。不过这个进程的附加会异常的痛苦,尤其是下载符号库的时候,并且将进程挂起的时候可能会让ida假死掉,因而可以多等待一会儿,直到所有的符号库下载并且识别之后就可以真正的中断在系统的int3断点上了(这个过程简直是一种折磨啊)。

挂载之后就是上面的效果,看起来还是不错的。

猛击此处下载此文的pdf版本!

☆文章版权声明☆

* 网站名称:obaby@mars

* 网址:https://h4ck.org.cn/

* 本文标题: 《IDA调试Windows 内核》

* 本文链接:https://cloud.tencent.com/developer/article/2223542

* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


分享文章:

相关文章:

  1. Syser Kernel Debugger v1.99.1900.1201
  2. 驱动开发学习笔记(1)-调试环境调试器设置【WinDbg】
  3. PEBrowseDbg64 Interactive v2.9.0
  4. IDA 6.0设置WinDbg调试器路径
  5. Two 64bit Debuggers
  6. Hide Debugger for Immunity Debugger v1.8x
  7. Syser Kernel Debugger v1.99.1900.1185 KeyGen
  8. IDA 6.1调试驱动
  9. 使用VMWare GDB和IDA调试Windows内核
  10. Syser Kernel Debugger v1.99.1900.1217
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011年5月5日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 相关文章:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档