避免java代码反编译 jar 防止反编译
如何防止class被反编译,の颐堑闹恫
1、想不被反编译是不可能的。混淆器可以吧所有变量名,函数名,类名(系统类,函数名不变)统统用一两个字母代替,可以缩短代码长度,并且被反编译以后难以理解含义增加阅读难度。
创新互联建站-专业网站定制、快速模板网站建设、高性价比新巴尔虎左网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式新巴尔虎左网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖新巴尔虎左地区。费用合理售后完善,10多年实体公司更值得信赖。
2、对Class文件进行加密 为了防止Class文件被直接反编译,许多开发人员将一些关键的Class文件进行加密,例如对注册码、序列号管理相关的类等。
3、无法防止。.class文件的标准是公开的,无法防止别人反编译你的代码。你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。
4、想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。
如何防止java文件被反编译
无法防止。.class文件的标准是公开的,无法防止别人反编译你的代码。你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。
针对反编译,推荐使用CBS赛博锁,通过把安全容器内嵌到操作系统中,对容器内的应用和数据进行加锁,程序和数据在容器内运行,实现最后一米数据安全,防止核心数据被泄露,防止服务器终端中病毒,防止反编译,反破解。
java本就是开源的,你加密感觉怪怪的。想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。
很久前做过一个项目,用很复杂的算法加密 class文件,然后在虚拟机载入前调用解密程序。用的是 jvmti。这样可以防止class loader被反编译导致加解密算法泄漏,应该算比较好的一种解决方案了。
如果只是为了使用和发布方便,不需要保护java代码,使用这些工具是很好的选择。
想不被反编译是不可能的。混淆器可以吧所有变量名,函数名,类名(系统类,函数名不变)统统用一两个字母代替,可以缩短代码长度,并且被反编译以后难以理解含义增加阅读难度。
防止JAVA代码被反编译的方法
1、无法防止。.class文件的标准是公开的,无法防止别人反编译你的代码。你顶多可以用代码扰乱工具扰乱你的代码,这样反编译的代码就难以阅读。比如可以试试用proguard来扰乱(“加密”)和反扰乱(“解密”)你的代码。
2、java本就是开源的,你加密感觉怪怪的。想防止反编译,最简单的方法就是你可以向Jar注入无效代码。比如建一个类,建一个没有意义的方法private class Invalid{ },然后输出为jar。
3、如果只是为了使用和发布方便,不需要保护java代码,使用这些工具是很好的选择。
4、1 关键代码使用jni调用本地代码,用c或者c++编写,因此相对比较难于反编译 2 混淆java代码。混淆是不改变代码逻辑的情况下,增加无用代码,或者重命名,使反编译后的源代码难于看懂。
文章题目:避免java代码反编译 jar 防止反编译
文章转载:http://ybzwz.com/article/dedsopi.html