GameGuardian メモリ範囲の全てを解説!
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」から始めて、徐々に広げていくのがコツです!
この記事が参考になったら、ぜひシェア・コメントお願いします!📝
コメント
0 件のコメント :
コメントを投稿