2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > java jar防止反编译_防止Jar包被反编译

java jar防止反编译_防止Jar包被反编译

时间:2020-10-16 06:06:13

相关推荐

java jar防止反编译_防止Jar包被反编译

方法就是,向Jar注入无效代码(不合法的,或者根本不是代码的字符串)。

那么无效的代码又怎么能正确运行呢?

答案就是,你要保证你的代码永远不会执行到那一步。

我作一个简单的例子说明:

我们建立一个项目:

packagecom.TestJar;

publicclassMain{

publicstaticvoidmain(String[]args){

System.out.println(Info.getMessage());

}

}

packagecom.TestJar;

publicclassInfo{

publicstaticStringgetMessage(){

return"HelloWorld!";

}

privateclassInvalid{

}

}

很简单,运行结果是 Hello World!

然后我们将Info类输出Jar

现在项目改成这样:

运行结果仍然是 Hello World!

我们用jd-gui反编译看看:

反编译看得清清楚楚。

我们的私有内部类Invalid在程序中是没有用。

现在,我们向Invalid类注入无效代码。

注入方法很简单,用WinRar之类的解压软件打开,修改,然后保存就行了

打开这个Invalid内部类

我们将图中所选择的字符'd'删除

然后保存

刷新一下,程序仍然运行:Hello World!

再用jd-gui打开Info.jar

它反编译到那里就出错了。

注意不能将这个方法运行用Android项目上,Android有另一套规则,它需要把Jar转换成dex的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。