第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 不仅使用数据类型信息,而且通过派生的变量和函数名称来尽其所能地注释生成的反汇编代码。这些注释将原始十六进制代码的数量减到最少,并显著增加了向用户提供的符号化信息的数量。

目录

  • 版权声明
  • 献词
  • 对上一版的赞誉
  • 致谢
  • 前言
  • 第一部分 IDA简介
  • 第1章 反汇编简介
  • 第2章 逆向与反汇编工具
  • 第3章 IDA Pro 背景知识
  • 3.1 Hex-Rays公司的反盗版策略
  • 3.2 获取IDA Pro
  • 3.3 IDA 支持资源
  • 3.4 安装IDA
  • 3.5 IDA 用户界面
  • 3.6 小结
  • 第二部分 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交叉引用