- 献词
- 致谢
- 前言
- 第一部分 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 交叉引用
第 3 章 IDA Pro 背景知识
交互式反汇编器专业版(Interactive Disassembler Professional),人们常称为 IDA Pro,或简称为 IDA ,是总部位于比利时列日市(Liège)的 Hex-Rays1 公司销售的一款产品。开发 IDA 的编程天才名叫 Ilfak Guilfanov,人们常叫他 Ilfak 。十多年前诞生时,IDA 还是一个基于控制台的 MS-DOS 应用程序,这一点很重要,因为它有助于我们理解 IDA 用户界面的本质。除其他内容外,IDA 的非 GUI 版本是针对所有 IDA 支持的平台2 发布的,并且继续采用源于最初 DOS 版本的控制台形式的界面。
1. 多年来,IDA 一直由 DataRescue 公司销售。但自 2008 年 1 月,Ilfak 开始通过他自己的公司 Hex-Rays 推广和销售 IDA 。
2. 目前支持的平台是 Windows、Linnux 和 OSX 。
就其本质而言,IDA 是一种递归下降反汇编器。但是,为了提高递归下降过程的效率,IDA 的开发者付出了巨大的努力,来为这个过程开发逻辑。为了克服递归下降的一个最大的缺点,IDA 应用大量启发式技术来识别那些在递归下降过程中遗漏的代码。除反汇编过程本身外,IDA 在区分数据与代码的同时,还设法确定这些数据的类型。虽然你在 IDA 中看到的是汇编语言形式的代码,但 IDA 的主要目标之一在于,呈现尽可能接近源代码的代码。此外,IDA 不仅使用数据类型信息,而且通过派生的变量和函数名称来尽其所能地注释生成的反汇编代码。这些注释将原始十六进制代码的数量减到最少,并显著增加了向用户提供的符号化信息的数量。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论