本篇主要提供:软件保护及分析技术--原理与实践章立春著电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
基本信息
书名:软件保护及分析技术--原理与实践
定价:79元
作者:章立春著
出版社:电子工业出版社
出版日期:2016-07-01
ISBN:9787121292644
字数:612000
页码:412
版次:1
装帧:平装
开本:16开
商品重量:0.4kg
编辑推荐
在软件加密与解密领域,技术的“对立”使这个领域的研究充满了乐趣。软件保护与分析涉及很多技术细节,如反调试、反虚拟机、代码加密、静态分析、代码注入、动态分析、脱壳等,作者对这些细节进行了讲解,内容循序渐进,覆盖范围全面。
内容提要
本书对软件安全领域的保护与分析技术进行了全面的讨论和剖析,通过保护与分析的对比讲解,结合代码和操作流程,对软件安全领域的各种技术进行了详尽的讨论,并将理论与实践相结合,利用具体的程序代码进行演示。同时,对现今较为成熟的保护系统进行了分析,全面介绍了软件安全领域的保护与分析技术。后,结合多年从事软件软件保护与分析的经验,讲解了软件保护与分析中的各种经验和技巧。
目录
第0章 准备知识1
0.1 Win32程序1
0.2 PE程序文件3
0.3 Win32进程的启动5
0.4 PE程序的加载7
部分 软件保护
章 软件保护技术11
1.1 反调试11
1.1.1 函数检测12
1.1.2 数据检测12
1.1.3 符号检测13
1.1.4 窗口检测13
1.1.5 特征码检测14
1.1.6 行为检测14
1.1.7 断点检测15
1.1.8 功能破坏16
1.1.9 行为占用16
1.2 反虚拟机17
1.3 数据校验18
1.4 导入表加密19
1.5 模块拷贝移位27
1.6 资源加密29
1.7 代码加密30
1.7.1 代码变形30
1.7.2 花指令33
1.7.3 代码乱序33
1.7.4 多分支35
1.7.5 call链36
1.8 代码虚拟化37
1.8.1 堆机39
1.8.2 栈机40
1.8.3 状态机42
1.9 脚本引擎42
1.10 网络加密42
1.11 硬件加密42
1.12 代码43
第2章 软件保护系统44
2.1 保护功能44
2.1.1 试用控制44
2.1.2 授权控制45
2.1.3 功能扩展45
2.2 保护系统45
2.2.1 WinLicense和Themida46
2.2.2 VMProtect47
第3章 软件保护强化48
3.1 设计优化49
3.1.1 技巧1:代码习惯优化49
3.1.2 技巧2:SDK使用优化51
3.1.3 技巧3:验证保护系统52
3.2 加壳优化52
3.2.1 技巧1:侧重选择代码加密53
3.2.2 技巧2:精选被保护代码54
3.2.3 技巧3:充分测试55
第2部分 软件破解
第4章 软件破解工具58
4.1 调试分析工具58
4.1.1 OllyDbg58
4.1.2 WinDBG59
4.1.3 IDA60
4.2 修改工具60
4.2.1 LordPE60
4.2.2 010Editor61
4.3 自动化工具61
第5章 软件破解技术62
5.1 静态分析63
5.1.1 基本信息分析63
5.1.2 代码静态分析67
5.2 软件调试68
5.2.1 一般调试原理68
5.2.2 伪调试技术72
5.2.3 本地调试73
5.2.4 远程调试74
5.2.5 虚拟机调试76
5.3 反反调试77
5.4 HOOK78
5.4.1 代码HOOK79
5.4.2 函数HOOK86
5.4.3 模块HOOK86
5.4.4 导出表HOOK92
5.5 代码注入94
5.6 补丁101
5.6.1 冷补丁101
5.6.2 热补丁102
5.6.3 SMC102
5.6.4 虚拟化补丁103
5.7 模块重定位103
5.8 沙箱技术104
5.9 虚拟化106
5.10 代码虚拟机107
5.10.1 OP分支探测108
5.10.2 OP调试113
5.11 自动化技术114
5.11.1 代码追踪114
5.11.2 预执行118
5.11.3 代码简化120
5.11.4 代码重建124
5.11.5 块执行125
5.11.6 多分支剔除126
5.11.7 小结129
5.12 动态分析129
5.12.1 着色129
5.12.2 黑盒测试132
5.13 功能模拟132
5.13.1 授权模拟132
5.13.2 网络模拟134
5.13.3 加密狗模拟134
5.14 脱壳134
5.14.1 导入表重建135
5.14.2 资源重建149
5.14.3 区段重建152
5.14.4 OEP定位154
5.14.5 PE头修复159
5.14.6 重定位修复159
5.14.7 PE重建163
5.14.8 补区段164
5.15 进程快照技术166
5.15.1 进程快照技术概述166
5.15.2 快照脱壳178
5.16 代码回溯技术180
第6章 软件分析技巧184
6.1 技巧1:代码范围184
6.2 技巧2:多用对比参考186
6.3 技巧3:逆向思考187
6.4 技巧4:多利用自动化优势187
6.5 技巧5:利用环境优势187
6.6 技巧6:尽量避免算法分析187
6.7 技巧7:够用原则188
第3部分 自己动手
第7章 打造函数监视器190
7.1 制定功能190
7.2 确定技术方案191
7.3 开发筹备192
7.4 具体实现193
7.4.1 启动目标进程并注入xVMRuntime模块196
7.4.2 通信协议199
7.4.3 事件设定201
7.4.4 辅助调试功能216
7.4.5 技术问题217
7.5 效果演示217
第8章 打造资源重建工具220
8.1 制定功能220
8.2 确定技术方案220
8.3 开发筹备222
8.4 具体实现222
8.4.1 数据结构及通信协议222
8.4.2 获取内存段资源数据223
8.4.3 监控资源函数获取数据225
8.4.4 强制搜索内存穷举获取数据227
8.4.5 重建资源区段230
8.4.6 技术问题234
8.5 效果演示235
第9章 打造重定位修复工具238
9.1 制定功能238
9.2 确定技术方案238
9.3 开发筹备239
9.4 具体实现239
9.4.1 通信协议239
9.4.2 注入模块240
9.4.3 抓取内存快照240
9.4.4 对比内存数据244
9.4.5 重建重定位区段245
9.5 效果演示248
9.5.1 DLL模块重定位修复249
9.5.2 主模块重定位修复251
0章 打造进程拍照机253
10.1 制定功能253
10.2 确定技术方案253
10.3 开发筹备255
10.4 具体实现255
10.4.1 先期模块注入255
10.4.2 接管进程内存管理261
10.4.3 建立函数调用中间层268
10.4.4 实现场景载入功能269
10.4.5 转储并修正映像及相关数据270
10.4.6 增加TIB转储274
10.5 效果演示276
10.5.1 WinLicense测试276
10.5.2 VMProtect测试279
1章 打造函数通用追踪器281
11.1 制定功能281
11.2 确定技术方案281
11.3 开发筹备282
11.4 具体实现283
11.4.1 建立插件框架283
11.4.2 分层式虚拟机284
11.4.3 调用代码查找识别287
11.5 追踪函数294
11.6 重建导入表299
11.7 修复调用代码304
11.7.1 内存式修复305
11.7.2 文件式修复307
11.8 效果演示309
2章 打造预执行调试器312
12.1 制定功能312
12.2 确定技术方案312
12.3 开发筹备313
12.4 具体实现313
12.4.1 预执行功能313
12.4.2 代码追踪记录功能317
12.4.3 块执行功能321
12.4.4 OP记录调试功能327
12.5 效果演示331
3章 打造伪调试器335
13.1 制定功能335
13.2 确定技术方案335
13.3 开发筹备336
13.4 具体实现336
13.4.1 数据结构与通信协议337
13.4.2 步:界面相关工作338
13.4.3 第2步:在调试端启用和禁用伪调试技术339
13.4.4 第3步:创建调试目标341
13.4.5 第4步:等待调试事件主循环344
13.4.6 第5步:被调试端的初始化346
13.4.7 第6步:中转异常349
13.4.8 第7步:辅助调试函数实现350
13.4.9 小结354
13.5 效果演示354
第4部分 实例分析
4章 VMProtect虚拟机分析358
5章 WinLicense虚拟机分析375
第5部分 脱壳实例
6章 VMProtect脱壳382
7章 WinLicense脱壳394
写在后405
作者介绍
章立春,2005-2007参与某网络游戏开发 2007-2009某软件保护系统主程 2009-2011年任成都磐石软件有限责任公司董事长
文摘
序言