新闻资讯
看你所看,想你所想

IDAPro权威指南

《I来自DA Pro权威指南》是2010年3月1日人民邮电出版社出版的图书,作者是伊格尔(Chris Eagle)。

  • 书名 《IDA Pro权威指南》
  • 作者 伊格尔(Chris Eagle)
  • 译者 石华耀、段桂菊
  • 出版社 人民邮电出版社
  • 出版时间 2010年3月1日

容简介

  《IDA Pro权威指南》内容简介:IDA Pro(交互式反汇编器专业版)是应用最广泛的静态反汇编工具,在IT来自领域有着举足轻重的地位,但其文档资料一直都不够完善。在IDA Pr0创建者Ilfa360百科k的协助下问世的这《IDA Pro权威指南》,完美地弥补了这一缺憾。C卜¨1s的理论被业界公认为是权威且令人信服的。而他的模拟器也是公开发布的IDA插件中最棒的一款。

  《IDA Pro权威指南》首艺权落错传固心析先描述反汇编理论、逆向额改女工程的基本信息}111DA Pro的背景知识,然后系统地介绍IDA的基本布局和功能、复杂数据结构的处理、交叉引用与绘图功能,以及如何在非Wiridows平台上运行IDA。书中由浅入深地介绍了IDA的配置、F LlRT技术、IDA类型库的扩展以及一些IDA限制。难得的是。《IDA Pro权威指南》还探讨了IDA的可扩展性。涉及IDA脚本、SDK、插件、加载器模块和处理器模块。最后阐述了IDA在逆向工程中的实际用法,讨论了各种编译器的区别、模糊代码分析和漏洞气举慢部跑酒分析、IDA插件以及ID零标笑误任燃A调试器。

