我需要防止 jar/war/ear 文件,我们会将这些文件提供给客户端,并且不希望客户端出于任何原因对文件进行逆向工程。直到他要求我们。
请任何人提供一些建议或是否有任何 api 来实现这一点?
我需要防止 jar/war/ear 文件,我们会将这些文件提供给客户端,并且不希望客户端出于任何原因对文件进行逆向工程。直到他要求我们。
请任何人提供一些建议或是否有任何 api 来实现这一点?
虽然我自己没有使用过它,但我听说很多人提到ProGuard是一个很好的解决方案。
如果
那么一种可能的解决方案是 Exelcior Jet。我长期以来一直在使用他们的专业版来开发桌面应用程序,但他们的企业版也适用于 Web 应用程序。
编辑:像 ProGuard 这样的混淆工具有助于使逆向工程变得困难(通过更改方法和类的名称),但仍然只需要一些努力和知识来翻译回代码。但是,如果你编译成原生代码,那么逆向工程是极其困难的。此外,您不需要在客户端机器上安装 Java 运行时(目前这对您来说当然不是问题)。Excelsior Jet 是一种将 Java 代码编译为本机代码的工具。它的企业版有点贵,例如 1500 美元,但对于某些项目来说,这是值得的。它们有不同的版本可以编译为 Windows 本机代码以及 Linux 本机代码。Excelsior Jet 的本机代码也可以针对不同的变量进行优化,例如内存、占用空间和分布大小等等。
Summary: By compiling to native code, reverse engineering can be made extremely difficult and costly as compared to obfuscation tools.