¥ 13 1.6折 ¥ 79 八五品
仅1件
作者章立春 著
出版社电子工业出版社
出版时间2016-07
版次1
装帧平装
货号A7-7西
上书时间2024-07-16
《软件保护及分析技术——原理与实践》对软件安全领域的保护与分析技术进行了全面的讨论和剖析,通过保护与分析的对比讲解,结合代码和操作流程,对软件安全领域的各种技术进行了详尽的讨论,并将理论与实践相结合,利用具体的程序代码进行演示。同时,对现今较为成熟的保护系统进行了分析,全面介绍了软件安全领域的保护与分析技术。最后,结合多年从事软件软件保护与分析的经验,讲解了软件保护与分析中的各种经验和技巧。
《软件保护及分析技术——原理与实践》适合信息安全领域相关人员、高校相关专业学生及爱好者阅读。
章立春,2005-2007参与某网络游戏开发2007-2009某软件保护系统主程2009-2011年任成都磐石软件有限责任公司董事长
第0章 准备知识 1
0.1 Win32程序 1
0.2PE程序文件 3
0.3Win32进程的启动 5
0.4PE程序的加载 7
第1部分 软件保护
第1章软件保护技术 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.5call链 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.1WinLicense和Themida 46
2.2.2VMProtect 47
第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.1OllyDbg 58
4.1.2WinDBG 59
4.1.3IDA 60
4.2修改工具 60
4.2.1LordPE 60
4.2.2010Editor 61
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.4HOOK 78
5.4.1代码HOOK 79
5.4.2函数HOOK 86
5.4.3模块HOOK 86
5.4.4导出表HOOK 92
5.5代码注入 94
5.6补丁 101
5.6.1冷补丁 101
5.6.2热补丁 102
5.6.3SMC 102
5.6.4虚拟化补丁 103
5.7模块重定位 103
5.8沙箱技术 104
5.9虚拟化 106
5.10代码虚拟机 107
5.10.1OP分支探测 108
5.10.2OP调试 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.4OEP定位 154
5.14.5PE头修复 159
5.14.6重定位修复 159
5.14.7PE重建 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.1DLL模块重定位修复 249
9.5.2主模块重定位修复 251
第10章打造进程拍照机 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.1WinLicense测试 276
10.5.2VMProtect测试 279
第11章打造函数通用追踪器 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
第12章打造预执行调试器 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.4OP记录调试功能 327
12.5效果演示 331
第13章打造伪调试器 335
13.1制定功能 335
13.2确定技术方案 335
13.3开发筹备 336
13.4具体实现 336
13.4.1数据结构与通信协议 337
13.4.2第1步:界面相关工作 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部分 实例分析
第14章VMProtect虚拟机分析 358
第15章WinLicense虚拟机分析 375
第5部分 脱壳实例
第16章VMProtect脱壳 382
第17章WinLicense脱壳 394
写在最后 405
— 没有更多了 —
以下为对购买帮助不大的评价