Java混淆-ProGuard / yGuard /其他?

时间:2020-03-06 14:53:48  来源:igfitidea点击:

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

最佳Java模糊处理应用程序,可减少大小
创建不可逆工程的Java程序

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

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

解决方案

我认为ProGuard更好。输出小一点。优化更好,更快。

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

因此,我认为ProGuard更好。

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

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

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

我的项目的结果。

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

因此,我建议使用ProGuard,但绝对可以改善配置和ant集成。