【问题标题】:prevent jar file from extracting防止提取jar文件
【发布时间】:2012-02-18 13:08:48
【问题描述】:

我不希望任何人提取 my.jar 文件。我在 my.jar 中混淆了我的代码,但我希望任何人都无法提取它。我也知道 Jar_Signing 对我没有帮助。 怎么样?

【问题讨论】:

    标签: java jar executable-jar jarsigner


    【解决方案1】:

    不可能。如果没有人可以提取它,JVM如何能够将类文件取出来?

    【讨论】:

    • 感谢您的意见,但我想例如阻止 my.jar 通过密码提取(示例)并在启动时为 jvm 设置此密码。
    • 啊,你没有在问题中这么说。我不相信这是可能的。即使是你也必须向所有想要运行/使用你的 JAR 的人提供密码——此时他们可以提取它!
    • @MJM:那么您必须将密码与您的 JAR 一起分发 - 并且用户可以再次提取 JAR,因为密码可用...
    • 如果你能做到这一点,黑客就可以破解 JRE。如果您不希望人们窃取您的代码,请不要分发它。但这无论如何都是无稽之谈,因为 1) 没有人想窃取您的代码。 2) 即使他们想“窃取”你的想法,也有合法的方法可以做到这一点,而无需查看代码。
    • @MJM - 如果您分发包含代码的 JAR 文件,您就是在分发代码。
    【解决方案2】:

    您可以尝试以 \x0 作为前缀重命名类,并破坏您的类的 CRC32。 jvm 不会检查 CRC32,但是一旦您尝试使用标准工具提取 jar,它将阻止提取。

    【讨论】:

      猜你喜欢
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      • 2014-11-16
      • 1970-01-01
      相关资源
      最近更新 更多