4

バックグラウンド

Dungeons のマニフェスト(アプリ内課金の例)の受信機許可要素が含まれていないことは知っていますが、Lint は次のように警告しています。どのアプリケーションでもこの受信機を使用できます。 」

私がこの権利を理解していれば、アプリケーションは偽のデータで私を偽装し (おそらく巧妙に細工されたシステムで、確かではありません)、Play アプリケーションになりすまして偽の請求記録を提供する可能性があります。

質問

  1. そうですか?通常の消費者向け Android デバイスでは、どのような影響がありますか?

  2. 通常の動作を期待するには、何を書き込む必要がありますか? 受信機が正規の Play アプリからのブロードキャストのみを受信できるようにしていると思います。ですかcom.android.vending.BILLING?この場合、なりすましシステムがそれを宣言できる可能性があると思います。それは3につながります:

  3. システムのなりすましを避けるために、よく知られている Google の公開署名とも比較する必要がありますか?

コメント

一部の人にとっては、これが多すぎるように思えるかもしれませんが、ここで理論について考えています。:-)

また、マニフェストで定義されたレシーバーは使用しないため、あまり注意を払いませんでした。そうは言っても、正しく理解していない場合は、修正してください。はい、以前も今もドキュメントを読みました。

ありがとうございました。

4

1 に答える 1

1

トランザクション データは、開発者アカウントに関連付けられた一意のキーで署名されます。それらを適切に検証していれば、誰も取引を偽装することはできません。

パーミッションが定義されていない理由については、Android で署名パーミッション システムが機能する方法は次のようになります。「このブロードキャストは、送信者と同じキーで署名されたアプリによってのみ受信できる」と言います。明らかに、アプリは Google Play アプリとは異なるキーで署名されているため、署名ベースのアクセス許可は使用できず、これは公開する必要があります。

技術的には、ブロードキャストの送信者を確認し、その UID のパッケージ名を取得して、既知の Google Play パッケージと比較することができます。これらは、新しいバージョンがリリースされると変更される傾向があり、一部のデバイス (特にハニカム デバイス) では異なるため、スケーリングがうまくいかず、誤ったアラームが発生する可能性があります。

于 2012-07-26T03:28:04.477 に答える