《加密与解密实战入门》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:郑羽,杨春生,于江编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:7121030896
  • 页数:345 页
图书介绍:本书以计算机软件加密与解密技术为主要内容,讲解了加解密技术入门需要掌握的知识和工具。全书共分为9章。前7章主要讲述了解密的入门技术,包括基础知识、静态反汇编、动态调试、辅助工具、不同注册保护方式的分析、安装包程序,以及不同编程语言的加解密工具及使用方法,并以通用的解密过程“查、脱壳→静态分析→动态调试”的顺序来进行章节的安排,使得读者有一个较完整的思路并可以轻松上手。最后两章则讲述加密的入门技术,包括基本的软件保护措施及实现和软件保护实践,常用到的软件保护技术,以及完整的源代码(大部分使用了Delphi进行编写)和保护方案,要求读者有一定的编程基础。本书包含了加解密技术基础中常用到的一些知识和工具,并通过实例来进行讲解说明,既适合对加解密技术感兴趣的初学者,也适合软件开发人员在软件设计过程中加以参考。

1.1 壳的概念、作用和分类 1

第1章 基础知识 1

1.2 常见的加壳软件和使用方法 2

1.2.1 UPX 3

1.2.2 ASPack 3

1.2.3 Armadillo 4

1.2.4 EncryptPE 11

1.3 使用壳的SDK保护程序 13

1.4.1 FileInfo 19

1.4 查壳软件及使用方法 19

1.4.2 PEiDentifier 20

1.5 脱壳软件及使用方法 22

1.5.1 通用脱壳软件及使用方法 22

1.5.2 专用脱壳软件及使用方法 24

1.6 汇编语言基础知识 24

1.6.1 汇编语言基本概念 25

1.6.2 常用的汇编语言语句 26

1.7 字符编码方式 27

1.8.1 软件解密方式 28

1.8 软件解密方式及注册保护方式 28

1.8.2 软件注册保护方式 29

第2章 静态反汇编 32

2.1 常用反汇编工具介绍 32

2.2 反汇编程序代码简介 34

2.2.1 程序的基本信息 35

2.2.2 程序的反汇编源代码 37

2.2.3 源代码各部分的含义 38

2.3.1 W32Dasm的功能简介 40

2.3 反汇编工具的功能简介 40

2.3.2 C32asm功能简介 46

2.4 静态分析解密实例 49

2.4.1 静态分析解密的一般过程 49

2.4.2 静态分析解密实例1 49

2.4.3 常见指令的机器码值 53

2.4.4 两种注册判断的修改方法 53

2.4.5 静态分析解密实例2 54

2.5 利用keymake做补丁程序 56

2.5.1 制作文件补丁程序 57

2.5.2 制作内存补丁程序 58

3.1 常用调试工具的简单介绍 60

第3章 动态调试 60

3.2 Ollydbg功能简介 62

3.2.1 Ollydbg主界面简介 62

3.2.2 配置Ollydbg 64

3.2.3 Ollydbg的常用功能及操作 64

3.2.4 常用的Ollydbg插件 67

3.3 Ollydbg动态调试解密实例 68

3.3.1 动态调试解密的一般过程 68

3.3.2 动态调试实例1 69

3.3.3 动态调试实例2 71

3.4 用Keymake制作内存注册机 72

3.5 用Ollydbg手动脱壳 77

3.5.1 手动脱壳的步骤 77

3.5.2 辅助工具简介 78

3.5.3 Ollydbg手动脱UPX壳实例 79

3.6 SoftICE安装及功能简介 84

3.6.1 SoftICE的安装配置过程 84

3.6.2 SoftICE常用功能及操作 90

3.6.3 SoftICE调试实例 93

3.7 Trw2000功能简介 93

4.1.1 16进制编辑工具WinHex 95

第4章 辅助工具 95

4.1 编辑工具 95

4.1.2 汇编编辑工具RTA 100

4.2 监视工具 101

4.2.1 文件监视工具 101

4.2.2 注册表监视工具 102

4.2.3 API监视工具 105

