【发布时间】:2017-11-24 22:46:45
【问题描述】:
我想知道是否有一种方法可以生成我的 maven 项目的混淆可构建版本并将其分发给客户,混淆只是为了保护并使其难以窃取。
我正在使用 proGuard 来混淆 jar,但是这种混淆是在 ByteCode 级别,就像在这个线程中回答的一样 Obfuscate Java Source Code
如果 混淆 是不可能的,我怎样才能分发我的源代码并确保它不会被窃取(或者只是让它变得困难,通过组织不好),尽管客户端应该能够构建和运行代码。
编辑:需要执行操作:
1- 从源代码中删除所有 cmets。
2- 将所有类合并到一个包中。
3- 具有无意义的类名:(例如 A、B、C ..)
4- 删除所有单元测试。
【问题讨论】:
-
如果你的客户不能使用你的源代码,你为什么要给他们?为什么不直接给他们编译好的 Jar?
-
他们到底想验证什么?如果混淆了,肯定不是源代码?一个可运行的发行版还不足以让他们运行测试吗?
-
@josephino 您希望他们对混淆的源代码进行安全审计?
-
@josephino 你说:他们想看看源代码里面没有任何东西代表安全风险。但你想为他们提供混淆 i> 源代码。你不认为这会让他们很难审核吗?
-
@josephino 我会说您的选择是 1)按原样提供源代码并让他们审核,或者 2)不提供源代码。只有你能回答哪个是最好的选择。
标签: java maven proguard obfuscation source-code-protection