java打包、加密、发布(源代码保护)
2012-08-15 17:45
239 查看
如果你是一名java开发者,你应该知道java源文件编译后的class文件是十分轻易就可以反编译的,有很多java反编译工具都可以做到这一点,例如,jad,jd-gui等,所以如果你想保护你的java class文件不被其他人反编译的话,你需要使用一些java加密工具,不过并不是对java代码进行加密,因为加密的java文件是无法编译成可正常运行的class文件的,所以我们只能加密class文件,更专业一点的称谓,应该是说混淆java
class,也就是对class文件进行模糊处理,目的是为了让反编译者无法获取正确的java源代码,而且又不会影响java class文件的使用。
目前有很多工具可以混淆java class,流行的一点大多要收费的,不过有一款开源的混淆工具,也是基于java编写的,十分好用,它就是proguard。因为我们发布java应用程序的时候,都是选择将class文件打包在jar或者war文件,所以proguard支持对jar里的所有class进行混淆,下面是它的使用方法。
1.定义混淆配置文件
proguard使用后缀为.pro的文件作为配置文件,在这个文件里配置需要混淆的jar文件,混淆后输出的jar文件,混淆需要引用的java类库等。下面是一个示例
2.混淆
下载proguard后,解压将lib目录里的proguard.jar文件和pro配置文件复制到java安装目录的bin下,如果你设置了JAVA_HOME,也可以不用复制到该目录下,然后使用以下的命令来进行混淆,假设pro配置文件命名为myconfig.pro
3.验证
这时你可以使用jd-gui反编译工具来验证一下混淆结果,把混淆前和混淆后的jar拖到jd-gui工具,然后再对比源代码,你就可以知道混淆后反编译得到的与源代码差别很大。更重要的是,你要把混淆后的jar复制到你的项目,看是否还能够正常使用。
转自老K博客:http://www.laokboke.net/2012/01/19/java-class-obfuscate/
class,也就是对class文件进行模糊处理,目的是为了让反编译者无法获取正确的java源代码,而且又不会影响java class文件的使用。
目前有很多工具可以混淆java class,流行的一点大多要收费的,不过有一款开源的混淆工具,也是基于java编写的,十分好用,它就是proguard。因为我们发布java应用程序的时候,都是选择将class文件打包在jar或者war文件,所以proguard支持对jar里的所有class进行混淆,下面是它的使用方法。
1.定义混淆配置文件
proguard使用后缀为.pro的文件作为配置文件,在这个文件里配置需要混淆的jar文件,混淆后输出的jar文件,混淆需要引用的java类库等。下面是一个示例
1 | -injars C:/Program Files/Java/jdk1.6.0_21/bin/retrace.jar |
2 | -outjars C:/Program Files/Java/jdk1.6.0_21/bin/retrace-obfuscated.jar |
3 | -libraryjars C:/Program Files/Java/jdk1.6.0_21/jre/lib/rt.jar |
4 | -libraryjars C:/Program Files/Java/jdk1.6.0_21/bin/proguard.jar |
5 | -printmapping proguard.map |
6 | -verbose |
7 | -keep public class * |
下载proguard后,解压将lib目录里的proguard.jar文件和pro配置文件复制到java安装目录的bin下,如果你设置了JAVA_HOME,也可以不用复制到该目录下,然后使用以下的命令来进行混淆,假设pro配置文件命名为myconfig.pro
1 | java -jar proguard.jar @myconfig.pro |
这时你可以使用jd-gui反编译工具来验证一下混淆结果,把混淆前和混淆后的jar拖到jd-gui工具,然后再对比源代码,你就可以知道混淆后反编译得到的与源代码差别很大。更重要的是,你要把混淆后的jar复制到你的项目,看是否还能够正常使用。
转自老K博客:http://www.laokboke.net/2012/01/19/java-class-obfuscate/
相关文章推荐
- 运用加密技术保护Java源代码
- Java安全:运用加密技术保护Java源代码
- 运用加密技术保护Java源代码
- 运用加密技术保护Java源代码
- 代码加密:加密Java源代码,保护自己的版权!
- 运用加密技术保护Java源代码 (转)
- 运用加密技术保护Java源代码
- 运用加密技术保护Java源代码-Java基础-Java-编程开发
- 运用加密技术保护Java源代码
- 运用加密技术保护Java源代码 (转)
- 6个常用Java 源代码 保护工具(混淆、加密、底层)
- 运用加密技术保护Java源代码
- 运用加密技术保护Java源代码(转)
- 运用加密技术保护Java源代码
- 使用技巧:运用加密技术保护Java源代码
- 运用加密技术保护Java源代码
- 运用加密技术保护Java源代码
- 运用加密技术保护Java源代码
- 运用加密技术保护Java源代码(转)
- 运用加密技术保护Java源代码