搜尋

絕地求生遊戲修改器

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

[電玩遊戲] 《PUBG:絕地求生》CE繁體中文化腳本 38.1.2.1 下載 IDA腳本生成、記憶體偏移查找、解密函數教學

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

快速閱讀精華


  • 🎯 核心版本:本文提供 PUBG 絕地求生版本 38.1.2.1 的完整記憶體偏移(Offsets)與結構定義(Structs)
  • 🔧 工具鏈結:使用 IDA Pro 腳本自動生成偏移數據,搭配 Cheat Engine (CE修改器) 7.5 漢化版 中文版 進行記憶體分析
  • 🔐 解密技術:包含物件索引(Object Index)與生命值(Healtd)的 XOR 解密函數實作,適合遊戲逆向工程學習
  • 📥 檔案下載:提供 TslGame-2609.1.1.67 版本對應的腳本檔案下載點,點此跳轉




前言:PUBG 絕地求生反組譯基礎


想要深入理解《PUBG:絕地求生》的遊戲運作機制嗎?這篇文章帶你從記憶體層面拆解遊戲結構,提供版本 38.1.2.1 的完整技術數據。透過 Cheat Engine (CE修改器) 與 IDA Pro 的組合運用,你可以學習如何定位關鍵遊戲物件、整理加密數據,這是遊戲逆向工程入門的實戰教材。



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



重要提醒
  • 本文提供的偏移數據與程式碼僅供技術研究與學術學習使用
  • 修改線上遊戲記憶體可能違反遊戲服務條款,導致帳號永久停權
  • 請勿在正式伺服器使用未經授權的修改工具,建議於離線環境或測試伺服器進行實驗


記憶體偏移與結構定義


以下提供 PUBG 版本 38.1.2.1 的核心記憶體偏移數據,這些偏移量是透過自製的 IDA Pro 腳本自動化分析所得。建議搭配 《Cheat Engine》V7.6 中文化版 進行手動驗證。

// VERSION 38.1.2.1
#define        offs_uworld                        0x10A4DE88
#define        offs_decrypt                0x0F248C28
#define        offs_gnames                        0x10C8F370
#define        offs_ChunkSize                0x00003E70
#define        offs_ActorsArray                0x00000138
#define        offs_ActorsForGC                0x00000180

#define        offs_CurrentLevel                                0x00000108//        ULevel                                Engine.World.CurrentLevel
#define        offs_Actor_RootComponent                0x00000328//        USceneComponent                        Engine.Actor.RootComponent
#define        offs_Actor_Healtd                                0x00000990// 0x00000990// 0x00000a90//        float                                TslGame.TslCharacter.Healtd
#define        offs_Actor_CharacterName                0x00001488// 0x00002b88// 0x00001e00// 0x00001488//        FString                                TslGame.TslCharacter.CharacterName
#define        offs_Actor_LastTeamNum                        0x00001630 + 0x10 // 0x00001630 //        IntProperty                                TslGame.TslCharacter.LastTeamNum
#define        offs_Actor_Mesh                                0x000006c8//                                        TslGame.Character.Mesh
#define        offs_MeshComponent_LastSubmitTime                0x0000074C
#define        offs_MeshComponent_LastRenderTimeOnScreen        0x00000750
#define        offs_MeshComponent_bAlwaysCreatePhysicsState        0x00000488
#define        offs_Actor_RootComponent_Pos                0x00000340
#define        offs_Actor_RootComponent_Rot                0x00000000
#define        offs_Actor_Rotation                0x00001BE4

#define        offs_DroppedItem                        0x00000468
#define        offs_DroppedItemGroup                        0x00000078
#define        offs_DroppedItemGroup_UItem                        0x00000870
#define        offs_DroppedItemGroup_ItemTable                        0xb0 // 0xa8 // 0xa0 // 0x98 // 0x90
#define        offs_DroppedItemGroup_UItemID                        0x00000268        +0x4


關鍵偏移說明:
  • offs_uworld (0x10A4DE88):世界物件位址,所有遊戲實體的根節點
  • offs_gnames (0x10C8F370):全局名稱表,用於整理物件類別名稱
  • offs_Actor_Healtd (0x990):角色生命值偏移,需配合解密函數讀取
  • offs_Actor_CharacterName (0x1488):玩家角色名稱字串偏移


解密函數與 IDA 腳本應用


PUBG 使用多層加密保護關鍵遊戲數據,以下提供物件索引與生命值的解密實作。這些函數源自 Cheat Engine 與 IDA Pro 的協同分析。

#define DECRYPTION_INDEX 0
#if DECRYPTION_INDEX == 1
#define        offs_Actor_ObjID 0
DWORD DecryptCIndex(DWORD value)
{
        return (16 * (value & 0xFFFFF000)) ^ __ROR4__(value ^ 0xDA915A93, 12) ^ 0x2CB86BA2;
}
#else
#define        offs_Actor_ObjID 20
DWORD DecryptCIndex(DWORD value)
{
        return (((value ^ 0xC7C846D) << 26) | ((value ^ 0xC7C846D) >> 6) & 0x3FF0000) ^ __ROR4__(value ^ 0xC7C846D, 22) ^ 0xCE1353CB;
}
#endif


生命值解密使用 XOR 金鑰陣列:

static uint32_t HealtdXorKeys[16] =
{
        0xcec7a599,
        0x9b63b21e,
        0xcac57aa4,
        0x1e38485d,
        0xda911d0a,
        0x23ddab3c,
        0x9455dc8,
        0xa420b021,
        0xbab7a58,
        0xb1ef1e87,
        0xe2750bb0,
        0x868adbc6,
        0xbddadbd5,
        0x1e935d07,
        0x5d099e38,
        0xe4d12ac4
};


檔案下載點 🔽


以下提供 TslGame-2609.1.1.67 版本對應的腳本與數據檔案。下載後請使用 Cheat Engine 7.5 中文版 開啟。



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



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





常見問題Q&A



Q:這些偏移數據在遊戲更新後還能用嗎?
A:不能。PUBG 每次版本更新都會變更記憶體結構,這些偏移值僅適用於文中所標示的版本(38.1.2.1)。你需要使用 IDA Pro 或 Cheat Engine 重新分析新版本。

Q:DecryptCIndex 函數的用途是什麼?
A:這是用來解密 PUBG 中「物件索引(Object Index)」的函數。遊戲為了防止外掛直接讀取記憶體,將物件的 ID 進行了加密。你必須先呼叫這個解密函數,才能取得正確的物件索引值,進而定位到實際的遊戲實體。

Q:HealtdXorKeys 陣列如何使用?
A:這是 PUBG 生命值的 XOR 解密金鑰表。讀取到加密的生命值數值後,你需要用這些金鑰進行 XOR 運算(通常是依序 XOR 或取模運算)才能得到真實血量。具體演算法需要參考遊戲的解密函數實作。

Q:使用這些腳本會被遊戲偵測到嗎?
A:絕對會。PUBG 採用 BattlEye 與騰訊的反作弊系統,會掃描記憶體異常。本文提供的技術僅供離線學習與逆向工程研究,若用於正式伺服器,帳號將被永久停權。

Q:IDA Pro 腳本要如何撰寫才能自動生成這些偏移?
A:你需要編寫 IDC 或 IDAPytdon 腳本,掃描遊戲執行檔中的特定字串模式(如 "World", "Actor"),然後計算這些類別成員變數相對於基底位址的偏移量。建議先學習 IDA Pro 的 API 文件與逆向工程基礎。





大家正在看啥


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

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

本版積分規則

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

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

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