【发布时间】:2016-05-16 06:41:56
【问题描述】:
我有一个棘手的情况,我想保护客户端机器上可用的 jar 文件。
我有一个 java 项目,我正在使用 build.xml 生成 jar 文件,该文件可在客户端机器安装后使用。
现在我需要保护 jar 文件中可用的代码,如果所有客户端/s 将尝试反编译然后查看代码库。
当客户端尝试使用 UI 触发我的项目时,我有一个依赖项,我将在服务器中生成 java 文件,然后 在客户端机器上下载这个 java 文件,然后编译 java文件以获取 .class。下载到客户端的 java 文件将引用 jar 文件及其在 jar 中的功能。
我担心如果我使用 proguard 或其他工具进行代码混淆,jar 中的所有函数名称都会更改并且下载的 java 文件将无法在客户端计算机中编译 strong> 由于此 java 文件与 jar 具有的函数调用不匹配。
我无法更改任何正在生成 java 文件并在运行时下载到客户端计算机的服务器端逻辑。
我想要任何我想在不破坏编译的情况下保护客户端机器上的 jar 文件的逻辑。主要是我不希望客户使用他机器中可用的 jar 来查看我的代码。
任何帮助都非常感谢,在此先感谢
【问题讨论】:
-
您必须告诉混淆器保留您需要在 Java 文件中引用的符号名称。
-
罐子只是花哨的 zip 文件。除了混淆之外,您无能为力。你应该假设客户端机器上的任何东西都不安全。
标签: java jar obfuscation decompiling java-security