Java混淆 - ProGuard/yGuard/other?

ror*_*ryf 19 java obfuscation proguard yguard java-me

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

用于减小大小的最佳Java混淆应用程序 创建非反向可执行的Java程序

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

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

Poo*_*ool 7

我的项目的结果.

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

所以,我建议ProGuard - 但配置和ant整合肯定会得到改善.


小智 6

Proguard是一种更好的产品; 特别是如果你花时间去完成J2ME的设置.

特别是对于J2ME,有一种更好的(商业)产品叫做mBooster

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