让加密不再神秘,让解密如此轻松;让盗版不再猖狂,让正版有所顾忌!
本书通过12章的介绍,让读者对加密与解密有个全新的了解。第1章通过对密码学以及加密、解密技术的介绍,使读者对加密与解密有个大概的了解。第2章介绍PE,Windows下可执行文件的格式基本都是PE结构的。第3章介绍结构化异常处理,结构化异常处理是Windows操作系统处理程序错误或异常的技术。第4章介绍神秘的壳。第5章介绍怎么脱壳,详细介绍脱壳的步骤,如何在内存断点寻找OEP,如何用dump抓取内存映像文件,如何重建输入表,手动确定IAT的地址与大小,然后介绍压缩与脱壳。第6章介绍程序静态分析和相应的静态分析技术,介绍W32Dasm、IDA Pro、HIEW三款静态分析的软件,并通过实例使读者能对静态分析有个比较深刻的了解。第7章介绍动态分析、常用Win32 API,及OllyDBG、SOFTICE和TRW2000三款动态分析的软件,并通过实例使读者能对动态分析有比较深刻的了解。第8章介绍各种演示版的保护技术。第9章介绍加密算法,使读者可以学习各种加密算法,了解加密的真谛。第10章介绍各种补丁技术。第11章介绍其他常用的加密方法。第12章讲解一些加密实战。
随着网络技术的发展,加密与解密都是我们不可回避的话题。加密可以避免我们的信息被别人拦截和窃取。由于我们在互联网上进行文件传输、电子邮件商务往来存在着许多不安全因素,特别是对于一些大公司的一些机密文件在网络上传输。
这种不安全性是互联网存在基础——TCP/IP协议所固有的,包括一些基于TCP/IP的服务。互联网又给众多商家带来了无限商机,互联网把全世界连在一起,走向互联网就意味着走向世界,这对于无数商家来说无疑是梦寐以求的好事,特别是对于中小企业。
为了解决这一对矛盾、为了能在安全的基础上打开通向世界之门,选择数据加密和基于加密技术的数字签名是一种可行的手段。加密与解密是一种辩证的关系,两者相互矛盾、相互依存、缺一不可。解密可以促进软件加密水平的进一步提高,加密水平的提高,又需要解密技术的验证。
第1章 基础知识
1.1 什么是密码学/3
1.2 加密解密技术概述/7
1.2.1 数据加密的基本概念/7
1.2.2 加密技术及其相关问题/10
1.2.3 为什么要进行加密/12
1.2.4 加密技术的发展趋势/14
1.3 常见软件加密保护技术/16
1.4 熟悉汇编语言的几条常用命令/19
1.5 软件解密方式/28
第2章 认识PE
2.1 PE文件格式/33
2.2 检验PE文件的有效性/37
2.3 File Header(文件头)/43
2.4 Optional Header/46
2.5 Section Table(节表)/54
2.6 Import Table(引入表)/65
2.7 Export Table(引出表)/79
第3章 结构化异常处理(SEH)
3.1 SEH背景知识/95
3.2 SEH初步实战/96
3.3 传递给异常处理句柄的参数/99
3.4 堆栈展开/103
3.5 结构化异常处理/114
第4章 神秘的壳
4.1 认识壳/129
4.2 常见的加壳软件和使用方法/133
4.3 使用壳的SDK保护程序/138
4.4 查壳软件及使用方法/145
4.5 脱壳软件及使用方法/148
4.6 字符编码方式/153
第5章 怎么脱壳
5.1 脱壳第一步——OEP/165
5.2 内存断点寻找OEP/170
5.3 dump抓取内存映像文件/177
5.4 重建输入表/183
5.5 手动确定IAT的地址与大小/188
第6章 静态分析
6.1 静态分析技术/195
6.2 静态分析软件W32Dasm/199
6.3 静态分析软件IDA Pro/208
6.4 静态分析软件HIEW/213
第7章 动态分析技术
7.1 常用Win32 API函数简介/217
7.2 OllyDBG动态分析/220
7.3 SOFTICE动态分析/229
7.3.1 SOFTICE for Win9X安装与配制/229
7.3.2 SOFTICE for Windows Millennium/238
7.3.3 SOFTICE for NT/2K安装与配制/239
7.3.4 SoftlCE操作入门/240
7.4 TRW2000动态分析/247
第8章 演示版的保护技术
8.1 序列号保护方式及攻击/253
8.2 警告(NAG)窗口/256
8.3 时间限制/259
8.4 KEYFILE保护/262
8.5 功能限制的程序/265
8.6 CD-CHECK/268
8.7 网络验证/278
第9章 加密算法
9.1 DES算法/285
9.2 3DES算法/290
9.3 RC4算法/294
9.4 IDEA算法/295
9.5 RSA算法/298
9.6 DSA算法/310
9.7 AES算法/320
9.8 BLOWFISH算法/340
9.9 MD5算法/359
第10章 补丁技术
10.1 补丁的分类/373
10.2 常用的补丁工具/374
10.2.1 CodeFusion使用方法/374
10.2.2 R!SCSPatcher使用方法/378
10.3常用的注册工具/380
10.3.1 CrackCode2000使用介绍/380
10.3.2 Keymake使用介绍/388
10.4 程序补丁/396
10.5 内存补丁制作实例/402
10.6 SMC补丁技术/406
第11章 其他常用加密方法
11.1 文件夹加密方法/417
11.2 文件加密方法/422
11.3 邮件加密方法/427
11.4 光盘加密方法/431
11.5 硬盘加密/438
11.6 U盘加密/444
11.7 基于网络的加密方法/448
第12章 加密解密实战
12.1 CMOS的实用加密解密/453
12.2 微软操作系统的加密文件系统EFS应用/456
12.3 DRM技术的加密和解密/463
12.4 网页信息的加密/468
12.5 网吧限制的破解与防范/475
参考文献/483