有没有办法以不可逆向工程的格式部署 Java 程序?
我知道如何将我的应用程序转换为可执行的 JAR 文件,但我想确保代码不能被逆向工程,或者至少不容易被逆向工程。
源代码的混淆不算……它使代码更难理解,但不会隐藏它。
一个相关的问题是如何锁定已编译的 Java 类以防止反编译?
完成程序后,我仍然可以访问原始源,因此维护应用程序不会成为问题。如果应用程序是分布式的,我不希望任何用户能够反编译它。混淆并不能实现这一点,因为用户仍然可以反编译它,虽然他们很难遵循操作流程,但他们将能够看到代码,并可能从中获取信息。
我担心的是代码中是否有与远程访问相关的任何信息。应用程序使用用户提供的用户 ID 和密码连接到一个主机。如果该地址位于源代码中,有没有办法向用户隐藏主机地址?