proguard是否可以模糊静态字符串常量?

Cod*_*oid 41 java obfuscation android proguard

proguard会工作来模糊静态字符串常量吗?

Eri*_*une 67

正如其常见问题解答中所述,ProGuard不会混淆字符串常量.它最新的Android专用闭源兄弟DexGuard提供了额外的应用程序保护技术,如字符串加密和类加密.

(我是ProGuard和DexGuard的开发人员)

  • +1 DexGuard 是用于保护应用程序中字符串的商业产品。我个人使用位移操作,但不提倡对于<b>必须</b>经得起攻击者的值。 (2认同)

Iva*_*ash 11

不,ProGuard不加密字符串常量(Proguard FAQ Link)

但是有一些商业产品可以帮助你.我建议使用Stringer Java Obfuscator,因为它具有检查调用上下文和完整性控制功能,这使得逆向工程尽可能难.IMHO Stringer是当今市场上最好的Java和Android字符串加密器.

另请参阅Allatori Java Obfuscator.

NB我是Licel LLC的首席执行官.Stringer Java Obfuscator的开发人员.

  • @ sarah.ferguson商业产品本质上不是免费的,是的. (6认同)

Ósc*_*pez 8

ProGuard 所做的事情(如果正确配置)是内联字符串常量.混淆它们没有多大意义,想一想,字符串常量可以用来向用户表示消息,如果它被混淆会有什么好处呢?


Ste*_*n C 3

根据我对手册中混淆选项的阅读,答案是否定的。

字符串文字混淆在理论上是可能的,但有必要使用特殊的类加载器,在从类文件读取字符串文字时对字符串文字进行反混淆。这会很棘手。最重要的是,它并没有实现太多目标,因为有人可以通过附加 Java 调试器运行应用程序来轻松恢复原始字符串。