混淆Java源代码以分发给客户

时间:2017-06-21 20:55:30

标签: java maven proguard obfuscation source-code-protection

我想知道是否有办法生成我的maven项目的模糊的可构建版本并将其交给客户端,混淆只是为了保护并使其难以窃取。 / p>

我正在使用 proGuard 来混淆jar,但是这个混淆是在ByteCode级别,就像在这个帖子中回答Obfuscate Java Source Code

一样

如果无法使用混淆,我该如何分发我的源代码并确保它不会被被盗(或者只是让它变得困难,尽管客户端应该能够构建和运行代码。

编辑:需要执行操作:

1-从源代码中删除所有评论。

2-将所有类合并到一个包中。

3-有无意义的类名:(例如A,B,C ..)

4-删除所有单元测试。

1 个答案:

答案 0 :(得分:7)

混淆的目的是隐藏源代码,使逆向工程变得不可能。 proGuard非常适合这一点。

当您将源代码提供给客户时,您想要的是法律保护您的源代码。最好的办法是与律师交谈,以便为您的客户将收到并签署的给定代码附上法律形式,承认代码是您的,并且他不能将其重新用于不同的目的,如合同。