如何保护Java类文件中的逻辑?

时间:2015-07-20 19:28:28

标签: java obfuscation reverse-engineering decompiling

我想在第三方的Java基础架构上运行专有算法。他们给了我一个带有适当物品的罐子,让我可以反对。我的想法是给他们一个实现我的算法的类。

在反编译的易用性方面,编译的Java类如何与jar进行比较?"

我认为保护一个IP不受逆向工程的最佳方法就是通过混淆器来运行它,如How to protect a Jar file from being decompiled?

所述。

除非他们的基础设施必须访问我班级中的命名方法,否则混淆器甚至会提供 级别的保护?或者如果一个人给另一方编译Java类,那么几乎没有工作需要对算法进行反向工程?如果是后者,那么其他什么方法可以提供更多的安全性呢?

(我意识到所有可访问代码都可以进行逆向工程。我只是希望它需要合理的工作量 - 理想情况下是编译C级别的东西。)

1 个答案:

答案 0 :(得分:2)

要了解反编译Java类和JAR的容易程度,请参阅this decompiler。如果您需要公开或实施公共API,那么您在可以混淆的内容方面受到限制。

只要人们可以访问您的Java二进制文件,就很难防止逆向工程。您可以尝试使用其中一个JVM脚本引擎(rhino,...)来实现您的算法并保护脚本,但是您可能会因某个堆转储正在运行的算法而摆布。