IDA.Pro代码破解揭秘
目录
第1章 导言 1
1.1 代码调试器概述 2
1.2 小结 3
第2章 汇编及逆向工程基础5
2.1 导言 6
2.2 汇编语言及IA-32处理器 6
2.3 栈、堆及二进制可执行文件中的其他区段 14
2.4 最新的IA-32指令集及参考资料 19
2.5 小结 25
第3章 可移植可执行文件格式和可执行链接格式 27
3.1 导言 28
3.2 可移植可执行文件格式 28
3.3 可执行链接格式 35
3.4 小结 47
第4章 实战1 49
4.1 导言 50
4.2 跟踪执行流 50
4.3 快速跟踪并找出解决方案 63
4.4 常见问题 64
第5章 调试 65
5.1 导言 66
5.2 调试的基础知识 66
5.2.1 断点 67
5.2.2 单步 68
5.2.3 监视 68
5.2.4 异常 68
5.2.5 跟踪 69
5.3 使用IDA Pro进行调试 69
5.4 调试技术在逆向工程中的应用 71
5.5 堆和栈的访问和修改 78
5.6 其他调试器 80
5.6.1 Windbg 80
5.6.2 Ollydbg 80
5.6.3 immdbg 81
5.6.4 PaiMei/PyDbg 81
5.6.5 GDB 81
5.7 小结 82
第6章 反逆向技术 83
6.1 导言 84
6.2 调试 84
6.3 举例阐述 87
6.4 混淆技术 87
6.5 小结 104
第7章 实战2 105
7.1 协议问题 106
7.2 协议结构 106
7.2.1 分帧与重组 106
7.2.2 自相似性 108
7.2.3 Hit Marking 120
7.2.4 Hitlist示例 124
第8章 高级攻略 129
8.1 导言 130
8.2 逆向分析恶意软件 131
第9章 IDA脚本编写和插件 161
9.1 导言 162
9.2 IDA脚本编写基础 162
9.3 IDC语法 162
9.3.1 输出 163
9.3.2 变量 164
9.3.3 条件 165
9.3.4 循环 165
9.3.5 函数 166
9.3.6 全局变量 168
9.4 简单脚本示例 170
9.5 编写IDC脚本 173
9.5.1 用IDC解决问题 173
9.5.2 新的IDC调试器功能 180
9.5.3 有用的IDC函数 181
9.6 IDA插件基础 185
9.6.1 模块/插件资源 186
9.6.2 IDA Pro SDK介绍 187
9.7 插件语法 188
9.8 设置开发环境 189
9.9 简单插件示例 191
9.9.1 Hello World插件 191
9.9.2 find memcpy插件 194
9.10 间接调用插件 209
9.10.1 收集数据 210
9.10.2 用户接口 211
9.10.3 实现回调 213
9.10.4 显示结果 215
9.11 插件开发和调试策略 250
9.11.1 创建一个新的IDA开发目录 250
9.11.2 编辑配置文件 250
9.12 加载器 255
9.13 处理器模块 256
9.14 第三方脚本插件 256
9.14.1 IDAPython 256
9.14.2 IDARub 257
9.15 常见问题 257
1