-
Notifications
You must be signed in to change notification settings - Fork 6
Live Walker zh TW
Live Walker 分頁是 UE5CEDumper 的核心物件瀏覽器。它讓您從即時遊戲世界(GWorld 或 GameEngine)導航進入個別 UObject,檢查它們的欄位,即時編輯數值,並將指標鏈匯出到 Cheat Engine 進行進一步分析。
Live Walker 分頁開啟時為空。若要開始瀏覽:
- 點擊 Start from GWorld 來載入即時遊戲世界中的頂層 Actor,或點擊 Start from GameEngine 來存取引擎單例和 GameInstance 階層。
- 載入後,頂部的 Breadcrumb 列會顯示您目前的路徑。點擊任何麵包屑連結來回到該級別。
- 下方的 Field Grid 會顯示目前物件的每個屬性:位移、名稱、類型、目前值、十六進位表示和位址。
若要直接跳到一個物件位址,請在 Address 文字框中輸入或貼上位址並按 Go(或 Enter)。位址可以是:
- 十六進位(例如
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 的十六進位檢視中跳到該位址(透過 AOBMaker 外掛) |
| +CE | 將欄位新增到 CE 的位址清單作為型別記憶體記錄(透過 AOBMaker) |
| Name | 複製欄位名稱到剪貼簿 |
| inst | 在 Instance Finder 分頁中開啟指向物件的類別(僅指標欄位) |
| Ptr | 複製指標目標位址(僅指標欄位) |
切換 Auto 以定期從遊戲記憶體重新讀取目前物件的欄位,間隔時間可設定(預設 10 秒)。即時倒計時顯示下一次重新整理時間。適合在遊戲進行中觀看實時值變化。
將您的導航位置儲存到 8 個編號槽位之一,以便稍後回到該位置。點擊 ★ 按鈕進入書籤儲存模式,然後點擊槽位(1–8)來儲存目前物件、選定列和捲動位置。重新連線到遊戲時,書籤會自動重新載入。
Live Walker 以多種格式將您的欄位路徑匯出到 Cheat Engine:
點擊 Copy CE XML 可複製完整的指標鏈,從根(GWorld 或 GameEngine)到目前物件的所有欄位,作為階層式 Cheat Engine XML 結構。這會在 CE 的位址清單中建立巢狀項目,讓您在視覺上組織遊走並觀看巢狀結構。透過右鍵點擊位址清單並選擇 Paste from Clipboard 貼到 CE。
當您選取一或多個個別欄位(Ctrl/Shift 點擊進行多選)時,Copy CE Field(當選取多個欄位時為 Copy CE Fields)會匯出那些欄位,並自動指標鑽取。單一欄位匯出包括:
- 從遊走根到該欄位的完整指標鏈位址記錄
- 欄位本身作為葉項目
- 最多 Drill Depth 個子欄位層級(如果欄位是指向物件的指標或內聯結構)
這比 Copy CE XML 更精確:您獲得一個針對一個值的聚焦結構,而不是整個物件。多欄位匯出在同一層級為每個選定欄位建立一個項目,適合批量匯出相關欄位。
在物件資訊標頭中點擊 AA 以產生 Cheat Engine AA(自動組譯器)指令碼,用於註冊目前物件的位址。如果 AOBMaker CE 外掛已連線,指令碼會直接推送到 CE 的指令碼視窗;否則會複製到剪貼簿。
對於底部 Functions 網格中的函式,INV 按鈕會產生呼叫指令碼,您可以在 CE 中執行它以在執行時呼叫該函式。
📖 完整參考: 本選單以及工具列 ⚙ Options 彈出選單中的每一項,都在 Options & CE Export Options 頁面逐項說明。
所有匯出選項都可透過工具列上的 Options 下拉菜單存取。它們控制:
| 選項 | 對 CE XML / CE Field 匯出的影響 |
|---|---|
| Append +Offset | 在每個項目的描述中包含欄位位移(十六進位)— 例如「AbilitySystemComponent (7E0)」。有助於您在 CE 位址樹中定位自己。關閉 = 僅名稱。 |
| Append +Type | 在每個項目的描述中包含其類別 / 結構 / 元素類型 — 例如「AbilitySystemComponent (LSAbilitySystemComponent)」或「[0] (ShieldAttributeSet)」。澄清每個項目代表哪個結構或物件類型。 |
| Collapse chain | 將多跳指標路徑從 GWorld→…→目標折疊為單一 CE 多級指標項目(基底 + 位移清單)。保持目標欄位及其鑽取不變;只有脊椎折疊。產生更扁平、更易讀的 CE 結構。 |
| Flatten GAS attributes | GameplayAttributeData 結構的特殊處理:其 BaseValue 和 CurrentValue 子項會升級為同層葉項目(例如「HealthPoint ▸ BaseValue」),而不是巢狀在結構下。為遊戲中心重的遊戲減少巢狀。 |
| Dedup shared objects | 共享物件(多個欄位指向的或後向參考)會展開一次,在後續參考中顯示為「(shared)」。在鑽取密集物件圖時防止指數膨脹(例如 World)。關閉 = 完全展開每個參考(在高 Drill Depth 時可能很大)。 |
| Skip system components | 從遞迴鑽取中排除系統/引擎資產欄位(Widgets、Sounds、Textures、Materials、Particles、Niagara、AnimInstances)— 您選取的頂層欄位總是保留。產生更精簡的匯出,專注於遊戲邏輯資料。 |
| AOB | 使用 AOB(位元組陣列 / 圖案掃描)符號來錨定匯出的根位址,而不是硬編碼的十六進位值。僅在根為 GWorld 時可用(不是 GameEngine)。如果 AOB 圖案成立,匯出在遊戲重啟後存活。 |
| Guess? | 用啟發式猜測填補已知 UPROPERTY 欄位之間的差距,用於可能的原生(非反映)C++ 成員。適合尋找未註冊欄位但可能很嘈雜。預設關閉。 |
主工具列包括會影響 Live Walker 如何獲取和顯示資料的其他選項。透過頂部工具列中的 ⚙ Options 按鈕存取它們:
| 選項 | 影響 |
|---|---|
| Array Limit | 內聯 TArray 預覽的元素上限(2^N,預設 2^7 = 128)。較大的陣列會列出但不會讀入記憶體。增加以獲得巨大陣列,但要注意記憶體使用量。 |
| Collapse Pointer Nodes | 開啟時,CE XML 匯出中的指標/陣列/容器群組資料夾會顯示「隱藏子項」選項,讓 CE 預設折疊它們。不影響 Live Walker 本身的鑽取。 |
| Drill Depth | CSX 匯出和 Copy CE XML/Field 的最大指標鑽取深度(0 = 扁平/虛擬,1–4 正常,5–6 深層帶指數輸出增長)。每個額外層級都會倍增匯出大小,因為每個 ObjectProperty 命中都會展開成自己的欄位樹。滑塊顏色在 5–6 時變為琥珀/紅色以標記大小影響。 |
| Locate in GWorld depth | 廣度優先搜尋深度限制(預設 5 跳)。較大的深度尋找更深的目標但速度較慢。當 GWorld 不可用時灰掉。 |
當您已透過 [Value-Search],[Instances] 或其他工具找到物件並想了解其在遊戲階層中的位置時,使用 Locate 按鈕來尋找從 GWorld(或 GameEngine)到它的最短指標路徑:
- Locate in GWorld:從 GWorld 開始的廣度優先搜尋,具有可設定的深度限制(預設 5 跳)。尋找大多數世界 Actor、元件及其擁有的子物件。遵守 Locate in GWorld depth 選項(如果未找到深物件,請在主工具列的 Options 選單中拖動滑塊以增加搜尋深度)。
- Locate in GameEngine:改為從即時 UGameEngine 單例搜尋。到達引擎單例、GameInstance、LocalPlayer 和 GWorld 無法到達的引擎子系統。對引擎層物件和 GWorld locate 失敗時的後備方案使用。
在欄位網格下方,Functions 區段列出目前物件類別上的每個 UFunction(方法)。點擊展開以查看函式名稱、傳回類型、參數計數和位址。
每個函式列提供:
- INV:產生內聯 CE AA 指令碼,透過遊戲的 ProcessEvent 掛鉤在執行時呼叫此函式。適合透過 CE 觸發遊戲事件。
- PIPE:透過 AOBMaker 管道(如果已連線)立即呼叫函式,適合在除錯期間進行一次性遠端呼叫。
- 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 規格和格式詳細資訊