IDA Pro权威指南PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:(美)伊格尔著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2012
- ISBN:9787115273680
- 页数:493 页
第一部分 IDA简介 2
第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 Tools 13
2.1.3 PEiD 14
2.2摘要工具 14
2.2.1 nm 15
2.2.2 ldd 16
2.2.3 objdump 18
2.2.4 otool 18
2.2.5 dumpbin 19
2.2.6 c++filt 19
2.3深度检测工具 20
2.3.1 strings 20
2.3.2反汇编器 22
2.4小结 23
第3章 IDA Pro背景知识 24
3.1 Hex-Rays公司的反盗版策略 24
3.2获取IDA Pro 25
3.2.1 IDA版本 25
3.2.2 IDA许可证 25
3.2.3购买IDA 26
3.2.4升级IDA 26
3.3 IDA支持资源 26
3.4安装IDA 27
3.4.1 Windows安装 28
3.4.2 OS X和Linux安装 28
3.4.3 IDA与SELinux 29
3.4.4 32位IDA与64位IDA 29
3.4.5 IDA目录的结构 30
3.5 IDA用户界面 30
3.6小结 31
第二部分 IDA基本用法 34
第4章 IDA入门 34
4.1启动IDA 34
4.1.1 IDA文件加载 35
4.1.2使用二进制文件加载器 37
4.2 IDA数据库文件 38
4.2.1创建IDA数据库 39
4.2.2关闭IDA数据库 40
4.2.3重新打开数据库 41
4.3 IDA桌面简介 42
4.4初始分析时的桌面行为 44
4.5 IDA桌面提示和技巧 45
4.6报告bug 45
4.7小结 46
第5章 IDA数据显示窗口 47
5.1 IDA主要的数据显示窗口 47
5.1.1反汇编窗口 47
5.1.2函数窗口 52
5.1.3输出窗口 52
5.2次要的IDA显示窗口 52
5.2.1十六进制窗口 52
5.2.2导出窗口 53
5.2.3导入窗口 54
5.2.4结构体窗口 54
5.2.5枚举窗口 55
5.3其他IDA显示窗口 55
5.3.1 Strings窗口 55
5.3.2 Names窗口 57
5.3.3段窗口 58
5.3.4签名窗口 58
5.3.5类型库窗口 59
5.3.6函数调用窗口 59
5.3.7问题窗口 60
5.4小结 61
第6章 反汇编导航 62
6.1基本IDA导航 62
6.1.1双击导航 62
6.1.2跳转到地址 64
6.1.3导航历史记录 64
6.2栈帧 65
6.2.1调用约定 66
6.2.2局部变量布局 69
6.2.3栈帧示例 70
6.2.4 IDA栈视图 73
6.3搜索数据库 77
6.3.1文本搜索 77
6.3.2二进制搜索 77
6.4小结 78
第7章 反汇编操作 79
7.1名称与命名 79
7.1.1参数和局部变量 79
7.1.2已命名的位置 80
7.1.3寄存器名称 82
7.2 IDA中的注释 82
7.2.1常规注释 83
7.2.2可重复注释 84
7.2.3在前注释和在后注释 84
7.2.4函数注释 84
7.3基本代码转换 85
7.3.1代码显示选项 85
7.3.2格式化指令操作数 87
7.3.3操纵函数 88
7.3.4数据与代码互相转换 93
7.4基本数据转换 94
7.4.1指定数据大小 94
7.4.2处理字符串 95
7.4.3指定数组 97
7.5小结 99
第8章 数据类型与数据结构 100
8.1识别数据结构的用法 102
8.1.1数组成员访问 102
8.1.2结构体成员访问 107
8.2创建IDA结构体 112
8.2.1创建一个新的结构体(或联合) 112
8.2.2编辑结构体成员 113
8.2.3用栈帧作为专用结构体 115
8.3使用结构体模板 115
8.4导入新的结构体 118
8.4.1解析C结构体声明 118
8.4.2解析C头文件 119
8.5使用标准结构体 120
8.6 IDA TIL文件 123
8.6.1加载新的TIL文件 123
8.6.2共享TIL文件 123
8.7 C++逆向工程基础 124
8.7.1 this指针 124
8.7.2虚函数和虚表 125
8.7.3对象生命周期 128
8.7.4名称改编 129
8.7.5运行时类型识别 130
8.7.6继承关系 131
8.7.7 C++逆向工程参考文献 132
8.8小结 132
第9章 交叉引用与绘图功能 133
9.1交叉引用 133
9.1.1代码交叉引用 134
9.1.2数据交叉引用 136
9.1.3交叉引用列表 138
9.1.4函数调用 139
9.2 IDA绘图 140
9.2.1 IDA外部(第三方)图形 140
9.2.2 IDA的集成绘图视图 147
9.3小结 149
第10章 IDA的多种面孔 150
10.1控制台模式IDA 150
10.1.1控制台模式的共同特性 150
10.1.2 Windows控制台 151
10.1.3 Linux控制台 152
10.1.4 OS X控制台 154
10.2使用IDA的批量模式 156
10.3小结 157
第三部分 IDA高级应用 160
第11章 定制IDA 160
11.1配置文件 160
11.1.1主配置文件:ida.cfg 160
11.1.2 GUI配置文件:idagui.cfg 161
11.1.3控制台配置文件:idatui.cfg 163
11.2其他IDA配置选项 164
11.2.1 IDA颜色 165
11.2.2定制IDA工具栏 165
11.3小结 167
第12章 使用FLIRT签名来识别库 168
12.1快速库识别和鉴定技术 168
12.2应用FLIRT签名 169
12.3创建FLIRT签名文件 172
12.3.1创建签名概述 172
12.3.2识别和获取静态库 173
12.3.3创建模式文件 174
12.3.4创建签名文件 175
12.3.5启动签名 178
12.4小结 178
第13章 扩展IDA的知识 179
13.1扩充函数信息 179
13.1.1 IDS文件 181
13.1.2创建IDS文件 182
13.2使用loadint扩充预定义注释 184
13.3小结 185
第14章 修补二进制文件及其他IDA限制 186
14.1隐藏的补丁程序菜单 186
14.1.1更改数据库字节 187
14.1.2更改数据库中的字 187
14.1.3使用汇编对话框 188
14.2 IDA输出文件与补丁生成 189
14.2.1 IDA生成的MAP文件 189
14.2.2 IDA生成的ASM文件 190
14.2.3 IDA生成的INC文件 191
14.2.4 IDA生成的LST文件 191
14.2.5 IDA生成的EXE文件 191
14.2.6 IDA生成的DIF文件 191
14.2.7 IDA生成的HTML文件 192
14.3小结 192
第四部分 扩展IDA的功能 194
第15章 编写IDA脚本 194
15.1执行脚本的基础知识 194
15.2 IDC语言 196
15.2.1 IDC变量 196
15.2.2 IDC表达式 197
15.2.3 IDC语句 197
15.2.4 IDC函数 198
15.2.5 IDC对象 200
15.2.6 IDC程序 200
15.2.7 IDC错误处理 201
15.2.8 IDC永久数据存储 202
15.3关联IDC脚本与热键 203
15.4有用的IDC函数 204
15.4.1读取和修改数据的函数 204
15.4.2用户交互函数 205
15.4.3字符串操纵函数 206
15.4.4文件输入/输出函数 206
15.4.5操纵数据库名称 207
15.4.6处理函数的函数 207
15.4.7代码交叉引用函数 208
15.4.8数据交叉引用函数 209
15.4.9数据库操纵函数 209
15.4.10数据库搜索函数 210
15.4.11反汇编行组件 210
15.5 IDC脚本示例 211
15.5.1枚举函数 211
15.5.2枚举指令 212
15.5.3枚举交叉引用 212
15.5.4枚举导出的函数 214
15.5.5查找和标记函数参数 215
15.5.6模拟汇编语言行为 217
15.6 IDAPython 219
15.7 IDAPython脚本示例 220
15.7.1枚举函数 220
15.7.2枚举指令 221
15.7.3枚举交叉引用 222
15.7.4枚举导出的函数 222
15.8小结 223
第16章 IDA软件开发工具包 224
16.1 SDK简介 225
16.1.1安装SDK 225
16.1.2 SDK的布局 225
16.1.3配置构建环境 226
16.2 IDA应用编程接口 227
16.2.1头文件概述 228
16.2.2网络节点 230
16.2.3有用的SDK数据类型 237
16.2.4常用的SDK函数 238
16.2.5 IDA API迭代技巧 242
16.3小结 246
第17章 IDA插件体系结构 247
17.1编写插件 247
17.1.1插件生命周期 249
17.1.2插件初始化 250
17.1.3事件通知 251
17.1.4插件执行 252
17.2构建插件 254
17.3插件安装 258
17.4插件配置 259
17.5扩展IDC 259
17.6插件用户界面选项 262
17.6.1使用SDK的“选择器”对话框 262
17.6.2使用SDK创建自定义表单 265
17.6.3仅用于Windows的用户界面生成技巧 269
17.6.4使用Qt生成用户界面 269
17.7脚本化插件 271
17.8小结 272
第18章 二进制文件与IDA加载器模块 273
18.1未知文件分析 274
18.2手动加载一个Windows PE文件 275
18.3 IDA加载器模块 281
18.4使用SDK编写IDA加载器 282
18.4.1“傻瓜式”加载器 284
18.4.2构建IDA加载器模块 288
18.4.3 IDA pcap加载器 288
18.5其他加载器策略 294
18.6编写脚本化加载器 294
18.7小结 296
第19章 IDA处理器模块 297
19.1 Python字节码 298
19.2 Python解释器 298
19.3使用SDK编写处理器模块 299
19.3.1 processor_t结构体 299
19.3.2 LPH结构体的基本初始化 300
19.3.3分析器 303
19.3.4模拟器 308
19.3.5输出器 310
19.3.6处理器通知 315
19.3.7其他processor_t成员 316
19.4构建处理器模块 318
19.5定制现有的处理器 322
19.6处理器模块体系结构 324
19.7编写处理器模块 325
19.8小结 326
第五部分 实际应用 328
第20章 编译器变体 328
20.1跳转表与分支语句 328
20.2 RTTI实现 332
20.3定位main函数 332
20.4调试版与发行版二进制文件 339
20.5其他调用约定 341
20.6小结 342
第21章 模糊代码分析 344
21.1反静态分析技巧 344
21.1.1反汇编去同步 344
21.1.2动态计算目标地址 347
21.1.3导入的函数模糊 353
21.1.4有针对性地攻击分析工具 356
21.2反动态分析技巧 357
21.2.1检测虚拟化 357
21.2.2检测“检测工具” 358
21.2.3检测调试器 359
21.2.4防止调试 360
21.3使用IDA对二进制文件进行“静态去模糊” 361
21.3.1面向脚本的去模糊 361
21.3.2面向模拟的去模糊 366
21.4基于虚拟机的模糊 375
21.5小结 377
第22章 漏洞分析 378
22.1使用IDA发现新的漏洞 379
22.2使用IDA在事后发现漏洞 384
22.3 IDA与破解程序开发过程 388
22.3.1栈帧细目 389
22.3.2定位指令序列 392
22.3.3查找有用的虚拟地址 394
22.4分析shellcode 395
22.5小结 397
第23章 实用IDA插件 398
23.1 Hex-Rays 398
23.2 IDAPython 401
23.3 collabREate 402
23.4 ida-x86emu 404
23.5 Class Informer 404
23.6 MyNav 406
23.7 IdaPdf 407
23.8小结 408
第六部分 IDA调试器 410
第24章 IDA调试器 410
24.1启动调试器 410
24.2调试器的基本显示 414
24.3进程控制 416
24.3.1断点 417
24.3.2跟踪 420
24.3.3栈跟踪 422
24.3.4监视 423
24.4调试器任务自动化 423
24.4.1为调试器操作编写脚本 424
24.4.2使用IDA插件实现调试器操作自动化 428
24.5小结 430
第25章 反汇编器/调试器集成 431
25.1背景知识 431
25.2 IDA数据库与IDA调试器 432
25.3调试模糊代码 434
25.3.1启动进程 435
25.3.2简单的解密和解压循环 436
25.3.3导入表重建 439
25.3.4隐藏调试器 443
25.4 IDAStealth 448
25.5处理异常 449
25.6小结 454
第26章 其他调试功能 455
26.1使用IDA进行远程调试 455
26.1.1使用Hex-Rays调试服务器 455
26.1.2连接到远程进程 458
26.1.3远程调试期间的异常处理 458
26.1.4在远程调试过程中使用脚本和插件 458
26.2使用Bochs进行调试 459
26.2.1 Bochs IDB模式 459
26.2.2 Bochs PE模式 460
26.2.3 Bochs磁盘映像模式 461
26.3 Appcall 461
26.4小结 463
附录A 使用IDA免费版本5.0 464
附录B IDC/SDK交叉引用 466
- 《近代旅游指南汇刊二编 16》王强主编 2017
- 《甘肃省档案馆指南》甘肃省档案馆编 2018
- 《近代旅游指南汇刊 31》王强主编 2014
- 《近代旅游指南汇刊二编 10》王强主编 2017
- 《手工咖啡 咖啡爱好者的完美冲煮指南》(美国)杰茜卡·伊斯托,安德烈亚斯·威尔霍夫 2019
- 《近代旅游指南汇刊 13》王强主编 2014
- 《近代旅游指南汇刊 28》王强主编 2014
- 《近代旅游指南汇刊 23》王强主编 2014
- 《重庆市绿色建筑评价技术指南》重庆大学,重庆市建筑节能协会绿色建筑专业委员会主编 2018
- 《ESG指标管理与信息披露指南》管竹笋,林波,代奕波主编 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019