当前页面: 开发资料首页 → 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