1

IAP Cracker の存在を知ったばかりで、アプリで IAP 購入を検証する最善の方法を見つけようとしています。

私が見つけられないのは、IAP Cracker が「消耗品」の購入で機能するかどうかです。そうでなければ、私は何も心配する必要はありません。

すべての購入品を保護/検証する方法の 1 つを次に示します。

http://www.binpress.com/app/inapp-purchase-verification/633#description

洞察をありがとう!

4

2 に答える 2

4

あなたが示したリンクを見ましたが、もし私があなただったら、私はそれを信用しません。この方法は、リバース エンジニアリングと開発に詳しい人なら誰でも簡単に回避できます。コンテンツを無料で自動的に提供するハックを誰でも簡単に作成できます。

アプリ内購入を使用したことがないため、アプリ内購入を検証する安全な方法はわかりませんが、これを覚えておいてください。どれだけ安全に作成しても、ハッカーはそれを回避できます.

于 2012-06-25T00:55:46.017 に答える
1

リモートサーバーにデータの通信と保存の両方を行うことをお勧めします。したがって、クライアント経由で呼び出しを行うときは、情報をリモートサーバーに送信するようにしてください。クライアントは、「はい、購入しました」というコールバックを受け取ります。ユーザーが実際に購入を使用しようとすると、リモートサーバーに呼び出しを行い、受信したデータが実際に利用可能かどうかを確認する必要があります.

たとえば、ユーザーが「10 コイン」を購入すると、クライアントは「検証が必要です」をサーバーに送信し、サーバーはそのメッセージを Apple に送信して応答を取得します (この場合は、「good to go」応答としましょう)。次に、サーバーはユーザー「*」の「10 コイン」をデータベースに保存し、「購入した 10 コイン」をクライアントに返します。次に、ユーザーは 10 コインを使用してゲーム内で購入し、リモート サーバーに別のメッセージを送信します。リモート サーバーはデータベースをチェックし、ユーザーがコインを利用できるかどうかを確認し、それに応じて行動します。

これが安全である理由: ユーザーは 0 コインを持っていますが、あなたの商品を購入したいというメッセージを「偽造」し、メッセージに 60 コインを「配置」しました。リモートサーバーがメッセージを受け取ると、使用された値 (60) をデータベースに対してチェックし、ユーザーが 60 コインを持っていないことを確認すると、メッセージは失敗します。

したがって、すべてのデータをリモートサーバーに維持し、クライアントにWeb呼び出しを実行させて、ユーザーが持っているもの/量にアクセスします. このようにして、ユーザーはクライアント上のデータを好きなだけ変更できますが、リモートサーバーがデータと一致せず、トリックでエラーが発生するため、問題ではありません.

于 2013-03-24T18:43:50.387 に答える