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

时间:2012-04-19 00:35:48

标签: java android obfuscation proguard

proguard会不会模糊静态字符串常量?

4 个答案:

答案 0 :(得分:65)

ProGuard不会混淆字符串常量,如FAQ中所述。它最新的Android专用闭源兄弟DexGuard提供了其他应用程序保护技术,如字符串加密和类加密。

(我是ProGuard和DexGuard的开发者)

答案 1 :(得分:11)

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

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

另见Allatori Java Obfuscator

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

答案 2 :(得分:8)

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

答案 3 :(得分:3)

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

字符串文字模糊在理论上是可行的,但是有必要使用一个特殊的类加载器,在从类文件中读取字符串文字时对其进行去模糊处理。这将是棘手的。最重要的是它没有达到太多,因为有人可以通过附加Java调试器运行你的应用程序来轻松恢复原始字符串。