0

我想向公众公开我的桌面 Java 应用程序,但我不确定如何保护它免受逆向工程或源代码窃取?

是否可以将应用程序转换为exe文件?如果是,那还不足以保护它吗?

4

3 回答 3

5

您可以使用 Java 混淆器,例如ProGuard

ProGuard 是一个免费的 Java 类文件收缩器、优化器、混淆器和预验证器。它检测并删除未使用的类、字段、方法和属性。它优化字节码并删除未使用的指令。它使用无意义的短名称重命名剩余的类、字段和方法。最后,它会为 Java 6 或 Java Micro Edition 预先验证处理后的代码。

于 2011-08-12T20:12:46.807 回答
5

如果有人真的值得花时间从二进制文件中对源代码进行逆向工程,他们会的。你也许可以让它稍微难一些,但绝不是不可能的。

于 2011-08-12T20:00:38.153 回答
3

Java 可执行文件和本机可执行文件都只是一堆机器代码(带有可选的注释和东西)。因此,就逆向工程的难易程度而言,基本上没有区别。

如果您使用 javac 进行编译,则可以使用该-g:none标志来消除所有调试信息,使其不被编译到可执行文件中。

于 2011-08-12T19:56:54.473 回答