2013-10-27 49 views
3

是否有任何开源编译器的Java是能够产生字节码更少的输出?我正在销售Java应用程序,并阻止人们对我的程序进行逆向工程并免费提供。编译Java到本机代码

+1

我会读[文章](http://www.excelsior-usa.com/articles/java-obfuscators.html)得到的那里有什么想法。 –

+1

该风险通常比您想象的要低很多(除了某些应用领域)。这是不是有点讽刺,你正在寻找一个免费的解决方案? –

+0

*“..阻止人们逆向工程我的程序..”*如果它是废话,他们不会打扰。如果它不是垃圾,没有什么会阻止它们(转换为本地只会使它稍微难一些)。追求这个合法的,而不是通过编程。 –

回答

0

有办法让Java代码难于逆向工程,例如代码混淆器像ProGuard但不会从给它免费停车的人。

从给它远离你需要使用某种分配给每个客户序列关键的阻止人们。至少这样,如果他们把它拿走,你就知道是谁做的。

+1

*要阻止人们将其分发,您需要使用分配给每个客户的某种序列号。*哇?什么阻止他们撕掉检查序列键的代码,因为他们可以读取字节码? –

0

如果在计算机上运行,​​它可以被反向工程。你需要的是使用模糊处理。这样,您的代码将难以再现,因为混淆代码中的逻辑比您最初编写的代码复杂得多。

+1

但逆向工程汇编程序比反转Java字节码复杂得多。是的,也有去混淆器。 –

+0

Re混淆器,你可能想阅读我的文章_ [保护你的Java代码 - 通过混淆器和超越](http://www.excelsior-usa.com/articles/java-obfuscators.html)_(免责声明:我工作对于其中提到的其中一种工具的供应商)。 –