【问题标题】:How to prevent reverse engineering of jar/war/ear file如何防止 jar/war/ear 文件的逆向工程
【发布时间】:2012-07-26 18:22:37
【问题描述】:

我需要防止 jar/war/ear 文件,我们会将这些文件提供给客户端,并且不希望客户端出于任何原因对文件进行逆向工程。直到他要求我们。

请任何人提供一些建议或有任何 api 来实现这个吗?

【问题讨论】:

    标签: java reverse-engineering


    【解决方案1】:

    使用obfuscation tools 让它变得更难一些

    【讨论】:

    • 你知道这样的工具吗,请告诉我
    【解决方案2】:

    虽然我自己没有使用过,但我听说很多人提到ProGuard 是一个很好的解决方案。

    【讨论】:

      【解决方案3】:

      如果

      1. 您不需要完全符合 Java EE 并且可以使用 Tomcat
      2. 编译为本机代码

      那么一种可能的解决方案是 Exelcior Jet。我长期以来一直在使用他们的专业版来开发桌面应用程序,但他们的企业版也适用于 Web 应用程序。

      http://www.excelsiorjet.com/

      编辑:像 ProGuard 这样的混淆工具有助于使逆向工程变得困难(通过更改方法和类的名称),但仍然只需要一些努力和知识来翻译回代码。但是,如果你编译成原生代码,那么逆向工程是非常困难的。此外,您不需要在客户端机器上安装 Java 运行时(目前这对您来说当然不是问题)。 Excelsior Jet 是一种将 Java 代码编译为本机代码的工具。它有点贵,例如他们的企业版需要 1500 美元,但对于某些项目来说,这是值得的。它们有不同的版本可以编译为 Windows 本机代码和 Linux 本机代码。 Excelsior Jet 的本机代码也可以针对不同的变量进行优化,例如内存、占用空间和分布大小等等。

      总结:与混淆工具相比,通过编译为本机代码,逆向工程可能变得极其困难和昂贵。

      【讨论】:

        猜你喜欢
        • 2012-09-05
        • 1970-01-01
        • 2014-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-30
        • 2014-12-02
        相关资源
        最近更新 更多