19

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

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

然而,一个人最终推荐了 yGuard 和另一个 ProGuard,但两者都没有提及。我想知道我们是否可以对每一个进行比较,并从围栏两边听取人们的经验。在 ProGuard 网站上查看此比较图表,它明显倾向于 ProGuard。但是每个人的真实世界经验如何——哪一个产生的输出更小呢?哪个更难反编译?每个版本都支持哪些 Java 版本?

我个人对 J2ME 的观点特别感兴趣,但请不要将讨论局限于此。

4

3 回答 3

7

我的项目的结果。

  • 混淆- 两者都很好。
  • 优化- ProGuard 生成的代码速度提高了 20%(针对测量的应用程序瓶颈)。
  • 紧凑性- ProGuard 小约 5%。
  • 配置 / Ant - YGuard 更容易配置。

所以,我建议 ProGuard - 但配置和 ant 集成肯定可以改进。

于 2009-12-05T20:03:27.233 回答
6

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

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

在通过 Proguard之后,我的应用程序的大小已经得到了大约 25% 的改进。这主要是为了更好地对 Jar 文件进行 Zip 压缩以及对类合并和预验证的全面支持。

于 2008-10-01T11:45:24.063 回答
0

我的意见是 - ProGuard 更好。输出小了一点。优化更好更快。

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

所以,我认为 ProGuard 更好。

于 2008-09-29T21:31:16.043 回答