GameGuardianでゲームメモリを検索する際、検索対象として選べる「メモリ範囲」をわかりやすく丁寧に解説します!

🔍 A: Anonymous

ファイルに関連付けられていないメモリ領域で、アプリの動的メモリ(ヒープや一時バッファなど)がここにあります。

🧠 As: Ashmem

Android専用の共有メモリ領域。プロセス間で共有でき、システムが必要に応じて自動的に解放できる特殊なメモリ。

☠️ B: Bad

ビデオメモリやフォントなど、基本的には読み取り専用で保護領域です。

💾 Ca: C++ alloc

malloc()newで確保されたC/C++のヒープ領域。ゲームの変数が多く見つかる重要な範囲です!

📦 Cb: C++ .bss

プログラム実行時にゼロ初期化される変数群。グローバル変数の一部がここにあります。

💽 Cd: C++ .data

静的な変数で、プログラム起動時に既定の値で初期化される領域。

🧺 Ch: C++ heap

内部でbrk()mmap()によって拡張されるC++専用のヒープ領域。

⚠️ Xa: Code app

アプリの実行コード本体。lib*.soなどの動的ライブラリを改ざんしたい時には必須です。

⚠️ Xs: Code system

libcなどシステムライブラリのコード領域。

📘 J: Java

クラス定義やバイトコードが存在する領域。Java VM内で使用されるデータです。

🧶 Jh: Java heap

GC(ガーベジコレクション)やJavaオブジェクトを格納するための領域。

📦 O: Other

他の範囲に分類されない特殊領域。

🎮 PS: PPSSPP

PPSSPPエミュレータ専用領域。PSPゲームのメモリ改造には必須です。

🧵 S: Stack

関数の呼び出し情報やローカル変数が積まれる場所。

🖼️ V: Video

画面に表示されるグラフィックバッファ。

以上、GameGuardianで扱う全メモリ範囲を解説しました。どの範囲を検索対象にするかで、発見できる値も大きく変わってきます。
まずは「A」や「Ca」から始めて、徐々に広げていくのがコツです!

この記事が参考になったら、ぜひシェア・コメントお願いします!📝