999,999 のスコアが高いのを見ました。

Flappy Bird や、iPhoneやiPadのTempleRunなどのゲームで他の多くの不可能なハイスコア。

人々がこれらのゲームを簡単にハッキングする方法ソースコードが表示されませんか?彼らはゲームのソースコードを知っているようで、ゲームファイルをとても簡単に操作できるようになっています。 Androidとは異なり、Apple iPhoneがサンドボックス化されていることを考えると、これがどのように発生するのかわかりません。

コメント

  • FWIW、Androidもアプリをサンドボックス化します。悪魔は詳細にあります:どのような種類のアクセスが禁止され許可されているか。

回答

iOSアプリケーションは2つの簡単にアクセスできる方法でコンピューターから利用できるファイル内のデータ:

  • iTunesバックアップ内

  • MobileDevice経由- iExplorer

などのフレームワークベースのツール私の経験では、ゲームの保存データはplutilツールを介して操作できるごく普通のプロパティリストファイル。データはコードの知識がなくても復元および置換できます。そこから、アプリがどれだけ信頼しているかという簡単な問題です。データを保存します。

これをハイスコアだけでなくゲームでチートするために使用する方法の例については、 Nimble Quest iOS Trainer 。これ自体はMobileDeviceフレームワークベースです。

(MobileDeviceフレームワークは、iOSデバイスアクセス用に作成されたAppleプライベートフレームワークであり、リバースエンジニアリングされて有効になっています。 Appleからは入手できないiOSデバイスツールの作成。)

コメント

  • フレームワークでこのデータを暗号化することは可能ですか?だから私のアプリには人間が読めないplistファイルがありますが、それでも有効なハイスコアが含まれていますか?これにより基準が引き上げられますが、'誰かがデータを大幅に変更して、アプリ自体をリバースエンジニアリングしてそれを実行したい場合は、依然として脆弱です。

回答

一部のゲームは、暗号化されていないプレーンテキストでバックエンドサーバーと通信します。 OWASP ZAP Burp Suite などのプロキシを介してトラフィックをルーティングすると、トラフィックを操作します。

質問の回答をiPhoneに送信するゲームを見たことがあります。このシナリオでは、正解を強調することができます。その結果、常に100%のスコアを獲得できます。他のゲームはスコアをサーバーに送信します。その場合は、送信時にスコアにゼロを数個追加するだけです。

次に、ziggが説明するように、電話にスコアを保存するゲームがあります。これらのスコアは、ユーザーが読み取り可能で、書き込み可能な領域であるため、操作できます。これはもちろん電話にのみ保存されますが、電話をフラッシュすることで友達に見せびらかすことができます。

回答