我正在寻找一个好的Java混淆器.
我已经对以下Java混淆器进行了初步研究:proguard,yguard,retroguard,dasho,allatori,jshrink,smokescreen,jobfuscate,marvin,jbco,jode,javaguard,jarg,joga,cafebabe,donquixote,mwobfu,bbmug,zelix klassmaster ,sandmark,jcloak,丛林,blufuscator和java代码保护.
我试过proguard它有一个非常好的GUI,看起来非常稳定,似乎是最流行的,但它似乎不喜欢引用的jar文件上的一些枚举(不在我试图混淆的代码中)这很奇怪.Yguard似乎需要与蚂蚁进行一些互动,我对此并不太了解.
什么是好的java混淆器?它不需要是免费的,它只需要很好地工作并且易于使用.
我对我的所有发布版本都大量使用ProGuard,我发现它非常棒.我不能推荐它!
我曾经遇到过几次由于它的优化引起的模糊错误,我现在全面禁用优化 - 从那时起就没有ProGuard引起的问题.虽然,公平地说,这些都是相当多的版本 - YMMV.
我以前只使用GUI 来启动配置,然后我自己编辑文本配置,这真的很简单.这些天我手工配置.
我有很复杂的项目,所有项目都涉及动态加载和反射.我也大量使用反射来实现回调.ProGuard很好地应对了这些问题.
编辑:我们也使用DashO Pro作为我们的产品之一 - 我调查了它是否包装了我负责的产品,并得出结论认为它的配置过于复杂和复杂; 将它集成到构建脚本中似乎有点痛苦.但同样,公平地说,这大约是2001年......所以在当前版本中可能会更好.
本文中给出了一系列免费和商业工具的链接
"保护您的Java代码 - 通过混淆器和超越"
作者还讨论了字节码混淆的优缺点