proguard会不会模糊静态字符串常量?
答案 0 :(得分:65)
ProGuard不会混淆字符串常量,如FAQ中所述。它最新的Android专用闭源兄弟DexGuard提供了其他应用程序保护技术,如字符串加密和类加密。
(我是ProGuard和DexGuard的开发者)
答案 1 :(得分:11)
不,ProGuard不加密字符串常量(Proguard FAQ Link)
但是有一些商业产品可以帮助你。 我建议使用Stringer Java Obfuscator,因为它具有检查调用上下文和完整性控制功能,这使得逆向工程尽可能难。 IMHO Stringer是当今市场上最好的Java和Android字符串加密器。
N.B。我是Licel LLC的首席执行官。 Stringer Java Obfuscator的开发人员。
答案 2 :(得分:8)
ProGuard 做什么(如果配置正确)是内联字符串常量。混淆它们没有多大意义,想一想,字符串常量可以用来向用户表示消息,如果它被混淆会有什么好处呢?
答案 3 :(得分:3)
根据我阅读手册中的混淆选项,答案是否为。
字符串文字模糊在理论上是可行的,但是有必要使用一个特殊的类加载器,在从类文件中读取字符串文字时对其进行去模糊处理。这将是棘手的。最重要的是它没有达到太多,因为有人可以通过附加Java调试器运行你的应用程序来轻松恢复原始字符串。