目录
第一章 如何开始
1.1 破解概述 2
1.1.1破解的概念以及历史 2
1.1.2主流保护方式 4
1.2 新手从哪里开始 5
第二章 牛刀小试–成功的喜悦
2.1 破解环境构建 8
2.1.1 系统环境以及软件安装 8
2.1.2 破解版程序安装方法 9
2.1.3 用音速启动构建自己的专用软件包 11
2.2 PE文件修改初试 13
2.2.1 乘胜追击之资源修改 13
2.2.2 牛刀小试-修改版权 15
2.3 软件破解初步 19
2.3.1 初识OllyDbg 19
2.3.2 实战内存追码 22
第三章 追本溯源
3.1 文本字符 26
3.1.1 字符编码 26
3.1.2 字符存储顺序 27
3.2 Windows 可执行文件 27
3.3 可执行文件资源 35
3.3.1 文件资源简介 35
3.3.2 资源修改进阶之定制PEID 37
3.4 ELF 文件简介 39
3.5 Windows操作系统 41
3.5.1 用户层/内核层 41
3.5.2 Windows消息机制 43
3.5.3 破解常用API函数 45
第四章 软件动态调试
4.1 软件调试简介 48
4.2 断点详解 51
4.3 OllyDbg高级技巧 54
4.3.1 字符串参考/Unicode参考 54
4.3.2 断点窗口 55
4.3.3 创建可执行文件 56
4.3.4 查找功能 57
4.3.5 插件功能 58
4.3.6 OD常见问题 59
4.4 WinDbg调试器 60
第五章 静态分析技术
5.1 静态分析技术简介 63
5.2 静态反编译利器 IDA 65
5.2.1 IDA简介 65
5.2.2 IDA安装 65
5.2.3 IDA配置 67
5.3 IDA文件处理 72
5.3.1 载入文件 72
5.3.2 IDA数据库文件 72
5.3.3 IDA崩溃处理 73
5.4 IDA桌面(Desktop) 74
5.5 IDA常用技巧 76
5.5.1 字符串子窗口(Strings Subview) 76
5.5.2 输入表/输出表子窗口 77
5.5.3 函数调用图形视图(Chart) 79
5.5.4 反汇编窗口常用功能 80
5.5.5 IDA脚本 82
5.6 IDA调试功能 88
5.6.1 本地调试 88
5.6.2 远程调试 89
第六章 软件逆向基础
6.1 汇编语言 96
6.1.1 简介 96
6.1.2 寄存器 96
6.1.3 汇编指令 100
6.2 高级语言逆向基础 112
6.2.1 函数以及调用约定 112
6.2.2 启动函数以及入口点 117
6.2.3 高级语言控制语句 118
6.3 从汇编语言到高级语言 125
第七章 虚拟机环境搭建
7.1 虚拟机简介 129
7.2 VMware Workstation 安装 130
7.3 安装系统 132
7.3.1 Windows系统安装 132
7.3.2 Linux系统安装 136
7.4 虚拟机常见问题 142
第八章 软件保护方式及其破解技巧
8.1 序列号 146
8.1.1 内存追码 147
8.1.2 修改函数关键Call返回值 151
8.1.3 修改跳转指令法 157
8.2 时间限制 159
8.3 Nag窗口 163
8.4 功能限制 166
8.5 重启验证 171
8.5.1 KeyFile校验 172
8.5.2 CD以及移动设备校验 175
8.5.3 注册表验证 178
8.6 单实例运行 182
8.6.1 FindWindow方式 184
8.6.2 CreateMutex方式 186
8.6.3 共享区段保护方式 187
8.7 反虚拟机保护 189
8.8 Anti Debug 192
8.9 网络验证 194
8.10 常用断点参考 204
第九章 不同语言,不同方法
9.1 Delphi/BC++ 206
9.1.1 Dede辅助查找按钮事件法 206
9.1.2 Delphi万能断点法 212
9.1.3 事件特征法 217
9.2 VB程序逆向 219
9.2.1 断点 219
9.2.2 Smart Check 220
9.2.3 VB事件特征法 224
9.3 VC/VC++程序 225
9.4 .net程序逆向 228
9.4.1 静态分析技术 228
9.4.2 动态调试 235
9.5 易语言 242
9.5.1 E-Code Explorer辅助分析 242
9.5.2 E语言万能断点 243
9.6 Point-H万能断点 245
9.7 F12堆栈暂停法 247
9.8 小结 248
第十章 壳保护技术
10.1 概念 252
10.2 压缩壳 253
10.2.1 UPX 253
10.2.2 Aspack 255
10.2.3 PEcompact 255
10.2.4 NsPack 257
10.3 加密壳 258
10.3.1 ASProtect 258
10.3.2 ACProtect 264
10.3.3 Winlicense & Themida 268
10.4 虚拟机保护技术 271
第十一章 脱壳技术
11.1 脱壳原理 278
11.2 脱壳工具 278
11.3 寻找OEP 280
11.3.1 跨段指令法 280
11.3.2 二次断点法 285
11.3.3 堆栈平衡法 287
11.3.4 特征指令法 290
11.3.5 语言特征法 291
11.3.6 脚本定位OEP 292
11.4 内存映像文件抓取 293
11.5 修复IAT 296
11.5.1 定位IAT 296
11.5.2 重建输入表 298
11.5.3 IAT修复的常见问题 300
11.6 Dll文件脱壳 303
11.7 附加数据 306
11.8 加密壳脱壳 310
11.8.1 Asprotect 310
11.8.2 ACProtect 315
11.8.3 Yoda’s Protector 316
第十二章 注册机
12.1 内存注册机 320
12.1.1 KeyMaker 320
12.1.2 cazaseriales 322
12.2 文件补丁 323
12.2.1 Patch技术 323
12.2.2 Loader技术 327
12.3 算法注册机 328
第十三章 PeDiy
13.1 软件汉化 338
13.2 功能增加 344
13.2.1 弹窗 344
13.2.2 窗口透明 348