4.2.4 MFC监视工具mfcspy 108

4.3 资源工具 109

4.3.1 资源修复工具 109

4.3.2 常用资源编辑工具 111

4.3.3 Restools系列资源工具 115

4.4 补丁工具 117

4.4.1 dUP的使用 118

4.4.2 XCell的使用 124

第5章 不同注册保护方式的分析 126

5.1 简单的注册码保护方式 126

5.1.1 追踪简单算法实例 126

5.1.2 API函数常用断点及实例 130

5.2 按钮功能限制 138

5.2.1 按钮限制解密实例1 138

5.2.2 按钮限制解密实例2 139

5.3.1 NAG窗口实例1 140

5.3 NAG窗口 140

5.3.2 NAG窗口实例2 142

5.4 加密狗 145

5.4.1 判断加密狗类型 146

5.4.2 加密狗解密实例1 146

5.4.3 加密狗解密实例2 147

6.1 InstallShield 149

6.1.1 获取安装序列号 149

第6章 安装包程序 149

6.1.2 Setup.ins(inx)安装脚本的解密 151

6.1.3 编辑CAB压缩包 156

6.2 Wise 159

6.3 Setup Factory 160

6.3.1 解压缩安装包 160

6.3.2 动态调试安装序列号 160

6.3.3 静态分析安装序列号 164

6.4 InnoSetup 165

6.5 微软MSI 167

7.1 Delphi程序 170

第7章 不同编程语言的加解密工具及使用方法 170

7.2 VB本机代码程序 177

7.2.1 VB程序的编译方式 177

7.2.2 VB反编译工具VBExplorer 178

7.2.3 VB动态调试工具SmartCheck 181

7.3 VB P-代码程序 186

7.3.1 P-代码反编译工具 187

7.3.2 P-代码调试工具 188

7.3.3 WKTVBDE解密实例 192

7.4 VBA程序 194

7.4.1 VBA常用工具简介 195

7.4.2 VBA程序解密实例 196

7.5 VFP程序 203

7.5.1 VFP加密工具 203

7.5.2 VFP解密工具 206

7.5.3 VFP反编译工具 208

7.5.4 VFP解密实例1 209

7.5.5 VFP解密实例2 212

7.6 PB程序 215

7.6.1 PB反编译工具 215

7.6.2 PB解密实例 217

7.7 ASP程序 219

7.7.1 ASP程序的加密 219

7.7.2 ASP程序解密实例1 220

7.7.3 ASP程序解密实例2 227

7.7.4 ASP程序解密实例3 228

7.8 易语言程序 232

7.9 其他语言程序 239

7.9.1 Java 239

7.9.2 .NET 241

第8章 基本的软件保护措施及实现 244

8.1 获取硬件信息 245

8.2 对抗破解的基本手段 254

8.2.1 对抗DeDe 254

8.2.2 对抗动态调试 255

8.2.3 对抗SoftICE 256

8.2.4 对抗静态分析 257

8.2.5 磁盘文件自校验 259

8.3 使用壳程序来保护 264

8.3.1 压缩壳(Packer)的应用 265

8.3.2 保护壳(Protector)的应用 269

8.4.1 VMProtect简介 275

8.4 VMProtect的应用 275

8.4.2 利用VMProtect保护程序 276

8.5 利用伪装壳制造虚假信息 282

8.6 应用加密锁来保护程序 284

8.6.1 应用Rockey2的技巧 284

8.6.2 加密锁应用建议 289

8.7 一些加密时有用的代码 289

8.8 一点建议 294

第9章 软件保护实践 296

9.1 把ASP编写成DLL 296

9.2 COM组件的Delphi实现 302

9.3 给程序加入网络验证机制 310

9.4 非明码比较在程序中的应用 315

9.5 实现软件注册保护的vcl组件简介 319

9.6 关于PE文件结构的简单理解 325

9.6.1 检测PE文件格式 326

9.6.2 PE文件入口点和Section的理解 329

9.6.3 伪装壳原理的简单分析 337

9.6.4 模拟PEiD的查壳功能 340

参考文献 345