如何创建一个不允许其他人反编译并获取源代码的.jar文件?甚至可以在不加密的情况下将其解密,然后在JVM中加载时对其进行解密?至此,我不希望别人窃取我的节目。
答案 0 :(得分:3)
您可以使用ProGuard(http://proguard.sourceforge.net)或类似工具对代码进行模糊处理。它不会给你很好的保护,但如果有人反编译它会让你更难理解代码。
答案 1 :(得分:1)
混淆是你正在寻找的。
对于免费的混淆器,有ProGuard。 http://proguard.sourceforge.net/
它完成了工作,但除非你稍微搞乱一下设置,否则它仍然很容易阅读。例如,您可以将类和方法混淆为令人难以置信的长名称,但是使用默认设置再次使用ProGuard可以使类名称再次混淆。
如果你愿意花钱,Allatori和ZKM很棒(但非常昂贵!)。
http://www.allatori.com/price.html
http://www.zelix.com/klassmaster/order.html
Allatori可能是我的最爱,但我认为如果你花一些时间搞乱设置,ProGuard会正常工作。
答案 2 :(得分:0)
比混淆更好的是对类文件进行加密,因此类文件对于反编译器来说不再具有可读性。
JarProtector:http://bfa-it.com/?lang=en&id=products/jarprotector
ClassGuard:https://www.zenofx.com/classguard
Java Antidecompiler:https://marketplace.eclipse.org/content/java-antidecompiler