在线客服
软件保护及分析技术:原理与实践图书
人气:191

软件保护及分析技术:原理与实践

前言 软件保护与分析技术领域一直以来都充满着神秘色彩。一提到这个领域,总会激发外行人的强烈好奇和异样的眼光。作为一个业内人士,我认为,尽管这个行业内充满了利益瓜葛,但是,若我们抛开利益,回归这个技术...
  • 所属分类:图书 >计算机/网络>信息安全  
  • 作者:[章立春]编著
  • 产品参数:
  • 丛书名:安全技术大系
  • 国际刊号:9787121292644
  • 出版社:电子工业出版社
  • 出版时间:2016-07
  • 印刷时间:2016-07-01
  • 版次:1
  • 开本:16开
  • 页数:--
  • 纸张:胶版纸
  • 包装:平装
  • 套装:

内容简介

本书对软件安全领域的保护与分析技术进行了的讨论和剖析,通过保护与分析的对比讲解,结合代码和操作流程,对软件安全领域的各种技术进行了详尽的讨论,并将理论与实践相结合,利用具体的程序代码进行演示。同时,对现今较为成熟的保护系统进行了分析,介绍了软件安全领域的保护与分析技术。,结合多年从事软件软件保护与分析的经验,讲解了软件保护与分析中的各种经验和技巧。

编辑推荐

在软件加密与解密领域,技术的“对立”使这个领域的研究充满了乐趣。软件保护与分析涉及很多技术细节,如反调试、反虚拟机、代码加密、静态分析、代码注入、动态分析、脱壳等,作者对这些细节进行了讲解,内容循序渐进,覆盖范围。

目录

第0章准备知识 1

0.1Win32程序 1

0.2 PE程序文件 3

0.3 Win32进程的启动 5

0.4 PE程序的加载 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.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和Themida 46

2.2.2 VMProtect 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.1 OllyDbg 58

4.1.2 WinDBG 59

4.1.3 IDA 60

4.2 修改工具 60

4.2.1 LordPE 60

4.2.2 010Editor 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.4 HOOK 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.3 SMC 102

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

第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.1 WinLicense测试 276

10.5.2 VMProtect测试 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.4 OP记录调试功能 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

网友评论(不代表本站观点)

来自softwor**的评论:

东西好,服务好,性价比高!

2016-11-09 18:21:12
来自无昵称**的评论:

逆向狗正在路上

2016-11-11 00:44:51
来自无昵称**的评论:

挺好的,以前从来不去评价的,不知道浪费了多少积分,自从知道评论之后积分可以抵现金了,才知道评论的重要性,积分的价值,后来我就把这段话复制了,走到哪里,复制到哪里,既能赚积分,还非常省事,特别是不用认真的评论了,又健康快乐又能么么哒,哈哈哈

2016-12-08 11:28:52
来自无昵称**的评论:

很好

2016-12-19 20:24:06
来自无昵称**的评论:

准备学习进阶用的

2016-12-21 09:33:59
来自匿名用**的评论:

很不错的一本书已经在当当买过很多次书了

2016-12-30 17:04:25
来自匿名用**的评论:

刚刚收到,正在学习

2017-02-19 18:09:52
来自匿名用**的评论:

不错,值得深入研究

2017-02-27 08:03:36
来自匿名用**的评论:

内容比较浅

2017-04-25 23:24:04
来自匿名用**的评论:

好书推荐值得购买

2017-05-01 16:31:32
来自阿猪PIG**的评论:

不错,很好,值得每个人一读,包装完好。

2017-08-10 14:35:18
来自paigle**的评论:

技术上作者有所保留,细节也说得不够详细,前几章科普,后几章充数,只适合入门者看

2016-11-23 20:44:19
来自匿名用**的评论:

书中介绍了很多有用的思路,对我来说挺有难度的

2017-05-25 22:02:48
来自天***我**的评论:

好书!非常非常经典的一本书,快递还行吧,挺好的,书包装也不错,性价比很高,纸质很好

2017-05-26 23:17:25
来自无昵称**的评论:

物流很快,第2天就收到货了;是正版书,印刷质量很好,书的内容很好,是研究软件安全,破解软件优秀的书籍。

2017-03-20 13:52:49

免责声明

更多出版社