我想知道是否有办法生成我的maven项目的模糊的可构建版本并将其交给客户端,混淆只是为了保护并使其难以窃取。 / p>
我正在使用 proGuard 来混淆jar,但是这个混淆是在ByteCode级别,就像在这个帖子中回答Obfuscate Java Source Code
一样如果无法使用混淆,我该如何分发我的源代码并确保它不会被被盗(或者只是让它变得困难,尽管客户端应该能够构建和运行代码。
编辑:需要执行操作:
1-从源代码中删除所有评论。
2-将所有类合并到一个包中。
3-有无意义的类名:(例如A,B,C ..)
4-删除所有单元测试。
答案 0 :(得分:7)
混淆的目的是隐藏源代码,使逆向工程变得不可能。 proGuard非常适合这一点。
当您将源代码提供给客户时,您想要的是法律保护您的源代码。最好的办法是与律师交谈,以便为您的客户将收到并签署的给定代码附上法律形式,承认代码是您的,并且他不能将其重新用于不同的目的,如合同。