【发布时间】:2013-07-30 14:10:50
【问题描述】:
有时我们需要在代码中存储一些我们想要保护的字符串,例如 Google Play 中的 App Id、第三方 API 密钥、用于创建哈希的秘密种子等。
为了保护这些字符串,开发人员有时会使用 XOR 操作或其他技术对其进行混淆(即:XOR operation with two strings in java)。
如果我们在发布代码之前运行 Proguard,因为它对代码执行了相当复杂的优化,我猜它可以解析最终的字符串,最终在发布的 apk 中发送未混淆的字符串......这是真的吗?
这很有趣,而不是混淆代码 Proguard 会去混淆手动混淆的数据...
你们如何定位这个?是否排除 proguard.cfg 中带有混淆字符串的类?
【问题讨论】:
-
无论你对代码中的字符串做什么,它最终不会在内存中转换为明文并以明文形式发送到任何需要它的函数吗?任何检查您的应用程序内存的人都可以查看此内容。只是一个想法。
标签: android security obfuscation proguard deobfuscation