proguard 会混淆静态字符串常量吗?
问问题
33912 次
4 回答
12
不,ProGuard 不加密字符串常量(Proguard FAQ Link)
但是有一些商业产品可以帮助你。我会推荐Stringer Java Obfuscator,因为它具有检查调用上下文和完整性控制功能,这使得逆向工程尽可能困难。恕我直言 Stringer 是当今市场上最好的 Java 和 Android 字符串加密器。
另请参阅Allatori Java 混淆器。
注意,我是 Licel LLC 的首席执行官。Stringer Java 混淆器的开发者。
于 2012-05-17T10:34:21.097 回答
8
ProGuard所做的(如果配置正确的话)是内联字符串常量。混淆它们没有多大意义,想想看,一个字符串常量可以用来向用户表示一条消息,如果它被混淆有什么好处呢?
于 2012-04-19T01:10:54.637 回答
3
根据我对手册中混淆选项的阅读,答案是否定的。
字符串文字混淆在理论上是可能的,但有必要使用特殊的类加载器在从类文件中读取字符串文字时对其进行去混淆处理。这会很棘手。最重要的是,它并没有取得太大的成就,因为有人可以通过运行带有 Java 调试器的应用程序来轻松恢复原始字符串。
于 2012-04-19T01:05:18.940 回答