私はアンドロイドアプリに最後のタッチをかけています。このアプリはフルネットワーキングゲームなので、いつでもインターネットを使っています。誰かが電話から.apkファイルを解凍し、コードを逆コンパイルしてから、私のクラスを変更して自分のサーバーに悪いことをさせないようにしたい。Androidハッキング防止
- クライアントがサーバは、クライアントが
- は、サーバーとクライアントがに基づいて暗号化されたデータと通信の暗号化に使用される、「セッションキー」を送信
- サーバーに接続します。アプリがネットワークを設定する方法ここでは、彼らが共有する鍵
私は、誰かが自分のコードを逆コンパイルして、ゲーム内で何でもできるように変更してしまうのではないかと心配しています。クラスが変更されていないことを確認する方法はありますか?実行時に.classファイルのサイズを確認する方法はありますか?誰でもアイデアはありますか?
クライアント - のいずれかの*のチャンス*なしでゲームを実行するための唯一の安全な方法サーバー側でゲームロジック全体を実行し、表示するクライアントにのみ最終的なビューを送信することです。 –
so ...あなたの最初のアイデアは、(潜在的に)侵害されたコードが依然として有効である(サイズが大きすぎる)かどうかを尋ねることです。あなたの最善の策は、ウェブサービスであるかのようにこれを設計し、同様のレベルのチェックを実行することです。つまり、クライアントがあなたに送っている信じていることです。クライアントは、「ねえ、私はこの場所にいなければなりません」と言ったものを送ります。サーバーはそれを拒否します。「いいえ、あなたは光の速度よりも速く動くことができません」(または、経過時間を前提としたもの)。 –