サーバーキーはコードにとどまるため、誰かがソースを逆コンパイルすると、プロガードをオンにしてもキーが表示されると思います。これを難読化するか、少なくとも難読化を最適化するようにプロガードを取得するにはどうすればよいですか。
2 に答える
これを難読化するためにプロガードを取得するにはどうすればよいですか
できません。ProGuard の商用分派である DexGuard には、データを難読化する機能がありますが、独自の独自のソリューションと同様に、特に役立つ可能性は低いです。攻撃者が行う必要があるのは、APK を取得し、GCMIntentService のスーパークラスを独自のものに置き換えて、値を記録することだけです。
誰かがすべてのサブスクライバーに通知をプッシュできます
これが可能であるという証拠がある場合は、security@android.com までご連絡ください。プロジェクト ID は通知の送信に関与していないため、あなたの攻撃がどのように機能するかはわかりませんが、何かが欠けている可能性があります。
ここでは問題ありません。2 つの「キー」があります。senderId (Android コードに属します) と API キーです。アプリの sendId は、アプリがメッセージの受信を許可するサーバーのみを示します。これを悪用してメッセージを送信する方法はありません。API キーは秘密にしておく必要があります。これは、GCM サーバーで識別するためにサーバーで使用されるキーです。このキーは、どのような場合でもアプリのソースにあるべきではありません。したがって、完全な関係を理解するために、GCM ガイドを注意深く読み直すことをお勧めします。