图书目严握命

  第一部分 IDA简介

  第1章 反汇编简介 2

  1.1 反汇编理论 2

  1.2 何为反汇编 3

  1.3 为何反汇编 3

  1.3.1 分析恶意软件 4

  1.3.2 漏洞分析 4

  1.3.3 软件互操作性 4

  1.3当足背功.4 编译器验证 4

  1.3掉香宁地洲.5 显示调试信息 5

  1.4 如手为庆武苦何反汇编 5

  1.4.排语注1 基本的反汇编算法 5

  1.4.2 线性扫描反汇编 6

 块卫苦固少安史友少材 1.4.3 递归下降反汇编 7

  1.亮愿批5 小结 10

  第2章 逆相庆向与反汇编工具 11

  2.1 分类工具 11

  2.1.1 file 11

  2.1.2 PE Tool杀座历反觉s 13

  2.1.3 PEiD 14

  2.2 摘要工具 14

  2.2.1 nm 15

  2.2.2 ldd 16

  2.2.3 objdump 17

  2.2.4 otool 18

  2.2.5 dumpbin 18

  2.2.6 c++filt 19

  2.3 深度检测工具 20

  2.3.1 strings 20

  2.3.2 反汇编器 21

  2.4 小结 22

  第3章 IDA Pro背景知识 23

  3.1 Hex-Rays公司的反盗版策略 23

  3.2 获取IDA Pro 24

  3.2.1 IDA版本 24

  3.2.2 IDA许可证 24

  3.2.3 购买IDA 25

  3.2.4 升级IDA 25

  3.3 IDA支持资源 25

  3.4 安装IDA 26

  3.4.1 Windows安装 26

  3.4.2 OS X和Linux安装 27

  3.4.3 IDA目录的结构 28

  3.5 IDA用户界面 29

  3.6 小结 29

  第二部分 IDA基本用法

  第4章 IDA入门 32

  4.1 启动IDA 32

  4.1.1 IDA文件加载 34

  4.1.2 使用二进制文件加载器 35

  4.2 IDA数据库文件 37

  4.2.1 创建IDA数据库 38

  4.2.2 关闭IDA数据库 38

  4.2.3 重新打开数据库 39

  4.3 IDA桌面简介 40

  4.4 初始分析时的桌面行为 42

  4.5 IDA桌面提示和技巧 43

  4.6 报告bug 44

  4.7 小结 44

  第5章 IDA数据显示窗口 45

  5.1 IDA主要的数据显示窗口 45

  5.1.1 反汇编窗口 45

  5.1.2 Names窗口 50

  5.1.3 消息窗口 51

  5.1.4 Strings窗口 52

  5.2 次要的IDA显示窗口 53

  5.2.1 十六进制窗口 53

  5.2.2 导出窗口 54

  5.2.3 导入窗口 54

  5.2.4 函数窗口 55

  5.2.5 结构体窗口 55

  5.2.6 枚举窗口 56

  5.3 其他IDA显示窗口 56

  5.3.1 段窗口 56

  5.3.2 签名窗口 57

  5.3.3 类型库窗口 58

  5.3.4 函数调用窗口 58

  5.3.5 问题窗口 59

  5.4 小结 59

  第6章 反汇编导航 60

  6.1 基本IDA导航 60

  6.1.1 双击导航 60

  6.1.2 跳转到地址 62

  6.1.3 导航历史记录 62

  6.2 栈帧 63

  6.2.1 调用约定 64

  6.2.2 局部变量布局 67

  6.2.3 栈帧示例 67

  6.2.4 IDA栈视图 70

  6.3 搜索数据库 74

  6.3.1 文本搜索 75

  6.3.2 二进制搜索 75

  6.4 小结 76

  第7章 反汇编操作 77

  7.1 名称与命名 77

  7.1.1 参数和局部变量 77

  7.1.2 已命名的位置 79

  7.1.3 寄存器名称 80

  7.2 IDA中的注释 80

  7.2.1 常规注释 82

  7.2.2 可重复注释 82

  7.2.3 在前注释和在后注释 82

  7.2.4 函数注释 82

  7.3 基本代码转换 83

  7.3.1 代码显示选项 83

  7.3.2 格式化指令操作数 85

  7.3.3 操纵函数 86

  7.3.4 数据与代码互相转换 91

  7.4 基本数据转换 91

  7.4.1 指定数据大小 92

  7.4.2 处理字符串 93

  7.4.3 指定数组 94

  7.5 小结 96

  第8章 数据类型与数据结构 97

  8.1 识别数据结构的使用 98

  8.1.1 数组成员访问 98

  8.1.2 结构体成员访问 102

  8.2 创建IDA结构体 107

  8.3 使用结构体模板 111

  8.4 导入新的结构体 114

  8.4.1 解析C结构体声明 114

  8.4.2 解析C头文件 115

  8.5 使用标准结构体 115

  8.6 IDA TIL文件 118

  8.6.1 加载新的TIL文件 118

  8.6.2 共享TIL文件 118

  8.7 C++逆向工程基础 119

  8.7.1 this指针 119

  8.7.2 虚函数和虚表 120

  8.7.3 对象生命周期 122

  8.7.4 名称改编 124

  8.7.5 运行时类型识别 125

  8.7.6 继承关系 126

  8.7.7 C++逆向工程参考文献 127

  8.8 小结 127

  第9章 交叉引用与绘图功能 128

  9.1 交叉引用 128

  9.1.1 代码交叉引用 129

  9.1.2 数据交叉引用 131

  9.1.3 交叉引用列表 133

  9.1.4 函数调用 134

  9.2 IDA绘图 135

  9.2.1 IDA的遗留绘图功能 135

  9.2.2 IDA的集成图形视图 141

  9.3 小结 143

  第10章 IDA的多种面孔 144

  10.1 控制台模式IDA 144

  10.1.1 控制台模式的共同特性 144

  10.1.2 Windows控制台 145

  10.1.3 Linux控制台 146

  10.1.4 OS X控制台 148

  10.2 使用IDA的批量模式 150

  10.3 非Windows平台上的GUI IDA 151

  10.4 小结 152

  第三部分 IDA高级应用

  第11章 定制IDA 154

  11.1 配置文件 154

  11.1.1 主配置文件:ida.cfg 154

  11.1.2 GUI配置文件:idagui.cfg 155

  11.1.3 控制台配置文件:idatui.cfg 157

  11.2 其他IDA配置选项 158

  11.2.1 IDA颜色 159

  11.2.2 定制IDA工具栏 159

  11.3 小结 161

  第12章 使用FLIRT签名来识别库 162

  12.1 快速库识别和鉴定技术 162

  12.2 应用FLIRT签名 163

  12.3 创建FLIRT签名文件 166

  12.3.1 创建签名概述 166

  12.3.2 识别和获取静态库 167

  12.3.3 创建模式文件 168

  12.3.4 创建签名文件 169

  12.3.5 启动签名 171

  12.4 小结 172

  第13章 扩展IDA的知识 173

  13.1 扩充函数信息 173

  13.1.1 IDS文件 175

  13.1.2 创建IDS文件 176

  13.2 使用loadint扩充预定义注释 178

  13.3 小结 179

  第14章 修补二进制文件及其他IDA 限制 180

  14.1 隐藏的补丁程序菜单 180

  14.1.1 更改数据库字节 181

  14.1.2 更改数据库中的字 181

  14.1.3 使用"汇编"对话框 182

  14.2 IDA输出文件与补丁生成 183

  14.2.1 IDA生成的MAP文件 183

  14.2.2 IDA生成的ASM文件 184

  14.2.3 IDA生成的INC文件 184

  14.2.4 IDA生成的LST文件 185

  14.2.5 IDA生成的EXE文件 185

  14.2.6 IDA生成的DIF文件 185

  14.2.7 IDA生成的HTML文件 186

  14.3 小结 186

  第四部分 扩展IDA的功能

  第15章 编写IDC脚本 188

  15.1 执行脚本的基础知识 188

  15.2 IDC语言 189

  15.2.1 IDC变量 190

  15.2.2 IDC表达式 190

  15.2.3 IDC语句 190

  15.2.4 IDC函数 191

  15.2.5 IDC程序 192

  15.2.6 IDC错误处理 192

  15.2.7 IDC永久数据存储 193

  15.3 关联IDC脚本与热键 194

  15.4 有用的IDC函数 195

  15.4.1 读取和修改数据的函数 196

  15.4.2 用户交互函数 196

  15.4.3 字符串操纵函数 197

  15.4.4 文件输入/输出函数 197

  15.4.5 操纵数据库名称 198

  15.4.6 处理函数的函数 199

  15.4.7 代码交叉引用函数 199

  15.4.8 数据交叉引用函数 200

  15.4.9 数据库操纵函数 200

  15.4.10 数据库搜索函数 201

  15.4.11 反汇编行组件 201

  15.5 IDC脚本示例 202

  15.5.1 枚举函数 202

  15.5.2 枚举指令 202

  15.5.3 枚举交叉引用 203

  15.5.4 枚举导出的函数 205

  15.5.5 查找和标记函数参数 206

  15.5.6 模拟汇编语言行为 208

  15.6 小结 209

  第16章 IDA软件开发工具包 211

  16.1 SDK简介 212

  16.1.1 安装SDK 212

  16.1.2 SDK的布局 212

  16.1.3 配置构建环境 213

  16.2 IDA应用编程接口 214

  16.2.1 头文件概述 214

  16.2.2 网络节点 217

  16.2.3 有用的SDK数据类型 223

  16.2.4 常用的SDK函数 224

  16.2.5 IDA API迭代技巧 229

  16.3 小结 232

  第17章 IDA插件体系结构 233

  17.1 编写插件 233

  17.1.1 插件生命周期 235

  17.1.2 插件初始化 236

  17.1.3 事件通知 237

  17.1.4 插件执行 238

  17.2 构建插件 239

  17.3 插件安装 243

  17.4 插件配置 244

  17.5 扩展IDC 244

  17.6 插件用户界面选项 247

  17.7 小结 254

  第18章 二进制文件与IDA加载器模块 255

  18.1 未知文件分析 256

  18.2 手动加载一个Windows PE文件 256

  18.3 IDA加载器模块 263

  18.4 编写IDA加载器 263

  18.4.1 "傻瓜式"加载器 265

  18.4.2 构建IDA加载器模块 269

  18.4.3 IDA pcap加载器 269

  18.5 其他加载器策略 274

  18.6 小结 275

  第19章 IDA处理器模块 276

  19.1 Python字节码 277

  19.2 Python解释器 277

  19.3 编写处理器模块 277

  19.3.1 processor_t结构体 278

  19.3.2 LPH结构体的基本初始化 278

  19.3.3 分析器 282

  19.3.4 模拟器 286

  19.3.5 输出器 288

  19.3.6 处理器通知 293

  19.3.7 其他processor_t成员 294

  19.4 构建处理器模块 296

  19.5 定制现有的处理器 299

  19.6 处理器模块体系结构 301

  19.7 小结 302

  第五部分 实际应用

  第20章 编译器变体 304

  20.1 跳转表与分支语句 304

  20.2 RTTI实现 308

  20.3 定位main函数 308

  20.4 调试版与发行版二进制文件 315

  20.5 其他调用约定 317

  20.6 小结 317

  第21章 模糊代码分析 319

  21.1 反静态分析技巧 319

  21.1.1 反汇编去同步 319

  21.1.2 动态计算目标地址 322

  21.1.3 导入的函数模糊 327

  21.1.4 有针对性地攻击分析工具 331

  21.2 反动态分析技巧 331

  21.2.1 检测虚拟化 331

  21.2.2 检测"检测工具" 333

  21.2.3 检测调试器 333

  21.2.4 防止调试 334

  21.3 使用IDA对二进制文件进行"静态去模糊" 335

  21.3.1 面向脚本的去模糊 335

  21.3.2 面向模拟的去模糊 339

  21.4 小结 349

  第22章 漏洞分析 350

  22.1 使用IDA发现新的漏洞 351

  22.2 使用IDA在事后发现漏洞 356

  22.3 IDA与破解程序开发过程 359

  22.3.1 栈帧细目 360

  22.3.2 定位指令序列 362

  22.3.3 查找有用的虚拟地址 363

  22.4 分析shellcode 364

  22.5 小结 366

  第23章 实用IDA插件 367

  23.1 Hex-Rays 367

  23.2 IDAPython 368

  23.3 IDARub 371

  23.4 IDA Sync 371

  23.5 collabREate 374

  23.6 ida-x86emu 377

  23.7 mIDA 377

  23.8 小结 379

  第六部分 IDA调试器

  第24章 IDA调试器 382

  24.1 启动调试器 382

  24.2 调试器的基本显示 384

  24.3 进程控制 387

  24.3.1 断点 388

  24.3.2 跟踪 390

  24.3.3 栈跟踪 393

  24.3.4 监视 393

  24.4 调试器任务自动化 393

  24.4.1 使用IDC为调试器操作编写 脚本 394

  24.4.2 使用IDA插件实现调试器操 作自动化 398

  24.5 小结 400

  第25章 反汇编器/调试器集成 401

  25.1 背景知识 401

  25.2 IDA数据库与IDA调试器 402

  25.3 调试模糊代码 404

  25.3.1 简单的解密和解压循环 404

  25.3.2 导入表重建 407

  25.3.3 隐藏调试器 410

  25.3.4 处理异常 414

  25.4 小结 418

  第26章 Linux、OS X平台的IDA和 远程调试 419

  26.1 控制台模式的调试 419

  26.2 使用IDA进行远程调试 420

  26.2.1 远程调试中的异常处理 422

  26.2.2 在远程调试中使用脚本和 插件 423

  26.3 小结 423

  附录A 使用IDA 4.9免费版 424

  附录B IDC/SDK交叉引用 426

  附录C IDA 5.3的新功能 444

作者简

  Chris E来自agIe,美国海军研究生院计算机系副主任、高360百科级讲师,著有Gray,4at Hack三士盐住克家结草ing,在多种全球性安全会议中发表过演讲。

媒体推荐

  "它是迄今为止最全面、最准确、最棒的IDA Pro图书。"

  --Pierre Vandevenne,DataRescue公司的所有人和CEO

  "我家里有好几本IDA Pro方面的图书,但当我遇到Chris Eagle的这本佳作时,如获至宝,其他所有书都可以抛弃了。"

  --Am节目过独承个azon读者评论

编辑推荐

  《IDA Pro权威指南》:IDA Pro发行者亲自作序推荐,Amazon全五星畅销图书,引领你步入IDA Pro和逆向工程的殿堂 。

转载请注明出处安可林文章网 » IDAPro权威指南

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com