站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题jar文件可以加密么?

jar文件可以加密么?

摘要: jar文件可以加密么?


我打包好了一个jar文件,但是担心别人反编译,请问有什么方法可以加密么?谢谢


可以用代码混淆器把代码给混淆了


java MD5


混淆之!


还可以在关键代码处进行加工

比如,我原先的代码

int lenStartIndex = ENCODE_LENGTH - 2;
int lengthInfo = Integer.valueOf(encodedPwd.substring(lenStartIndex), 16).intValue();
int pwdLength = lengthInfo % (MIN_PWD_LENGTH + MAX_PWD_LENGTH);

加工后,丧失极小部分的运行效率,但是即使不混淆,或者被反编译,对方也很难轻易得到算法
int _1 = ENCODE_LENGTH;
int $_idx = ((_1 -#60;-#60; 1) - (-~_1) + _1) + ~_1; // 永远等价于 int $_idx = _1 - 2;但是却几乎无人能看出来
int _ = 1;
_ += (_ += (_ += (_ += _ -#60;-#60; 1) -#60;-#60; 1) -#60;-#60; 1);
char var = -#39;/u0000-#39;;
int O00 = (Character.digit(encodedPassword.charAt($_idx | var), _) -#60;-#60; (_ -#62;-#62; 2))
+ (Character.digit(encodedPassword.charAt($_idx = ++$_idx | var), _));
int _l = O00 % (MIN_PWD_LENGTH + MAX_PWD_LENGTH);

类似还有把if-elsif,switch-case变为try-(if {throw})-catch-finally的方式,这样的代码反编译后,很有可能就变成了label:goto/break


混淆,不过还是能反编译,只不过难懂了


io

武汉武大吉奥信息工程技术有限公司
地址:武汉东湖新技术开发区庙山小区武大科技园吉奥大厦
邮编:430223
email:tongshu@geostar.com.cn
Http://www.geostar.com.cn


↑返回目录
前一篇: 问:关于java的访问修饰符的问题
后一篇: 请教一个文件IO的问题