Awesome REA
繁體中文
返回全部案例

OpenBattlefield2:用函式級 Evidence 重建戰地 2 客戶端

分析目標: Battlefield 2 1.5 的 Refractor 2 客戶端、渲染 DLL 與原版資料

作者 / 歸屬: Moxnatiy

核對日期:

收錄狀態: 已閱讀公開原文,未獨立復跑作者測試。

想解決什麼問題

怎樣把準星、HUD 與客戶端行為的二進位制調查,轉成可追溯的引擎實現?

REA 具體做了什麼

使用 REA 4.1.0 + Ghidra 12.1.4 讀取 32 位 PE,先獲取函式完整 Evidence dossier,再用直接 Ghidra 查詢、遊戲資料及伺服器符號補充。準星筆記記錄 GuiIndex、位置和偏移累加函式的地址及 REA Evidence IDs;REA 只承擔其中的分析環節。

原作者報告的成果

公開 C++20 引擎、函式筆記、測試與截圖;作者報告可讀取自有 BF2 1.5 安裝、連線原版專用伺服器並顯示士兵和 HUD。準星已在連線模式繪出並隨移動擴散、停止後收攏,附 test_weapon_hud 等檢查。

侷限與未驗證項

研究專案尚缺開火、車輛駕駛、聲音等功能;準星的切槍、縮放和開火更新仍有待完成,hosted 模式沒有準星。主要平臺為 macOS arm64,Windows 構建未實際執行驗證。多工具協作的整體成果不能全部歸於 REA;本倉庫未復跑。

可以借鑑什麼

從一個具體可觀察功能出發,把地址、Evidence、實現與驗收命令放在同一條證據鏈上。

原文中的 REA 使用證據

Addresses are BF2.exe unless named otherwise; the evidence IDs are REA’s

短摘錄簡化了排版,完整上下文以原文為準。

原始來源

本頁為獨立整理,成果歸原作者。目標軟體、安裝包和完整反編譯輸出不在此分發。

在 GitHub 檢視此案例 · 糾正資料