我想公开我的桌面java应用程序,但我不知道如何保护它免受逆向工程或源代码窃取?有没有可能将应用程序转换为exe文件?如果有,这还不足以保护它吗?
hc2pp10m1#
如果真的值得有人花时间从二进制文件中逆向工程你的源代码,他们会的。你可能会使它稍微困难一点,但从来没有不可能。
vddsk6oq2#
您可以使用ProGuard之类的Java模糊处理器。ProGuard是一个免费的Java类文件压缩器、优化器、模糊器和预验证器。它检测并删除未使用的类、字段、方法和属性。它优化字节码并删除未使用的指令。**它使用简短的无意义名称重命名剩余的类、字段和方法。**最后,它预验证Java 6或Java Micro Edition的已处理代码。
bfhwhh0e3#
Java可执行文件和本机可执行文件都只是一堆机器码(带有可选的注解和其他东西),因此在逆向工程的容易程度方面基本上没有区别。如果使用javac进行编译,可以使用-g:none标志来消除编译到可执行文件中的所有调试信息。
-g:none
3条答案
按热度按时间hc2pp10m1#
如果真的值得有人花时间从二进制文件中逆向工程你的源代码,他们会的。你可能会使它稍微困难一点,但从来没有不可能。
vddsk6oq2#
您可以使用ProGuard之类的Java模糊处理器。
ProGuard是一个免费的Java类文件压缩器、优化器、模糊器和预验证器。它检测并删除未使用的类、字段、方法和属性。它优化字节码并删除未使用的指令。**它使用简短的无意义名称重命名剩余的类、字段和方法。**最后,它预验证Java 6或Java Micro Edition的已处理代码。
bfhwhh0e3#
Java可执行文件和本机可执行文件都只是一堆机器码(带有可选的注解和其他东西),因此在逆向工程的容易程度方面基本上没有区别。
如果使用javac进行编译,可以使用
-g:none
标志来消除编译到可执行文件中的所有调试信息。