【发布时间】:2008-09-29 18:07:53
【问题描述】:
有没有办法以不可逆向工程的格式部署 Java 程序?
我知道如何将我的应用程序转换为可执行的 JAR 文件,但我想确保代码不能被逆向工程,或者至少不容易被逆向工程。
源代码的混淆不算...它使代码更难理解,但不会隐藏它。
一个相关的问题是How to lock compiled Java classes to prevent decompilation?
完成程序后,我仍然可以访问原始源代码,因此维护应用程序不会成为问题。如果应用程序是分布式的,我不希望任何用户能够反编译它。混淆并不能实现这一点,因为用户仍然可以对其进行反编译,虽然他们很难遵循操作流程,但他们将能够看到代码,并可能从中获取信息。
我担心的是代码中是否有任何与远程访问相关的信息。应用程序使用用户提供的用户 ID 和密码连接到一个主机。如果该地址位于源代码中,有没有办法向用户隐藏主机地址?
【问题讨论】:
-
已经在这里问过:这已经在这里问过:stackoverflow.com/questions/49379/…
-
为什么用户不知道数据库服务正在您连接的 IP 地址上运行很重要?
标签: java jar compilation