如何保护Jar文件不被反编译?

Pou*_*uya 10 java decompiling protection jar

我正在使用java开发应用程序,但我不打算发布代码.问题是,我测试了其中一个jar反编译器,它能够几乎完美地从我的jar文件中获取代码!我的问题是如何在不从中提取代码的情况下分发我的jar文件?

MBy*_*ByD 9

由于Java在编译期间保留了大部分"元数据"(允许动态加载和反射),因此直接对编译后的类文件进行反编译(不仅是反汇编).这就是恢复的代码与原始代码非常相似的原因.

虽然不完美,但您可能唯一的选择是使用混淆器,例如ProGuard.


dty*_*dty 6

你不能.至少,JVM需要输出代码才能运行它.如果JVM可以获取代码,任何人都可以.

你可以做的最好的事情是混淆代码,但我建议不要使用它,因为它会使跟踪生产错误非常困难,因为堆栈跟踪很难遵循.