搜尋

界外狂潮《界外狂潮》FragPunkFragPunk遊戲修改器

返回清單
切換到指定樓層
通知這文章過時或找檔案 發表主題

[電玩遊戲] 《界外狂潮》FragPunk 逆向工程結構體與偏移量下載 UE4.26 記憶體分析、GName/GWorld 簽名、ACrimsonCharacter 類別結構

[複製連結]
1
AQ416912 ( Lv.30 大天使 ) 發表於 半小時前 | 只看該作者 |只看大圖 回覆獎勵 |降序瀏覽 |閱讀模式

《界外狂潮》FragPunk 技術資料快速閱讀精華


  • 🎯 遊戲引擎:Unreal Engine 4.26,採用 NeacProtect(網易易盾)反作弊保護
  • 🔍 核心簽名:提供 GName 與 GWorld 特徵碼,支援 Cheat Engine 或自製注入器掃描
  • 🧬 角色結構:完整整理 ACrimsonCharacter 類別(大小 0x2ED0),包含血量、護甲、死亡狀態等關鍵偏移
  • 🦴 骨骼系統:列出 LeftWrist、RightElbow、Head 等完整骨骼名稱對照表
  • 📦 SDK 下載:提供完整結構體 SDK Dump 檔案,包含所有偏移量與類別定義




前言介紹


《界外狂潮》(FragPunk)是由網易遊戲開發的 5v5 英雄射擊遊戲,融合快節奏槍戰與獨特的「卡牌」技能系統。對於想要深入研究遊戲機制、開發輔助工具或進行逆向工程分析的技術玩家來說,掌握遊戲的記憶體結構與關鍵偏移量是必要的基礎。

底下我們整理了《界外狂潮》基於 Unreal Engine 4.26 的完整技術資料,包含 GName、GWorld 的特徵碼簽名,以及核心玩家角色類別 ACrimsonCharacter 的詳細結構體整理。這些資料適用於 Cheat Engine 記憶體掃描、自製 DLL 注入或其他逆向工程用途。

重要提醒:使用記憶體修改工具或逆向工程技術可能違反遊戲服務條款,導致帳號永久停權。本文僅供技術研究與教育用途,使用風險請自行承擔。

引擎與反作弊分析


ISELY2s.jpg



👉 GM後台版 遊戲 推薦 ⬇️⬇️⬇️ 快速玩各種二次元動漫手遊app



《界外狂潮》採用 Unreal Engine 4.26 作為核心引擎,這代表遊戲繼承了 UE4 的記憶體管理模式、UObject 反射系統以及標準的 GName/GWorld 全域指標結構。對於熟悉 UE4 逆向工程的開發者來說,這大幅降低了分析門檻。

然而,遊戲部署了 NeacProtect(網易易盾)作為反作弊保護機制。該系統會監控記憶體異常存取、偵測 DLL 注入行為,並可能對修改記憶體的進程實施封鎖。因此,在進行記憶體分析時,建議在離線模式或受控環境中操作,避免直接於線上模式中進行即時修改。

技術架構重點


  • 引擎版本:UE 4.26.2(部分模組可能使用 4.27 功能)
  • 編譯類型:Development/Shipping(發行版經過加密與壓縮)
  • 字串加密:GName 可能經過 XOR 或位移加密(需動態解密)
  • 代碼虛擬化:關鍵函數可能經過 VMProtect 或類似保護


核心簽名(GName & GWorld)


在 UE4 逆向工程中,GName(全域 FName 資料庫)與 GWorld(當前 UWorld 實例)是兩個最關鍵的進入點。底下提供《界外狂潮》經過驗證的特徵碼簽名,可用於 Cheat Engine 的「AOB 掃描」功能或自製記憶體掃描器。

GName 簽名


4C 8D 05 ? ? ? ? EB ? 48 8D 0D ? ? ? ? E8


說明:此簽名指向 FName 資料庫的初始化位置。掃描到後,需整理相對位址(RIP + Offset)以取得實際的 GName 指標。在 NeacProtect 保護下,此區域可能會有 CRC 檢查,建議在掃描時暫停進程或繞過保護機制。

