如何混淆Android推送通知的GCM密钥

时间:2013-01-19 19:20:24

标签: android push-notification obfuscation google-cloud-messaging

服务器密钥保留在代码中,所以如果有人反编译源代码,他们甚至可以看到密钥,即使我认为是proguard。如何让proguard对此进行模糊处理或至少优化模糊处理。

2 个答案:

答案 0 :(得分:1)

  

如何让proguard混淆这个

你做不到。 ProGuard的商业分支DexGuard具有混淆数据的能力,但它不太可能特别有用,就像您自己的任何本土解决方案一样。攻击者需要做的就是获取你的APK,用你自己的超级类替换GCMIntentService的超类,然后记录值。

  

有人可以向所有订阅者推送通知

如果您有证据表明可以,请联系security@android.com。由于项目ID不涉及发送通知,我无法看到你的攻击如何工作,但也许我错过了一些东西。

答案 1 :(得分:0)

这里没问题。有两个“密钥”,senderId(属于Android代码)和您的API密钥。 应用程序中的senderId仅指出APP允许接收消息的服务器。没有人可以利用它来发送消息。 API密钥应该保密。这是服务器用于在GCM服务器上识别的密钥。在任何情况下,此密钥都不应位于您的应用程序源中。 因此,我建议您仔细阅读GCM指南,以了解完整的关系。