-
Notifications
You must be signed in to change notification settings - Fork 6
Live Walker ja JP
Live Walker タブは UE5CEDumper のコア機能であるオブジェクトブラウザです。ライブゲームワールド(GWorld または GameEngine)からナビゲートして個々の UObject を検査し、フィールドを検査して、リアルタイムで値を編集し、ポインタチェーンを Cheat Engine にエクスポートしてさらに分析することができます。
Live Walker タブは空の状態で開きます。ブラウジングを開始するには:
- Start from GWorld をクリックしてライブゲームワールドのトップレベルアクターを読み込むか、Start from GameEngine をクリックしてエンジンシングルトンと GameInstance 階層にアクセスします。
- 読み込み後、上部の Breadcrumb 行に現在のパスが表示されます。任意のブレッドクラムリンクをクリックしてそのレベルに戻ります。
- 下の Field Grid には現在のオブジェクトのすべてのプロパティが表示されます:オフセット、名前、型、現在の値、16 進数表現、アドレス。
アドレスでオブジェクトに直接ジャンプするには、Address テキストボックスにアドレスを入力または貼り付けて Go を押すか(または Enter キーを押します)。アドレスは以下の形式です:
- 16 進数(例:
0x7FFF1234) - モジュール相対表記(例:
game.exe+0x12345678)
現在のオブジェクトに Outer(UE における親コンテナの概念)がある場合、メインオブジェクト情報ヘッダーの下に Outer: セクションが表示されます。Outer リンクをクリックするか Parent ↑ ボタンをクリックしてそれに移動します。
ランタイムに生成されたオブジェクト(その Outer が /Engine/Transient である)の論理的な所有者を見つけるには、Find Refs をクリックしてください。これにより、現在のオブジェクトを指している他のすべての UObject をスキャンして References パネルにリストアップし、真のゲームプレイの所有者に移動できます。
すべてのフィールドは以下を実行できます:
- ポインタで移動:→ ボタンをクリックして ObjectProperty(ポインタ)に従い、ターゲットオブジェクトを検査します。
- インラインストラクトとして展開:{} ボタンをクリックして StructProperty の子フィールドをインラインで展開します。
- 配列 / コンテナとしてリスト:[] ボタンをクリックして TArray、TMap、または TSet のすべての要素を表示します。
フィールドにドリルダウンした後、新しいブレッドクラムエントリが追加されるため、戻ることができます。
Search fields… ボックスは現在のオブジェクトのフィールドリストを名前または型でフィルタリングします(大文字と小文字を区別しないサブストリングマッチ)。検索結果はグリッドで強調表示され、▲ / ▼ ボタンで一致する項目間をジャンプします。
各フィールド行には、クイックアクションボタンが含まれています:
| ボタン | アクション |
|---|---|
| Addr | フィールドのメモリアドレスをクリップボードにコピー |
| HEX | そのアドレスに CE の HEX ビューでジャンプ(AOBMaker プラグイン経由) |
| +CE | フィールドを CE のアドレスリストに型指定されたメモリレコードとして追加(AOBMaker 経由) |
| Name | フィールド名をクリップボードにコピー |
| inst | ポイント先オブジェクトのクラスを Instance Finder タブで開く(ポインタフィールドのみ) |
| Ptr | ポインタターゲットアドレスをコピー(ポインタフィールドのみ) |
Auto を切り替えて、設定可能な間隔(デフォルト 10 秒)でゲームメモリから現在のオブジェクトのフィールドを定期的に再読み込みします。ライブカウントダウンは次の更新時間を表示します。ゲームプレイ中にリアルタイムで値の変化を監視するのに役立ちます。
ナビゲーション位置を 8 つの番号付きスロットの 1 つに保存して、後でそれにジャンプできます。★ ボタンをクリックしてブックマーク保存モードに入り、スロット(1~8)をクリックして現在のオブジェクト、選択した行、スクロール位置を保存します。ブックマークはゲームに再接続すると自動的に読み込まれます。
Live Walker はフィールドパスを複数の形式で Cheat Engine にエクスポートします:
Copy CE XML をクリックして、ルート(GWorld または GameEngine)から現在のオブジェクトのすべてのフィールドまでのポインタチェーン全体を階層的な Cheat Engine XML 構造としてコピーします。これにより、CE のアドレスリスト内にネストされたエントリが作成されるため、ウォークを視覚的に整理し、ネストされた構造を監視できます。CE にペーストするには、アドレスリストを右クリックして Paste from Clipboard を選択します。
1 つ以上の個別フィールドを選択した場合(Ctrl/Shift クリックで複数選択)、Copy CE Field(複数選択の場合は Copy CE Fields)は自動ポインタドリルを使用してそれらのフィールドのみをエクスポートします。単一フィールドのエクスポートには、以下が含まれます:
- ウォークルートからそのフィールドまでの完全なポインタチェーンアドレスレコード
- リーフエントリとしてのフィールド自体
- 最大 Drill Depth レベルの子フィールド(フィールドがオブジェクトへのポインタまたはインラインストラクトの場合)
これは Copy CE XML より手術的です:オブジェクト全体ではなく 1 つの値に対する焦点を絞った構造が得られます。マルチフィールドエクスポートは、同じレベルの選択された各フィールドに対して 1 つのエントリを作成します。これは関連フィールドをバッチエクスポートするのに役立ちます。
オブジェクト情報ヘッダーの AA をクリックして、現在のオブジェクトのアドレスを登録する Cheat Engine AA(Auto Assembler)スクリプトを生成します。AOBMaker CE プラグインが接続されている場合、スクリプトは直接 CE のスクリプトウィンドウにプッシュされます。そうでない場合、クリップボードにコピーされます。
下部の Functions グリッドの関数については、INV ボタンがコールスクリプトを生成し、これを CE で実行してランタイムでその関数を呼び出すことができます。
📖 完全なリファレンス: このメニューおよびツールバーの ⚙ Options ポップアップの各項目は、Options & CE Export Options ページで 1 つずつ説明されています。
すべてのエクスポートオプションはツールバーの Options ドロップダウンからアクセスできます。これらは以下を制御します:
| オプション | CE XML / CE Field エクスポートへの効果 |
|---|---|
| Append +Offset | 各エントリのフィールドオフセット(16 進数)を説明に含める―例:「AbilitySystemComponent (7E0)」。CE アドレスツリーで方向付けに役立ちます。オフ = 名前のみ。 |
| Append +Type | 各エントリのクラス / ストラクト / 要素型を説明に含める―例:「AbilitySystemComponent (LSAbilitySystemComponent)」または「[0] (ShieldAttributeSet)」。各エントリが表す構造体またはオブジェクト型を明確にします。 |
| Collapse chain | GWorld→…→ターゲットからの多ホップポインタパスを単一の CE マルチレベルポインタエントリ(ベース + オフセットリスト)に折りたたみます。ターゲットフィールドとそのドリルダウンはそのままにしておきます;スパインのみが折りたたまれます。より平坦で読みやすい CE 構造が生成されます。 |
| Flatten GAS attributes | GameplayAttributeData 構造体の特別な処理:その BaseValue と CurrentValue 子は、構造体の下にネストされる代わりに、兄弟葉エントリに昇格されます(例:「HealthPoint ▸ BaseValue」)。GAS の多いゲームのネストを削減します。 |
| Dedup shared objects | 共有オブジェクト(複数のフィールドが指すオブジェクト、または逆参照)は 1 回展開され、後の参照では「(shared)」として表示されます。濃密なオブジェクトグラフ(例:World)をドリルするときに指数関数的なブローアップを防ぎます。オフ = すべての参照を完全に展開(高い Drill Depth で非常に大きくなる可能性があります)。 |
| Skip system components | システム / エンジンアセットフィールド(Widgets、Sounds、Textures、Materials、Particles、Niagara、AnimInstances)を再帰的ドリルダウンからのみ除外―選択したトップレベルフィールドは常に保持されます。ゲームプレイデータに焦点を当てたよりリーンなエクスポートが生成されます。 |
| AOB | AOB(バイト配列 / パターンスキャン)シンボルを使用して、ハードコードされた 16 進数値の代わりにエクスポートのルートアドレスをアンカーします。ルートが GWorld の場合のみ利用可能(GameEngine ではありません)。AOB パターンが保持されれば、エクスポートはゲーム再起動を生き残ります。 |
| Guess? | 既知の UPROPERTY フィールド間のギャップを、おそらくネイティブ(非反映)C++ メンバーのヒューリスティック推測で埋めます。未登録フィールドの検索に役立ちますが、ノイズが多くなる可能性があります。デフォルトではオフです。 |
メインツールバーには、Live Walker がデータを取得して表示する方法に影響する追加のオプションが含まれています。トップツールバーの ⚙ Options ボタンからアクセスしてください:
| オプション | 効果 |
|---|---|
| Array Limit | インライン TArray プレビューの要素数キャップ(2^N、デフォルト 2^7 = 128)。より大きい配列はリストアップされていますが、メモリに読み込まれていません。メモリ使用量を監視しながら、大きい配列の場合は増加させます。 |
| Collapse Pointer Nodes | オンの場合、CE XML エクスポート内のポインタ / 配列 / コンテナグループフォルダは「Hide children」オプションを表示し、CE がデフォルトでそれらを折りたたみます。Live Walker 自体でのドリルには影響しません。 |
| Drill Depth | CSX エクスポートと Copy CE XML/Field の最大ポインタドリル深度(0 = flat/dummy、1~4 通常、5~6 指数出力成長の深い)。ObjectProperty ヒットのたびに余分なレベルが乗算されるため、エクスポートサイズが乗算されます。スライダーの色は 5~6 でアンバー / 赤にシフトしてサイズへの影響をフラグします。 |
| Locate in GWorld depth | 幅優先検索深度制限(デフォルト 5 ホップ)。より大きいほど深いターゲットが見つかりますが、速度が低下します。GWorld が使用不可の場合、グレーアウトされます。 |
[Value-Search]、[Instances]、または他のツールを使用してオブジェクトを見つけており、ゲーム階層内のその位置を理解したい場合は、Locate ボタンを使用して GWorld(または GameEngine)からそれへの最短ポインタパスを見つけます:
- Locate in GWorld:設定可能な深度制限(デフォルト 5 ホップ)で GWorld から幅優先検索を実行します。ほとんどのワールドアクター、コンポーネント、およびそれらが所有する子オブジェクトが見つかります。Locate in GWorld depth オプションを尊重します(メインツールバーの Options メニューでスライダーをドラッグして、深いオブジェクトが見つからない場合は検索深度を増やします)。
- Locate in GameEngine:ライブ UGameEngine シングルトンから代わりに検索します。エンジンシングルトン、GameInstance、LocalPlayer、および GWorld が到達できないエンジンサブシステムに到達します。エンジンレイヤーオブジェクト用とこれを使用して、GWorld locate が失敗したときのフォールバックを使用します。
フィールドグリッドの下に、Functions セクションは現在のオブジェクトのクラスのすべての UFunction(メソッド)をリストアップします。クリックして展開し、関数名、戻り値型、パラメータ数、アドレスを表示します。
各関数行は以下を提供します:
- INV:ゲームの ProcessEvent フックを使用してランタイムでこの関数を呼び出すインラインの CE AA スクリプトを生成します。CE から gameplay イベントをトリガーするのに役立ちます。
- PIPE:AOBMaker パイプ(接続されている場合)を使用して関数をすぐに呼び出します。デバッグ中の 1 回限りのリモート呼び出しに役立ちます。
- AA(Baked):関数のパラメータと呼び出しサイトをスクリプトに事前にベークした完全な AA スクリプトをコピーします―CE に貼り付けて実行できるスタンドアロンスニペット(ライブ AOBMaker 接続なし)。
グリッドは Filter by name… ボックスでフィルタリングされます(サブストリングマッチ、大文字と小文字を区別しません)。
| 側面 | Copy CE XML | Copy CE Field |
|---|---|---|
| スコープ | ウォークルートからのオブジェクト全体 | 選択されたフィールドのみ |
| ドリルダウン | すべてのネストされた子(Drill Depth を尊重) | 子フィールドの最大 Drill Depth レベルのみ |
| CE 構造 | 階層ツリー(ルート → ブレッドクラム → フィールド) | フラットまたは選択されたフィールドパスに焦点 |
| ユースケース | CE での探索 / ナビゲーション | 監視する特定の値のターゲット指定エクスポート |
- Options & CE Export Options — ⚙ Options ポップアップと CE Export Options メニューの項目ごとのリファレンス
- Instances — 指定されたクラスのすべてのオブジェクトを検索
- Value-Search — メモリ全体で値をハント
- Export-Formats (technical) — 完全な CE XML 仕様とフォーマット詳細