GWorld 簽名


48 8B 1D ? ? ? ? 48 85 DB 74 ? 41 B0 01


說明:GWorld 簽名用於定位當前遊戲世界的 UWorld 實例。此實例包含關卡資訊、Actor 列表(包括玩家、NPC、道具等)。整理此指標後,可以遍歷 AActor 列表找到 ACrimsonCharacter 實例。

使用範例(Cheat Engine)


  • 啟動 Cheat Engine 並附加到遊戲進程
  • 開啟「記憶體檢視」→「工具」→「AOB 掃描」
  • 輸入 GWorld 簽名:`48 8B 1D ?? ?? ?? ?? 48 85 DB`
  • 掃描到結果後,右鍵「反組譯此記憶體區域」
  • 觀察 `mov rbx,[target]` 指令,計算實際位址:指令位址 + 7 + 相對偏移


ACrimsonCharacter 結構體整理


ACrimsonCharacter 是《界外狂潮》中玩家控制角色的核心類別,繼承自 ACrimsonMovableCharacter。完整類別大小為 0x2ED0 位元組(約 11,984 位元組),包含生命值、護甲、移動狀態、武器資訊等關鍵遊戲數據。

重要成員偏移量對照表


偏移量類型名稱說明
0x1058floatFallGroundHealtd跌落傷害血量
0x105CfloatMaxFallGroundHealtd最大跌落傷害承受值
0x1060int32ArmorId護甲 ID
0x1070floatLifeTimeAfterDeatd死亡後存活時間(可救援期)
0x1098UCrimsonRagdollComponent*RagdollComponent布娃娃物理元件
0x1508UCrimsonLogicWeaponBase*CurrentWeapon當前持有武器
0x24D0boolbIsDying是否正在死亡
0x24D4floatDamageTaked已承受傷害值
0x2578int64PlayerUniqID玩家唯一識別碼
0x2584floatLastShootTime最後射擊時間戳


結構體使用範例


若要讀取玩家當前血量與護甲狀態,可透過 GWorld 遍歷 AActor 列表,找到 ACrimsonCharacter 實例後,讀取對應偏移量:

// 讀取跌落傷害血量(可視為臨時護盾)
float FallHealtd = *(float*)(CharacterAddr + 0x1058);

// 讀取護甲 ID
int32 ArmorID = *(int32*)(CharacterAddr + 0x1060);

// 檢查是否正在死亡
bool IsDying = *(bool*)(CharacterAddr + 0x24D0);


骨骼系統與名稱對照


《界外狂潮》使用標準的 UE4 人形骨骼(Humanoid Rig),但採用自定義的骨骼命名規則。底下列出完整的骨骼名稱對照表,適用於骨骼透視(Bone ESP)或自瞄(Aimbot)功能開發。

上肢骨骼


  • left_hand:LeftWrist(左手腕)
  • left_fore_arm:LeftElbow(左手肘)
  • left_arm:LeftShoulder(左肩膀)
  • right_hand:RightWrist(右手腕)
  • right_fore_arm:RightElbow(右手肘)
  • right_arm:RightShoulder(右肩膀)


下肢骨骼


  • left_foot:LeftFoot(左腳)
  • left_leg:LeftKnee(左膝蓋)
  • left_up_leg:LeftThigh(左大腿)
  • right_foot:RightFoot(右腳)
  • right_leg:RightKnee(右膝蓋)
  • right_up_leg:RightThigh(右大腿)


軀幹與頭部


  • hips:Pelvis(骨盆/髖部)
  • spine:Spine1(脊椎1)
  • spine1:Spine1(脊椎1)
  • spine2:Spine2(脊椎2)
  • neck:Neck(頸部)
  • head:Head(頭部)


骨骼讀取範例


若要取得玩家頭部位置用於繪製 ESP,可使用 UE4 的 Mesh 元件函數:

// 取得 Mesh 元件
USkeletalMeshComponent* Mesh = *(USkeletalMeshComponent**)(CharacterAddr + MeshOffset);

// 取得 Head 骨骼位置
FVector HeadPos;
Mesh->GetBoneLocation(FName("Head"), &HeadPos);


