前 言...........................................................................................................................................8
第 1 章运行
环境设置.....................................................................................................................11
1.1 J2SE的安
装和设置 ..........................................................................................................11
1.1.1 下载J2
SE ...............................................................................................................11
1.1.2 安装J2
SE ...............................................................................................................11
1.1.3 设置J2
SE ...............................................................................................................13
2.1.4 J2SE的主要工具 ...................................................................................................14
1.2 反编译器
的安装...............................................................................................................15
1.3 混淆器的
安装..................................................................................................................17
第 2 章数据
内容的保护—— 加密和解密...................................................................................18
2.1 一个简单
的加密和解密程序——凯撒密码...................................................................18
2.2 对称密钥
的生成和保存...................................................................................................20
2.2.1 对称密
钥的生成及以对象序列化方式保存........................................................20
2.2.2 以字节
保存对称密钥............................................................................................22
2.3 使用对称
密钥进行加密和解密.......................................................................................23
2.3.1 使用对
称密钥进行加密........................................................................................23
2.3.2 使用对
称密钥进行解密........................................................................................25
2.4 基于口令
的加密和解密...................................................................................................28
2.4.1 基于口
令的加密....................................................................................................28
2.4.2 基于口
令的解密....................................................................................................30
2.5 针对流的
加密和解密.......................................................................................................32
2.5.1 针对输
入流的解密和解密....................................................................................33
2.5.2 针对输
出流的解密和解密....................................................................................35
2.6 加密方式
的设定...............................................................................................................37
2.6.1 使用CB
C方式的加密............................................................................................37
2.6.2 使用CB
C方式的解密............................................................................................39
2.7 生成非对
称加密的公钥和私钥......................................................................................41
2.8 使用RSA算法进行加密和解密......................................................................................43
2.8.1 使用RSA公钥进行加密........................................................................................43
2.8.2 使用RSA私钥进行解密........................................................................................45
2.9 使用密钥
协定创建共享密钥..........................................................................................48
2.9.1 创建DH公钥和私钥..............................................................................................48
2.9.2 创建共
享密钥........................................................................................................51
第 3 章Java源
代码和类、变量 及方法的保护............................................................................54
3.1 Java反编
译及混淆器的使用............................................................................................54
3.2 从网络资
源加载节码文件...............................................................................................58
3.3 以任意方
式加载字节码文件...........................................................................................63
3.4 加载加密
的字节码文件..................................................................................................64
3.5 加载当前
目录下的加密字节码文件..............................................................................67
3.6 Java类、
成员变量和方法的保护....................................................................................70
3.6.1 类的保
护................................................................................................................70
3.6.2 成员变
量和方法的保护........................................................................................74
3.6.3 使用校
验器............................................................................................................75
3.6.4 Reference类型私有
成员变量的保护....................................................................77