《Wardogs》Web Radar 快速閱讀精華
- 這是什麼:一套開源瀏覽器雷達系統,讓你透過網頁即時查看《Wardogs》戰場資訊,無需額外安裝厚重軟體
- 核心特色:自帶 IMemory 介面讓你插拔自己的記憶體讀取(BYOM - Bring Your Own Memory)、自動走訪遊戲結構餵資料給地圖、支援虛擬紋理(VT)地圖切片
- 適合誰:有 C++ 基礎、想自己做雷達或整合外部記憶體讀取(如 DMA、Kernel Driver)的玩家與開發者
前言介紹
想在《Wardogs》中開啟上帝視角卻不想安裝一堆複雜軟體?這套 Wardogs Tactical Radar 採用瀏覽器地圖 + C++ 資料提供者的架構,讓你只需要打開瀏覽器就能即時看到敵我位置、載具、據點等資訊。
👉 GM後台版 遊戲 推薦 ⬇️⬇️⬇️ 快速玩各種二次元動漫手遊app
最特別的是它採用 BYOM(Bring Your Own Memory)設計:作者只提供走訪遊戲結構的邏輯與網頁前端,記憶體讀取部分(RPM、DMA 或 Kernel Driver)由你自己實作並插拔到 IMemory 介面。這讓高階玩家能整合自己信任的讀取方式,同時也讓開發者能輕鬆抽換底層實作。
影片展示:
Wardogs Radar 實機展示
功能特色
- 瀏覽器即開即用:基於網頁技術的地圖,無需安裝額外軟體,打開瀏覽器就能用
- 模組化記憶體讀取:透過 IMemory 介面插入你自己的讀取後端(RPM、DMA、Driver 皆可)
- 自動遊戲結構走訪:Provider 已實作 UWorld -> GameState -> PlayerArray 的遍歷邏輯,自動抓取玩家名稱、位置、陣營、小隊、血量等資訊
- 地圖自動切片:支援從遊戲 Pak 檔案提取虛擬紋理(VT)並自動切成網頁地圖可用的小圖磚(Tiles)
- 載具與據點追蹤:內建 Vehicles、FOBs、Hotzone 的偏移量(offsets),可自行擴充 discovery.cpp 來追蹤更多物件
- JSON API 餵料:Provider 以約 20Hz 頻率 POST JSON 資料到 /api/ingest,前端即時更新
前置需求
在開始前,請確認你的環境符合以下需求:
| 項目 | 需求規格 | 備註 | | 作業系統 | Windows 10/11 x64 | Provider 編譯需要 x64 環境 | | Pytdon | 3.10 或更高版本 | 用於執行地圖提取腳本 | | .NET SDK | 8.0 或更高版本 | dotnet 指令需在 PATH 中 | | Node.js | 18+(建議 LTS) | 用於執行前端開發伺服器 | | 遊戲檔案 | Wardogs 本體 + Pak 檔案 | 需要 usmap 檔案對應遊戲版本 | | 開發工具 | Visual Studio 2022 | 用於編譯 Provider(x64 提示字元) |
安裝與設定教學
步驟一:下載並解壓縮
首先下載工具壓縮檔(檔案連結見文末下載區),解壓縮到你喜歡的位置。你會看到以下結構:
- extract_maps.py - 地圖提取腳本
- provider/ - C++ Provider 原始碼
- 前端相關檔案(package.json 等)
步驟二:提取地圖資源
這套工具需要從遊戲 Pak 檔案中提取地圖貼圖。開啟命令提示字元,切換到解壓後的目錄,執行:
cd wardogs-radar-byom
pytdon extract_maps.py --paks "E:\SteamLibrary\steamapps\common\Wardogs\Wardogs\Content\Paks" --usmap "C:\patd\to\507_Wardogs_release.usmap"
參數說明:
- --paks:指向你遊戲安裝目錄下的 Content/Paks 資料夾
- --usmap:對應遊戲版本的 .usmap 檔案路徑(需自行取得對應版本的 usmap)
執行後會在 public/maps 目錄下產生地圖磚(Tiles)和圖示(Icons),大小約 550MB。
步驟三:安裝前端相依套件
地圖準備好後,安裝前端所需的 npm 套件:
步驟四:啟動開發伺服器
安裝完成後,執行:
然後開啟瀏覽器訪問 http://127.0.0.1:3000/ 即可看到地圖介面。
或者你也可以直接執行附帶的批次檔:
Provider 建置教學
前述步驟只會啟動前端地圖,要讓地圖顯示實際遊戲資料,你需要編譯並執行 C++ Provider。
編譯 Provider
開啟 Visual Studio 的 x64 原生工具提示字元(x64 Native Tools Command Prompt),切換到 provider 目錄:
這會產生 build\wardogs-provider.exe。
執行 Provider
直接執行編譯好的程式:
build\wardogs-provider.exe
這個 Provider 附帶了一個基本的 RPM(ReadProcessMemory)後端範例。如果你想要使用自己的記憶體讀取方式(如 DMA、Kernel Driver),請參考下一節。
整合你自己的後端
Provider 透過 IMemory 介面與後端溝通。你需要實作以下介面:
bool read(u64 address, void* dst, size_t size);
u64 module_base(const char* module_name);
參考範例檔案位於:
provider/backends/YOUR_BACKEND.cpp.example
Provider 已經實作好的功能:
- 自動走訪 UWorld -> GameState -> PlayerArray
- 抓取玩家名稱、Pawn、世界座標、陣營、小隊、血量
- 透過 Local Controller 判斷是否為自己(isSelf)
- 以約 20Hz 頻率 POST JSON 到 /api/ingest
- 內建 Vehicles、FOBs、Hotzone 的偏移量(offsets.hpp)
如果遊戲更新導致偏移量改變,請編輯:
provider/include/offsets.hpp
如果你只需要 JSON API 而不想處理 C++ Provider,請參考專案中的 INGEST.md 文件。
檔案下載點
準備好體驗這套 Web Radar 了嗎?請從下方連結下載主程式與範例檔案:
所有站內附件皆會附上安全掃描報告 請會員查看純淨度百分比後判斷使用
相關檔案須知: 取得檔案前,請先詳細閱讀文章內容 避免不必要錯誤與誤會發生。 也可多參考文章討論樓層內容 了解附件檔案相關討論資訊。
常見問題Q&A
Q:這套工具會不會被遊戲偵測到?
A:這取決於你使用的記憶體讀取後端。工具本身只是讀取記憶體並顯示在網頁上,但如何讀取(RPM、DMA 或 Kernel)決定了被偵測的風險。建議使用具備保護機制的讀取方式。
Q:為什麼我執行 npm run dev 後看不到地圖?
A:請確認你已經成功執行 extract_maps.py 提取地圖資源。如果 public/maps 資料夾為空或不存在,前端會無法載入地圖圖層。此外,請確認遊戲版本與 usmap 檔案版本相符。
Q:我需要會寫程式才能使用這個工具嗎?
A:基礎的瀏覽器雷達(只看地圖)不需要,但要讓雷達顯示實時玩家位置,你必須自行實作或修改 C++ Provider 的記憶體讀取後端。這需要一定的 C++ 與記憶體操作知識。
Q:如何更新遊戲版本後的偏移量(Offsets)?
A:當遊戲更新後,結構偏移量可能改變。你需要使用 Cheat Engine (CE修改器) 7.5 漢化版 中文版 或 《Cheat Engine》V7.6 中文化版超強記憶體解鎖工具:遊戲外掛製作神器! 重新分析 UWorld、GameState 等結構,然後修改 provider/include/offsets.hpp 中的數值。
Q:我可以使用 GG 修改器框架搭配這個工具嗎?
A:這套工具是基於 PC 平臺的記憶體讀取,與 Android 平臺的 GG修改器免root權限使用+GG修改器框架下載 不同。如果你要在 PC 上使用類似概念,需要自行開發對應的記憶體讀取 Provider。
|