SDK Dump 與檔案下載


底下提供完整的《界外狂潮》UE4 SDK Dump 檔案,包含所有結構體、類別定義與偏移量資訊。此 SDK 適用於開發記憶體修改工具、自動化腳本或逆向工程分析。



所有站內附件皆會附上安全掃描報告
請會員查看純淨度百分比後判斷使用



相關檔案須知:
取得檔案前,請先詳細閱讀文章內容
避免不必要錯誤與誤會發生。
也可多參考文章討論樓層內容
了解附件檔案相關討論資訊。





檔案內容說明


  • 結構體定義:包含 ACrimsonCharacter、ACrimsonPlayerState、UCrimsonLogicWeaponBase 等核心類別的完整成員變數與偏移量
  • 列舉(Enums):EIK_Type、EGameplaySignificanceLevel 等遊戲內部狀態列舉
  • 函數位址:部分虛擬函數表(VTable)與成員函數位址資訊
  • SDK 命名空間:完整命名空間對照,方便與實際遊戲記憶體對應


常見問題Q&A



Q:這些偏移量與簽名在遊戲更新後是否仍然有效?
A:遊戲每次大型更新(如賽季更新)都可能改變類別結構,導致偏移量變動。GName 與 GWorld 的簽名也可能因編譯器優化或代碼重構而失效。建議在每次遊戲更新後重新使用 Cheat Engine 掃描驗證。

Q:使用這些技術資料是否會導致帳號被封鎖?
A:是的。NeacProtect 反作弊系統會主動掃描記憶體異常、偵測外部進程注入,並對可疑行為進行截圖上傳。即使是讀取記憶體的靜態分析,也可能被視為違規。強烈建議僅在離線模式或專用測試環境中使用這些資料。

Q:如何在 Cheat Engine 中使用提供的 AOB 簽名?
A:首先,確保你使用的是支援 64 位元掃描的 Cheat Engine 7.5 以上版本。步驟如下:
  • 開啟 Cheat Engine 並附加到 FragPunk 進程
  • 點擊「Memory View」開啟記憶體檢視器
  • 按下 Ctrl+Alt+A 開啟自動組譯視窗
  • 使用「Template」→「AOB Injection」或直接在記憶體檢視器中使用「Search」→「Find memory」
  • 輸入 GWorld 簽名:`48 8B 1D ?? ?? ?? ?? 48 85 DB`,將 `??` 視為萬用字元


Q:ACrimsonCharacter 與 ACrimsonPlayerState 的差別是什麼?
A:ACrimsonCharacter 是實體角色類別,負責處理移動、碰撞、動畫、武器持握等「物理存在」相關的邏輯;而 ACrimsonPlayerState 則儲存玩家狀態如分數、擊殺數、死亡數、隊伍 ID 等「遊戲規則」相關數據。在記憶體分析時,通常先透過 GWorld 找到 GameState,再遍歷 PlayerArray 取得 PlayerState,最後透過 PlayerState 的 Character 指標找到對應的 ACrimsonCharacter。

Q:為什麼有些偏移量顯示為 Pad_XXXX?
A:Pad_XXXX 表示該區域為編譯器自動填充的對齊位元組(Alignment Padding),或保留給未來版本使用的未公開欄位。這些區域通常不應被直接讀取或修改,因為它們可能包含未初始化的記憶體或內部管理資料。在開發記憶體修改器時,應僅使用具名欄位的偏移量,避免存取 Pad 區域以防止遊戲崩潰。





大家正在看啥


收藏收藏 分享文章到FB上分享
回覆 使用道具 檢舉
複製專屬你的推廣連結:發至FB與各論壇宣傳:累積點數換GP商品 & 藍鑽
每五點閱率就可以兌換藍鑽積分或遊戲點卡 夢遊推廣文章換GP商品

你需要登入後才可以回覆 登入 | 加入會員

本版積分規則

Copyright (C) 2010-2020 夢遊電玩論壇

廣告合作:請直接聯繫我們,並附上您預刊登位置的預算。  

快速回覆 返回頂端 返回清單