4

開発者がGoogleAndroidマーケットで有料アプリをリリースした場合はわかります。間もなく、有料アプリは他のAndroidマーケットを通じて無料で配布されます。この著作権侵害の問題は、中国市場に関しては特に当てはまります。たとえば、Where's My Water(中国語)

私は疑問に思っていました、アプリ内購入はそのような著作権侵害の問題を防ぐことができますか?

アプリ内購入による追加アイテムの購入

  1. ユーザーはアプリ内購入を通じて追加のアイテムを購入します。
  2. 秘密鍵は、ユーザーの好みに合わせて書き込まれました。秘密鍵は、アプリ内購入時に使用されたユーザーのGoogleアカウントに基づいて生成されます。ハードウェアIDを使用しない理由は、他のデバイスを使用している場合でも、同じユーザーがアプリ内購入アイテムを楽しめるようにするためです。

秘密鍵を使用した検証

  1. そのため、ユーザーが追加のアイテムを使用する傾向がある場合は、常に検証が行われます。ユーザーが秘密鍵を他の人に配布しても、機能しません。秘密鍵はその特定のユーザーに対してのみ有効であるため。

これは、Androidアプリの著作権侵害の問題と戦うために実装されている一般的な方法のひとつですか?このテクニックに関する議論はあまり見られないので。私が見逃した落とし穴があるかどうかわかりませんか?

4

2 に答える 2

4

そんな感じ :)

これは、アプリ内購入の種類に大きく依存します。サーバーからダウンロードするコンテンツ(画像、動画など)の場合、サーバーでチェックを行うことができ、誰かがサーバーをハッキングしない限り、サーバーをハッキングすることはほぼ不可能です。浮気。

すでにアプリにある機能を追加/有効化するには、購入したアイテムのリストをどこかに保存する必要があります。これにより、アプリは有効にする機能を認識できます。単にファイル/共有/設定/DBに保存するだけで、誰かがそれらを編集して(もちろん、ルート化されたデバイス上で)、必要なアイテムを追加することができます。したがって、変更を困難にするために、アイテムキャッシュを難読化する必要があります。これを行う1つの方法は、ディスク上で暗号化し、アプリで復号化することです。すべてのデバイスに同じキーを使用する場合、ファイル/データベースを別のデバイスにコピーするだけで、料金を支払わずに機能を有効にするのは簡単です。そのため、特定のデバイスに固有の何か(MACアドレス、ANDROID_IDなど)からキーを取得する必要があります。Googleアカウントを使用してキーを取得できる場合は、

ハードウェアIDの使用に関しては、アイテム/サブスクリプションはユーザーのGoogleアカウントに関連付けられているため、任意のデバイスでRESTORE_TRANSACTIONSを使用して、購入したアイテムを取得できます。ハードウェアIDを使用してアイテムキャッシュを難読化することは問題ではありません。これは、アイテムをディスクに保存するためにのみ使用され、購入状態を取得するためではなく、ユーザーが複数のデバイスでアプリを使用することを妨げるものではないためです。

于 2012-09-27T02:45:44.127 に答える
2

一般に、アプリ内購入は著作権侵害からより保護されます。購入がゲーム内で行われるという事実は、海賊がソフトウェアの一部を他のハッキングされた部分と交換することを困難にします。さらに、アプリ内購入は柔軟性が低く、冗長な保護方法を利用できます。

あなたが説明した方法は、秘密鍵をどれだけうまく隠すかによっては問題ないかもしれません。キーを他の人と一緒に使用することはできませんが、同じアカウントで何度も使用できることは事実です。このプロセスに従うことをお勧めします。

  • TLS/SSLを介して独自のサーバーで認証する
  • 1つのトランザクションでのみ有効な秘密鍵を取得します
  • トランザクションの秘密鍵を使用して、すぐに忘れてしまった

これはハッキングするのがはるかに難しいでしょう。

幸運を祈ります。もう助けが必要な場合はお知らせください。

于 2012-09-26T20:36:53.623 に答える