用語集

Cheat Engine・フォーラム・Wiki でよく出る用語の説明です。スキャンガイドポインタガイドFAQも参照してください。

アドレス(Address)

対象プロセスのメモリ上の位置。通常は 0x00401234 のような16進で表示されます。値を発見すると CE はその値を格納しているアドレスを表示します。アドレスはゲーム再起動で変わるため、ポインタが使われます。

ポインタ(Pointer)

別のアドレスを指す値。ポインタチェーンは、最終アドレスへ至る一連のポインタ(ベース+オフセット)です。ポインタスキャンでこれらを見つけると、ゲーム再起動後もチートが有効になります。

AOB(Array of Bytes)

ゲームのコード内の一意なバイト列(例:「8B 45 FC 89 10」)。スクリプトは AOB でコード注入位置を特定するため、その部分が変わらなければアップデート後も動くことがあります。

初回スキャン / 次のスキャン(First Scan / Next Scan)

初回スキャンは入力した値でプロセスメモリを検索します。次のスキャンは、ゲーム内で値を変えたあと(体力減少、ゴールド消費など)の新しい値で結果を絞り込みます。

フリーズ(Freeze)

アドレスをフリーズすると、CE が同じ値を繰り返し書き込むため、ゲームが値を変更できなくなります(例:体力をフリーズして減らなくする)。

チートテーブル(.CT)

アドレス・スクリプト・説明を保存するファイル。作業を .CT として保存・共有できます。.CT は XML で Lua スクリプトを含めるため、信頼できるソースのテーブルのみ開いてください。

トレーナー(Trainer)

CE を開かずにゲームにチートを適用する単体プログラム(多くは .exe)。CE はチートテーブルからトレーナーを生成できます。

値の型(Value Type)

スキャンする値のデータ型:4 Bytes、8 Bytes、Float、Double、String など。型を間違えると結果が多すぎるかゼロになります。

不明な初期値(Unknown Initial Value)

正確な数が分からないときのスキャンオプション。「不明な初期値」を選び、ゲーム内で値を変えたあと「増加した値」「減少した値」「変更された値」で絞り込みます。

Auto Assembler

CE のアセンブリコード注入用スクリプト。命令の変更(例:比較を常に真にする)や新規コードの注入に使います。AOB と組み合わせて注入位置を特定することが多いです。

Lua

CE に組み込まれたスクリプト言語。Lua で自動化・カスタムフォーム・プロセスへの自動アタッチなどができます。フォーラムの多くの拡張は Lua で書かれています。

Mono / .NET

Unity などが使うマネージドコードのランタイム。CE の Mono 機能でゲーム内のクラス・フィールドを調べ、オブジェクト(プレイヤー体力、インベントリなど)を探せます。

Speedhack

対象プロセスの時間を速く/遅くする CE の標準機能(例:2倍速)。時間関連 API をフックして動作します。すべてのゲームで使われているわけではないため、効かない場合があります。

アタッチ / プロセスを開く(Attach / Open Process)

CE でゲーム(または他のプログラム)を選び、そのメモリをスキャン・変更できるようにすること。ファイル → プロセスを開く で正しい .exe を選びます。

Dissect Mono

Mono ゲーム用の CE メニュー。読み込まれたアセンブリ・クラス・フィールドを一覧表示し、プレイヤーデータを持つクラスを探してメモリ上のインスタンスを特定できます。

コード注入(Code Injection)

対象プロセスにコードを書き込む/置き換えること。Auto Assembler では数バイトの変更(例:チェックを NOP で潰す)や、コードケーブに独自の命令を注入することが多いです。

オフセット(Offset)

ベースアドレスに足して別のアドレスを得る数値。ポインタ経路では「base+0x10」や「+1C」のように表示され、それらがオフセットです。

デバッガー(Debugger)

CE 内蔵のデバッガでブレークポイント設定・ステップ実行・レジスタ確認ができます。リバースエンジニアリングや値の読み書き箇所の特定に使います。

逆アセンブラ(Disassembler)

対象プロセスの機械語をアセンブリ命令として表示します。ゲームの動作を理解し、コードの注入・変更箇所を決めるために使います。

ブレークポイント(Breakpoint)

CPU がそこに到達したときに実行を一時停止する地点。「このアドレスに書き込む命令を検索」「このアドレスにアクセスする命令を検索」で、どの命令がアドレスに触れたかを確認できます。

NOP

No Operation(何もしないアセンブリ命令)。命令を NOP に置き換えるとその効果がなくなります(例:体力を減らす減算をスキップする)。

コードケーブ(Code Cave)

プロセスメモリ内の未使用領域に独自のコードを注入できる場所。Auto Assembler ではコードケーブにコードを書き、元のコードへジャンプバックすることが多いです。

モジュール / ベースアドレス(Module / Base Address)

読み込まれた実行ファイルや DLL。ベースアドレスはメモリに読み込まれた位置です。ポインタ経路はモジュールベース+オフセットから始まることが多く、再起動後も有効な場合があります(ASLR 下でも設定次第)。

ポインタスキャン(Pointer Scan)

指定したアドレスへ至るポインタチェーンを検索する CE の機能。値を発見したあとに実行すると経路の一覧が得られます。ゲーム再起動後に「ポインタリストを再スキャン」で、まだ有効なポインタだけ残します。

このアドレスに書き込む命令を検索 / アクセスする命令を検索(Find what writes / Find what accesses)

デバッグ用。「このアドレスに書き込む命令を検索」は書き込み時に停止、「このアドレスにアクセスする命令を検索」は読み書きどちらでも停止します。ゲーム内のどの命令が値を更新・参照しているかを確認するために使います。

.PTR ファイル

ポインタスキャンの結果を保存するファイル。後で読み込み、再度プロセスにアタッチしたあと「ポインタリストを再スキャン」で、まだ解決するポインタを確認できます。

IL2CPP

Unity のビルドオプションの一つで、.NET コードを C++ にコンパイルします。IL2CPP を使うゲームでは Mono ではないため「Dissect Mono」は使えません。別のツールや手法が必要です。

ダウンロード