是否存在一个混淆方法体但是保留方法名称的java混淆器?

时间:2011-06-18 14:36:20

标签: java obfuscation

我想要的是混淆我的java文件,但希望保持类名和方法名不变。有没有提供此类功能的java混淆器?

我曾尝试过亲卫gui混淆器,但无法得到我想要的东西。

5 个答案:

答案 0 :(得分:3)

ProGuard可以按照您的描述进行操作。如果您不希望它重命名类和方法:

-keep,allowshrinking,allowoptimization class * { <methods>; }

如果您不希望它重命名,删除或优化任何入口点(例如合并类,内联短方法,内联常量字段,删除未使用的参数等):

-keep class * { *; }

此时,没有太多空间来优化或混淆方法体,因此您可能想要评估这是否真的是您想要的。

答案 1 :(得分:2)

Allatori。它允许您指定不想重命名的名称。

要展开,您可以使用配置文件指定要保留的名称。

<keep-names>
    <class access="private+"/>
    <field access="private+"/>
    <method access="private+"/>
</keep-names>

上面的代码段显示了如何省略名称混淆。此特定示例忽略具有私有访问权限或更高权限的类,字段和方法类型(即所有类,字段和方法类型)。

答案 2 :(得分:1)

答案 3 :(得分:1)

请参阅我们的Java Obfuscator。您可以告诉它必须在模糊程序中保留哪些标识符。

答案 4 :(得分:0)

我工作的公司长期以来制作了一个名为dashO的java混淆器,可以做到这一点。因此,如果您愿意,请将其添加到evals列表中以尝试:)