ミニリバースエンジニアリングとWindows Phoneアプリケーションの変更

こんにちは



数日前、バイクの障害物を避けてポイントを獲得する必要がある面白いゲームに出会いました。私の友人と私少し気を失ったポイントの量を測定し始めました。 少し考えてから、ゲームのコードを掘り下げて、ポイントの小さなハックを追加することにしました。 したがって、Windows Phoneアプリケーションを解析する方法については、その中の何かを変更して、すべてを元に戻します。



まず、必要なすべてを決定します。



リフレクター/ 16進エディターの田舎のハッカーに関する私の知識は、単純な値を置き換えるだけで十分です。

まず、Phone7Marketを使用して市場からアプリケーションをダウンロードします。 検索してゲームを見つけ、右クリックしてディスク上の必要なディレクトリに保存します。







ここで、.xapファイルをコピーし、コピーの名前を.zipに変更して、フォルダーに解凍します。 たとえば、操作後、私のフォルダーは次のようになります。







それでは、楽しい部分に移りましょう。 reflexilを解凍し、パスをコピーします。 次に、ReShrperを実行し、[ツール]-> [アドイン]に移動します。[追加]をクリックし、reflexilを含むフォルダーにReflexil.Reflector.dllへのパスを貼り付けます。 アセンブリを編集および再構築するには、リフレクターでこの仕組みが必要です。

リフレクターで以前に解凍したアーカイブを開きます。 ライブラリのリストをすばやく実行したら、アプリケーションに似た名前のライブラリを開きます。 ほとんどの場合、これがメインプロジェクトです。







Configクラスはすぐに目を引きます。 待ってください-これは基本的な値を持つクラスです! これで、速度やマシンが表示される可能性など、小さなものを変更できます。 ポイントを追加する速度、障害物の確率、および障害物を回避するためのポイント数を少し調整しましょう。







HxDを開き、ライブラリThreeDMoto.dllを選択します。







少し怖いですが、すべてを理解するだけです。 変更する行を見つけます。



public static readonly float[] TIMESPAN_OF_SHIFT = new float[] { 0.5f, 1f, 3f, 5f };
      
      





したがって、値は0.5、1、3、5です。HxDに戻り、検索をクリックします。 番号3で検索します。







いくつかの値が見つかりました。 5を探しています。そのうち2つしかありませんが、3と5が近くにある場所を見つける必要があります。







素晴らしい。 これらの数値が正確に存在することを確認し、4つすべてを0.1に置き換えます







[保存]をクリックして、リフレクターに切り替えます。 すべてを正しく行ったことを確認するため。 ライブラリをリフレクターから削除し、再度接続します。 configに入り、目的の行を見つけます。



  public static readonly float[] TIMESPAN_OF_SHIFT = new float[] { 0.1f, 0.1f, 0.1f, 0.1f };
      
      





そのため、ビルドが変更されました。 次に、エクスプローラーでdllをzipにドラッグし、置換を確認します。 .zipの名前を.xapに変更し、アプリケーションをデバイスにダウンロードします。







そして、最初のエラーが発生します。 このエラーは、アプリケーションチェックサムWMAppPRHeader.xmlを含むファイルが.xapパッケージにあるために発生します。 アーカイブからファイルを削除して、再試行してください。







電話は奇妙なことをします。 考えてみると、これは再コンパイルせずにライブラリを編集しているためにのみ発生します。 そのため、ライブラリリフレクターを再度開き、ライブラリを保存します。







再度、名前を変更してアクションを実行し、プロジェクトをデバイスにドラッグアンドドロップします。 稼いだ。 現在、加速は4分の1秒で行われ、ポイントはほぼ瞬時に4倍になります。 次に、障害物を回避するためのポイントの数と、道路上の障害物の確率を編集します。







すべてを次のものに置き換えます。







保存、名前変更、コピー、名前変更、塗りつぶし。 これで、任意のサイズのレコードを簡単に設定できます。



元のアプリケーション。

編集されたアプリケーション。



まとめると



Windows Phoneでゲームやアプリケーションを開発するとき、開発者はコンパイル後にコードを表示できることを忘れないでください。 それを見て編集する人の生活を複雑にするために、コードを難読化し、アセンブリに署名するための便利でシンプルなツールを使用できます。 これにより、いくつかの問題が発生します。 署名のため、アセンブリの編集はより困難になり、難読化のため、編集対象が完全に不明確になります。 結局のところ、説明した方法で、無害な値を編集できるだけでなく、アプリケーションから試用版を削除したり、独自のメソッドやクラスを追加したり、既存のものを書き換えたりすることもできます。



All Articles