将源代码隐藏在.jar文件中

AGE*_*GEM 7 java encryption obfuscation encoding

可以轻松提取.jar文件并查看源代码.我想保护源代码不被看到.一个可能的答案是密码保护文件,就像我们为zip文件做的那样.

但是,如果密码已知,则可以很容易地看到源代码.

有没有办法隐藏源代码,仍然可以运行?类似于.exeWindows中的内容.这应该在Windows和Linux环境中运行.

ger*_*tan 5

看看ProGuard,它是一个流行的 Java 混淆器。至于将您的 Java 程序打包为 Windows 可执行文件,这篇文章可能对您有所帮助:如何将我的 Java 程序转换为 .exe 文件?


Pet*_*ter 5

你想要搜索的是"java obfuscation".有很多工具可以帮助解决这个问题,但是如果想要你的代码的人真的想要它,那将是一场失败的战斗.如果这是一个严重的问题,你应该用C++编写.

  • 或者您可以在Perl中编写它,并分发源代码.通常连一两个星期后作者都无法解码:) (7认同)
  • 当然,如果人们*真的想要你的代码,那么C++只是一个稍大的威慑力. (4认同)

Ste*_*n C 5

人们可以轻松地提取 .jar 文件并查看源代码。

严格来说,这不是真的。除非您确实在 JAR 中包含了源代码文件,否则别人是看不到原始源代码的。但是他们可以(通常)将 JAR 文件中的“.class”文件反编译为 Java 源代码,该代码在功能上等同于您的原始源代码。

正如其他答案所述,您可以让试图对您的代码进行逆向工程的人更难;例如,通过使用混淆器或自定义类加载器来解密以加密形式存储在 JAR 文件中的代码。但是,您无法做任何事情都足以阻止坚定的黑客破坏您的措施。没有。

保护您的代码免受逆向工程影响的唯一实用方法是不发布它。或者使用软件许可或其他合法手段来达到你的目的。