关于Java混淆:Java混淆-ProGuard / yGuard /其他?

Java obfuscation - ProGuard/yGuard/other?

这与这些最近的问题类似:

最佳Java混淆应用程序,可减少大小
创建不可逆工程的Java程序

但是,最后还是推荐了yGuard和另一个ProGuard,但都没有提到两者。 我想知道我们是否可以对每个人进行比较,并从围栏的两侧听到人们的经历。 查看ProGuard网站上的比较表,它与ProGuard明显成角度。 但是,每种产品的实际经验如何-哪一种产品的产量较小? 哪一个更难以反编译? 每个版本支持哪些Java版本?

我个人从J2ME的角度特别感兴趣,但是请不要将讨论仅限于此。


我的项目的结果。

  • 混淆-都很好。
  • 优化-ProGuard产生的代码速度提高了20%(针对所测量的应用瓶颈)。
  • 紧凑性-ProGuard缩小约5%。
  • 配置/蚂蚁-YGuard易于配置。

因此,我建议ProGuard-但绝对可以改善配置和蚂蚁集成。


Proguard是更好的产品;特别是如果您花时间浏览J2ME的设置。

专门针对J2ME,有一种更好的(商业)产品,称为mBooster

经过Proguard之后,我的应用程序的尺寸已得到了大约25%的改善。这主要与对Jar文件的更好的Zip压缩以及对类合并和预验证的全面支持有关。


我的看法是-ProGuard更好。输出小一点。优化更好,更快。

在这两种情况下,反编译都很简单。好吧,我的意思是,如果您精通Java并且真的了解您要反编译的业务逻辑,那么将其从混淆类的源中找回是没有问题的。

因此,我认为ProGuard更好。