我们同时开发 Android 和 Java 项目,我们需要一个具有加密能力的混淆器工具。价格不是问题。你能给我什么建议?可用于 Java 和 Android 项目的最佳混淆器是什么?
2 回答
一些混淆器是,
ProGuard
ProGuard 是一个免费的 Java 类文件收缩器和混淆器。它可以检测和删除未使用的类、字段、方法和属性。然后,它可以使用无意义的短名称重命名剩余的类、字段和方法。由此产生的罐子更小,更难逆向工程。
yGuard
yGuard 是 RetroGuard 的改进版本,带有一个 ant 任务。
乔德
JODE 是一个包含反编译器和 Java 优化器的 java 包。优化器可以通过脚本文件控制以各种方式转换类文件。它支持以下操作:
- 将类、方法、字段和本地名称重命名为更短、混淆或唯一的名称,或根据给定的转换表
- 删除调试信息
- 删除死代码(类、字段、方法)和常量字段
- 优化局部变量分配
JavaGuard
JavaGuard 是一种通用字节码混淆器,旨在轻松融入您的常规构建和测试过程,让您高枕无忧,让您的宝贵 Java 代码更安全地防止反编译和其他形式的逆向工程。
罐子
jarg 减小了存储 java 类文件的 jar 文件的大小。“可以简单地进行规模缩减”是第一个目标。但是,通过jarg处理的结果是,Java类文件由于被优化,所以变得更快,并且由于被重命名,变得更难分析。也就是说,jarg 是“Java Optimizer”,它是“Java Obfuscator”,也是“Java Shrinker”或“Java Reducer”。
Proguard 的(java 和 android,开源)兄弟 DexGuard(android,闭源)进行字符串加密。
见:https ://www.guardsquare.com/en/dexguard
我还要补充一点,proguard 页面还列出了很多其他(!)混淆器:https ://www.guardsquare.com/en/proguard#alternatives.html