如何使Java程序成为封闭源代码?

时间:2017-12-26 14:44:26

标签: java reverse-engineering

当通过使用jad或类似程序轻松检索源代码时,Java程序如何成为闭源?

例如,可以解压缩jar以获取类文件,这些文件可以再次反编译,读取,编辑和编译。 那怎么样?

因为专有许可证不会隐藏代码。

3 个答案:

答案 0 :(得分:1)

您最好的选择是在宣传之前模糊代码。

基本思路是取代所有可读的"名称(例如," fetchTaxRate")名称尽可能短(例如," a")。如果您在源中有说明" taxManager.fetchTaxRate(customerClass,countryID);"这可能最终成为" aB.e(zY,Q);"任何试图反编译二进制文件的人都会看到后者而不是前者。

关于混淆的好文章是https://www.excelsior-usa.com/articles/java-obfuscators.html

这篇文章还有一个混淆器列表,我亲自使用的那个(ProGuard)列在其中。

答案 1 :(得分:0)

“封闭源”是指未发布源代码,而不是无法获取代码的表示。

在反编译时,混淆的代码很难读取,但是,随着时间,工具和决定,所有代码的秘密都会下降。

答案 2 :(得分:-2)

嗯,我能提出的最好的建议是Web开发人员做了什么,这使得算法无法读取。您可以从代码中删除每个空格或制表符(当然使用算法),然后将var名称混淆等等。