在优化代码时,Proguard是否会对混淆的字符串进行去混淆?

时间:2013-07-30 14:10:51

标签: android security obfuscation proguard deobfuscation

有时我们需要在代码中存储一些我们想要保护的字符串,例如Google Play中的App Id,第三方API密钥,用于创建哈希的秘密种子等。

为了保护这个字符串,开发人员有时会使用XOR操作或其他技术(例如:XOR operation with two strings in java)对它们进行模糊处理。

如果我们在发布代码之前运行Proguard,因为它执行相当复杂的代码优化,我想它可以解析最终的String,最后在发布的apk中发送未混淆的String ....这是真?

这很有趣,而不是混淆代码,Proguard会对手工混淆的数据进行去混淆......

你们是如何针对这一目标的?您是否在proguard.cfg中使用混淆的字符串排除类?

1 个答案:

答案 0 :(得分:1)

我使用Base64或XOR等简单技术对String混淆进行了实验。根据我的经验,即使启用了优化,Proguard也无法对手动混淆的数据进行去模糊处理。

您可以尝试使用APKtoolDex2jar等工具导出项目并使用Proguard导出项目后反编译自己的源代码。然后您应该看看字符串是否被去混淆。 / p>

相关问题