- 献词
- 致谢
- 前言
- 第一部分 IDA 简介
- 第 1 章 反汇编简介
- 第 2 章 逆向与反汇编工具
- 第 3 章 IDA Pro 背景知识
- 第二部分 IDA 基本用法
- 第 4 章 IDA 入门
- 第 5 章 IDA 数据显示窗口
- 第 6 章 反汇编导航
- 第 7 章 反汇编操作
- 第 8 章 数据类型与数据结构
- 第 9 章 交叉引用与绘图功能
- 第 10 章 IDA 的多种面孔
- 第三部分 IDA 高级应用
- 第 11 章 定制 IDA
- 第 12 章 使用 FLIRT 签名来识别库
- 第 13 章 扩展 IDA 的知识
- 第 14 章 修补二进制文件及其他 IDA 限制
- 第四部分 扩展 IDA 的功能
- 第 15 章 编写 IDA 脚本
- 第 16 章 IDA 软件开发工具包
- 第 17 章 IDA 插件体系结构
- 第 18 章 二进制文件与 IDA 加载器模块
- 第 19 章 IDA 处理器模块
- 第五部分 实际应用
- 第 20 章 编译器变体
- 第 21 章 模糊代码分析
- 第 22 章 漏洞分析
- 第 23 章 实用 IDA 插件
- 第六部分 IDA 调试器
- 第 24 章 IDA 调试器
- 第 25 章 反汇编器/ 调试器集成
- 第 26 章 其他调试功能
- 附录 A 使用 IDA 免费版本 5.0
- 附录 B IDC/SDK 交叉引用
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
23.4 ida-x86emu
逆向工程二进制文件往往需要手动跟踪代码,以了解函数的行为。因此,你需要全面了解你所分析的指令集,并拥有一份便捷的参考资料,以便在遇到不熟悉的指令时作为参考。这时,指令模拟器是一个有用的工具,可以帮助你跟踪在执行一系列指令的过程中,注册表和 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论