-
Notifications
You must be signed in to change notification settings - Fork 6
Instances ja JP
Instances タブを使用すると、クラス名またはオブジェクト名でライブ UE5 オブジェクトグラフを検索したり、メモリアドレスでオブジェクトを逆検索したり、フィールド値を検査したりできます。インスタンスを見つけたら、そのフィールドをブラウズして、データを Cheat Engine にエクスポートできます。
上部のクラス名とオブジェクト名フィールドを使用してライブゲームをクエリします。
- 最初のフィールドに class name(例:
PlayerController、Character)を入力します。デフォルトは部分一致です。Exact match をチェックして完全一致のみにします。 - (オプション)2 番目のフィールドに object name(例:
WB_HUD_MagicStone)を入力します。検索は大文字と小文字を区別せず、クラスボックスと AND で結合されます。両方が結果に一致する必要があります。 - (オプション)Newest first トグルを有効にして、最も高い InternalIndex からスキャンします(敵など、スポーンしたばかりのインスタンスをキャッチします)。無効にするとスキャンを古い順に保ちます(クラスデフォルト / テンプレート / 最初のインスタンス — ブループリントのデフォルトを見つけるのに適しています)。
- Max(結果の上限、100~50000; デフォルト 5000)を調整します。ゲーム側のスキャンは常に完全です。これは返されるリストのみを制限します。ステータスで「⚠ capped」が表示されている場合は、それを増やします。
- Search をクリックするか、Enter キーを押します。
結果がグリッドに表示されます。截断されている場合(「⚠ capped at N of max M」)は、クラスフィルタピッカー(⚑)で exclude noise classes を選択します。これにより、スキャンがゲーム内で再実行され、これらのクラスが非表示になります。または Max を上げます。
ヒント: Newest first トグルと Max 上限は、インスタンスがスポーン直後にキャッチされ(早期カットオフを避ける)、システムノイズ(UI ウィジェット、サウンドコンポーネント)がスキップされるように調整されています。Index 列ヘッダーをクリックして、別の順序で並べ替える場合はインデックスで再ソートします。
検索バーの下には、Filter results (Name / Class / Addr) というラベルのキーワードフィルタボックスがあります。スペースで区切られた検索用語を入力して、ゲームに再度クエリを実行することなく 返された行を絞ります。用語はオブジェクト Name、Class 名、Address 全体で AND 結合されます。このフィルタは既に返されたセット内でのみ機能します。結果の上限を超えて非表示になったインスタンスを回復するには、クラスフィルタピッカーを使用するか、Max を上げます。
アドレスを上部の Address フィールドに貼り付けます(0x7FF… や module.exe+offset などの 16 進形式)。Lookup をクリックするか、Enter キーを押します。アプリはそのアドレスで UObject を逆検索して表示します:
- Exact: そのアドレスで UObject が見つかりました。
- Inside: アドレスはオブジェクトのフィールド内です(オフセット +0x...)。
- Contains: アドレスはプロパティ内です(通常はオブジェクト独自のデータ以降)。
- Backward: 後方スキャン中に見つかりました(UObject のデータ以降、おそらく生のヒープ / ネイティブデータ)。
- Nearest ⚠: アドレスに UObject がありません。アプリが最も近いものを見つけました。生のヒープ / ネイティブアロケーションの可能性があります。結果行をクリックして検査することもできます。
ステータス行には [scanned X/Y in Zms] も表示されます。「DEADLINE HIT」が表示される場合、スキャンがすべてのオブジェクトをスキャンする前にタイムアウトしました。再試行して続行します。
アドレスが TArray バッファ(配列プロパティ)内に含まれている場合、ルックアップステータスの下に、配列を所有するすべてのオブジェクトを示す別のセクションが表示されます。各行は以下を示します:
| 列 | 意味 |
|---|---|
| Path | ルートから配列要素までのプロパティパス |
| Owner Class | 配列を保持している UObject クラス |
| Inner | 配列要素タイプ |
| Owner Addr | 所有するオブジェクトのアドレス |
行ごとのアクション(右側):
- Live (⚡): [Live-Walker] 内の所有者にジャンプします。
- Addr (⚡): 所有者のアドレスをコピーします。
- 🌍 / ⚙: GWorld または UGameEngine から所有者までパス検索し、マッチしたコンテナ要素に自動的にドリルダウンします。
グリッド内のインスタンスをクリックして、下部ペインにそのフィールドをロードして表示します。グリッドは以下を表示します:
| 列 | 意味 |
|---|---|
| Offset | オブジェクト内の 16 進オフセット |
| Name | フィールド名 |
| Type | フィールド型 |
| Value | 解釈された値(スカラー、文字列、ポインタなど) |
| Hex | 生の 16 進バイト |
| Address | フィールドの絶対メモリアドレス |
任意のフィールドの Addr をクリックして、その絶対アドレスをクリップボードにコピーします。
(インスタンスが選択されている場合のみ表示されます。)
- Copy CE XML: インスタンスを CE XML ポインタチェーンとしてエクスポートします(クリップボードにコピーされます)。
- Open in Live Walker: [Live-Walker] タブで選択したインスタンスを開いて、詳細な検査とポインタ追跡を行います。
- 🌍 Locate in GWorld: GWorld からこのインスタンスまでの最短ポインタパスを見つけます。到達可能なオブジェクトのみ。Live Walker にパスを表示します。
- ⚙ Locate in GameEngine: 上記と同じですが、ライブ UGameEngine からです。GWorld が公開しないエンジンレイヤーオブジェクトに到達します。エンジンが初期化されていない場合は利用できません。
- 🔗 Related: 関連するオブジェクト(コンポーネント、GAS ASC、コントローラー↔ポーン リンク)を [Related] タブに表示します。
グリッド内の 1 つ以上のインスタンスを選択して、上部右の ⤋ Find Func をクリックして、選択したインスタンスのクラスをパラメータまたは戻り値として取得する UFunction を確認します。これはネイティブ関数を含むリフレクションスキャンです。
- ⤋ Find Func をクリックして、表示されているすべてのインスタンスをスキャンします。25 個を超える異なるクラスが選択されている場合、確認するよう求められます(各クラスはゲーム全体のスキャンをトリガーします。同じクラスを共有する行は 1 つを再利用します)。
- ✕ Cancel をクリックしてスキャンを早期に停止します。
- インスタンスごとの Find Func ボタン(各行の右側、紫色のテキスト): そのインスタンスのクラスのみをスキャンします。
結果は各行の Funcs 列に表示され、実行内のクラスで重複排除されます。
- Addr: インスタンスのアドレスをコピーします。
- AA: CE Auto Assembler レジスタシンボルスクリプトを生成します(クリップボードにコピーされます)。
- Name: オブジェクト名をコピーします。
- Class: クラス名をコピーします。
- Find Func: このインスタンスのクラスのみの UFunction を見つけます。
インスタンスを見つけたら、🌍 Locate in GWorld または ⚙ Locate in GameEngine を使用して、ライブオブジェクトグラフで到達可能であることを確認します:
- GWorld: ワールドのアクターとそのコンポーネント。インスタンスが GWorld 階層にない場合、サイレントに失敗します。
- GameEngine: ライブ UGameEngine とその下のすべて — エンジンサブシステム、コンソール、ビューポート、など。GWorld が公開しないオブジェクトに到達します。
両方のボタンは、ルートからインスタンスへのパス検索を実行して、[Live-Walker] にパスを開き、ターゲットにステップインできるようにそれを指す親で停止します。
- Quick-Start — 基本的なチュートリアル
- Live-Walker — 詳細なオブジェクト検査とポインタ追跡
- Object-Tree — すべてのオブジェクトを階層的にブラウズ
- Value-Search — フィールド値でオブジェクトを検索
- Interesting-Funcs-and-Props — 関数とプロパティの厳選された分析
- Home — ドキュメント索引