本文共 1263 字,大约阅读时间需要 4 分钟。
java最大的软肋是分发后容易被反编译,保密性差,所以关键的代码(如版权、注册认证)需要加密处理。
ejarmaker是一套jar/class文件加密工具,运用aes、rsa交替加密,加密强度非常高,反编译工具无从下手;可直接加密可执行的jar,加密后直接还能单包运行。
1/ 加密jar文件命令行:
方式1 把jar文件加密,并保存为宜.ear为扩展名的文件:
java -jar bin/ejarMaker.jar -s:source.jar
或者
java -jar bin/ejarMaker.jar -s:source.jar -o:output.ear
方式2 加密jar并制作独立运行的jar文件,视情况而定,用a、b方法加密时建议先用Eclipse的export方式把应用打包为Runnable jar格式或打包jar文档并指定main class,
然后在用如下命令行加密[带-mr开关]:
a. java -jar bin/ejarMaker.jar -s:source.jar -mr
将会生产带引导class的自执行文件source_ear.jar
或者
b. java -jar bin/ejarMaker.jar -s:source.jar -o:output_ear.jar -mr
将会生产带引导class的自执行文件output_ear.jar
又或者只把.class打包成.jar(记得在MANIFEST.MF里面指定Main-Class),然后用下面方法把需要的jar一起打包进去。
c. java -jar bin/ejarMaker.jar -s:source.jar -includes:./libs;jar1.jar;jar2.ear;jar3.jar -mr
把./libs下的jar文件,jar1.jar,jar2.ear,jar3.jar一起打包进source_ear.jar中,生产一个独立运行的包(类似eclipse的打包为Runnable jar形式)
2/ 运行加密后的文件:
a/运行.ear文件(ejarloader.jar是加密包装载器):
java -jar bin/ejarLoader.jar -jars:source1.ear;source2.jar;source3.jar com.start.Test p1 p2 p3
source1.ear;source2.jar;source3.jar为要加载的jar或ear文件, com.start.Test为进入点类,必须包含main函数,
p1 p2 p3为com.start.Test的运行参数。
b/运行用ejarMaker制作的独立运行jar,直接运行即可,jar里面已经包含classloader负责动态加载加密类文件:
java -jar abc.jar p1 p2 p3
3、通过ejarloader提供的api用代码加载加密包并运行。
转载地址:http://rozfi.baihongyu.com/