Java混淆器

时间:2008-11-21 23:21:50

标签: java obfuscation

我正在寻找一个优秀的Java混淆器。

我已经对以下Java混淆器进行了初步研究:proguard,yguard,retroguard,dasho,allatori,jshrink,smokescreen,jobfuscate,marvin,jbco,jode,javaguard,jarg,joga,cafebabe,donquixote,mwobfu,bbmug ,zelix klassmaster,sandmark,jcloak,thicket,blufuscator和java code protector。

我尝试了proguard,它有一个非常好的GUI,看起来非常稳定,似乎是最受欢迎的,但它似乎不喜欢引用的jar文件上的一些枚举(不在我试图混淆的代码中)这很奇怪。 Yguard似乎需要与ant进行一些互动,我对此并不太了解。

什么是好的java混淆器?它不需要是免费的,只需要很好地工作并且易于使用。

6 个答案:

答案 0 :(得分:20)

我对我的所有发布版本都大量使用ProGuard,我发现它非常好。我不能推荐它!

已经遇到了多次由于优化引起的模糊错误,我现在全面禁用了优化 - 从那时起就没有ProGuard引起的问题。虽然,公平地说,这些都是相当多的版本 - YMMV。

我以前只使用GUI 来启动配置,然后我自己编辑文本配置,这真的很简单。这些天我手工配置。

我有非常复杂的项目,所有项目都涉及动态加载和反射。我也大量使用反射来实现回调。 ProGuard很好地应对了这些问题。

编辑:我们也使用DashO Pro作为我们的产品之一 - 我调查了包装我负责的产品,并得出结论认为它的配置过于复杂和复杂;将它集成到构建脚本中似乎有点痛苦。但同样,公平地说,这大约是2001年......所以在当前版本中可能会更好。

答案 1 :(得分:11)

本文中提供了一系列免费和商业工具的链接

"Protect Your Java Code - Through Obfuscators And Beyond"

作者还讨论了字节码混淆的优点和缺点

答案 2 :(得分:3)

ProGuard有什么问题? (由this questionthis one推荐)。

troubleshooting部分有关于调查员的内容,但似乎将其考虑在内just fine

然而,混淆打破了一些反思的尝试,即使现代混淆器可以检测并在某种程度上调整他们混淆的代码中的反射用法。

答案 3 :(得分:2)

我在商业应用程序中使用了Zelix Klassmaster多年,发现它非常出色。我在混淆的代码中投入了相当多的资源,并且无法“破坏”它。它价格昂贵,但很好。

当我的版本变得足够大以至于升级成本很高时,我才停止使用它。我的需求发生了变化,我不再需要对这些课程进行模糊处理。但是,如果需要再次出现,我会支付费用并快速使用它。

干杯,

-Richard

答案 4 :(得分:1)

我们正在使用Zelix Klassmaster几年,我可以推荐它。

答案 5 :(得分:1)

我使用并建议Zelix - 100% - 非常稳固和强大的保护