返回介绍

23.4 ida-x86emu

发布于 2024-10-11 21:05:50 字数 1146 浏览 0 评论 0 收藏 0

逆向工程二进制文件往往需要手动跟踪代码,以了解函数的行为。因此,你需要全面了解你所分析的指令集,并拥有一份便捷的参考资料,以便在遇到不熟悉的指令时作为参考。这时,指令模拟器是一个有用的工具,可以帮助你跟踪在执行一系列指令的过程中,注册表和 CPU 状态的变化情况。我们在第 21 章详细讨论的 ida-x86emu 插件(如表 23-4 所示)就是这样一个模拟器。

表 23-4 ida-x86emu 插件

名称ida-x86emu
作者Chris Eagle
发布源代码(适用于 SDK v6)和二进制(适用于 IDA5.0 之后的所有版本,包括 IDA 免费版本)。源代码格式向后兼容到 SDK 4.9
价格免费
描述IDA 的嵌入式 x86 指令模拟器
信息http://www.idabook.com/ida-x86emu/

这个插件以源代码的方式发布,并且与 IDA SDK 4.6 及更高版本兼容。同时,该插件还自带构建脚本和项目文件,以便于在构建过程中使用 Windows 平台上的 MinGW 工具或微软 Visual Studio 和非 Windows 平台上的 g++ 。该插件的发行版提供一个供 IDA 免费版使用的预编译二进制版本。ida-x86emu 能够与所有基于 Qt 的 IDA 版本兼容,但是在 IDA 6.0 之前,该插件仅与 IDA 的 Windows GUI 版本兼容。

该插件在开发过程中考虑到了自修改代码,它从当前 IDA 数据库中读取指令字节,解码这些指令并执行相关的操作。相关操作包括更新模拟器的内部注册变量,遇到自修改代码时回写(back write)数据库。该插件通过分配新的 IDA 段并进行适当的读取和写入,执行一个模拟的堆和栈。有关使用 ida-x86emu 插件的详细信息,请参阅第 21 章。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文