第1章 基础知识 3
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 33
2.1PE文件格式 33
2.2检验PE文件的有效性 37
2.3File Header(文件头) 43
2.4Optional Header 46
2.5Section Table(节表) 54
2.6Import Table(引入表) 65
2.7Export Table(引出表) 79
第3章 结构化异常处理(SHE) 79
3.1SEH背景知识 95
3.2SEH初步实战 96
3.3传递给异常处理句柄的参数 99
3.4堆栈展开 103
3.5结构化异常处理 114
第4章 神秘的壳 129
4.1认识壳 129
4.2常见的加壳软件和使用方法 133
4.3使用壳的SDK保护程序 138
4.4查壳软件及使用方法 145
4.5脱壳软件及使用方法 148
4.6字符编码方式 153
第5章 怎么脱壳 165
5.1脱壳第一步——OEP 165
5.2内存断点寻找OEP 170
5.3dump抓取内存映像文件 177
5.4重建输入表 183
5.5手动确定IAT的地址与大小 188
第6章 静态分析 195
6.1静态分析技术 195
6.2静态分析软件W32Dasm 199
6.3静态分析软件IDA Pro 208
6.4静态分析软件HIEW 213
第7章 动态分析技术 217
7.1常用Win32API函数简介 217
7.2OllyDBG动态分析 220
7.3SOFTICE动态分析 229
7.3.1SOFTICE for Win9X安装与配制 229
7.3.2SOFTICE for Windows Millennium 238
7.3.3SOFTICE for NT/2K安装与配制 239
7.3.4SoftICE操作入门 240
7.4TRW2000动态分析 247
第8章 演示版的保护技术 247
8.1序列号保护方式及攻击 253
8.2警告(NAG)窗口 256
8.3时间限制 259
8.4KEYFILE保护 262
8.5功能限制的程序 265
8.6CD-CHECK 268
8.7网络验证 278
第9章 加密算法 285
9.1DES算法 285
9.23DES算法 290
9.3RC4算法 294
9.4IDEA算法 295
9.5RSA算法 298
9.6DSA算法 310
9.7AES算法 320
9.8BLOWFISH算法 340
9.9MD5算法 359
第10章 补丁技术 373
10.1补丁的分类 373
10.2常用的补丁工具 374
10.2.1CodeFusion使用方法 374
10.2.2R!SC'sPatcher使用方法 378
10.3常用的注册工具 380
10.3.1CrackCode2000使用介绍 380
10.3.2Keymake使用介绍 388
10.4程序补丁 396
10.5内存补丁制作实例 402
10.6SMC补丁技术 406
第11章 其他常用加密方法 406
11.1文件夹加密方法 417
11.2文件加密方法 422
11.3邮件加密方法 427
11.4光盘加密方法 431
11.5硬盘加密 438
11.6U盘加密 444
11.7基于网络的加密方法 448
第12章 加密解密实战 453
12.1CMOS的实用加密解密 453
12.2微软操作系统的加密文件系统EFS应用 456
12.3DRM技术的加密和解密 463
12.4网页信息的加密 468
12.5网吧限制的破解与防范 475