ここに、ビデオゲームをリバースエンジニアリングする方法を学習するプロセスを持つ人々を支援するための個人的に推奨される学習資料に基づいたコンパイルされたリストです。
他の人が学習にもっと時間を費やし、検索に時間を減らすのに役立つことを願っています。
ここで収集されたリソースの大部分は、X64を超えるX86アセンブリを念頭に置いて、Microsoft WindowsオペレーティングシステムのPCゲームを逆転させることに焦点を当てています。
エンジニアリングビデオゲームの逆転は、「ゲームハッキング」とは関係がないことが多いことが多く、一緒に行きましょう。学習資料の一部がそのようなサイト/ソースから来ても驚かないでください。
あなたが何をしているのかわからない限り、これらのツール(特にチートエンジン)のいずれかを実行している間、マルチプレイヤーゲームをプレイしている間、マルチプレイヤーゲームをプレイすることはお勧めしません。
手始めに、チートエンジンとIDAまたはGhidraのいずれかに精通しています。
メモリスキャナー:
分解者 / decompilers /デバッガー:
プロセスツール:
PEツール:
ネットワークツール:
他の:
ゲームで作業する前に、ターゲットを知る必要があるため、次のような情報を収集することが重要です。
同じエンジンを共有するゲームには、多くの場合、非常に類似した繰り返しのコードベースがあります。 Unreal EngineやUnityなどのサードパーティゲームエンジンには、リバースエンジニアリングのプロセスを容易にできる多くのカスタムツールがオンラインでたくさんあります。
C#やJavaなどの高レベルの解釈/中間プログラミング言語でコード化されたゲームは、一般に、メタデータが低レベルのマシンコードにコンパイルされていないために失われていないため、C/C ++と比較してリバースエンジニアリングをはるかに簡単にします。
Unityベースのゲーム(および.NETフレームワークで開発された他のゲームの場合)の場合、IDA/Ghidraの代わりにDNSPYを使用します。
私たちは主に、ビデオゲームプログラミングのゴールドスタンダードであるため、C ++でコーディングされたゲームの逆のゲームに焦点を当てます。
C ++で作られたゲームの例:
C#で作られたゲームの例:
ゲームの逆転へのガイド:
X86アセンブリへのガイド:
IDAへのガイド:
基本的なゲームプログラミングの概念:
本:本:
グーグル:
その他のX86アセンブリ学習資料:
その他の便利なツールとツールガイド:
実用的なリバースエンジニアリングとゲームハッキング材料:
ビットフラグとビットマスク:
本と論文:
リバースエンジニアリングビデオゲーム用のツール、チュートリアル、リソースなどのキュレーションリスト:
ガイド付きハッキングリソース(2023年の時点で、現在はペイウォールコンテンツになっています):