2025虛幻游戲逆向工程解包嘗試

2025虛幻游戲逆向工程解包

前言

在2025游戲模型提取攻略寫了,但是想要找的時候又忘了在哪篇文章中寫的,所以干脆專門寫一下。中間有許多坑。

一坑接一坑。

先說結論:用Umodel(UV Viewer)查看和導出模型。FModel雖然也許,但是部署麻煩,目前還在報錯中。

內容

參考這篇文章:

Unreal Engine 5 逆向工程與游戲開發 - 黑神話悟空

1獲取黑神話悟空的解包密碼 AES:在游戲啟動exe目錄的key.txt文本中

2從游戲目錄中獲取Mappings.usmap文件:

使用 DLL_injector 工具: 通過 DLL 注入工具獲取游戲內存中的 Mappings.usmap 文件。在github下載或者第三方網站下載:DLL 注入器信息 - WeAreDevs

導入 UE Mapping Dumper:這是一個將為 UE 生成映射文件的項目,幾乎所有未來的 UE5 游戲都是必需的,以便從游戲文件中讀取數據。去 Githubopen in new window 上下載。或者第三方網站:項目首頁 - UnrealMappingsDumper:A dumper that generates mappings (.usmap) files for datamining Unreal Engine games. - GitCode

運行游戲:運行游戲后,打開 DLL injector,加載 UE Mapping Dumper并等待 Mappings.usmap 文件生成。

3導出文件到 FModel FModel是一個強大的工具,可以幫助我們對 UE4/5 的資源文件進行逆向分析。

解包工具:

FModel: https://github.com/4sval/FModel/releasesopen in new window

UE Viewer: https://www.gildor.org/en/projects/umodel

4使用三維軟件制作資產

5使用 UE5 引擎替換和打包資產

看起來很簡單,但是每一步都有坑。

AES Key

方法一:在游戲目錄運行AES_finder.exe。注意不要下載源文件。

方法二:直接搜索想要逆向工程的AES Key

推薦用方法二,不用下載工具,因為下載的AES_finder.exe也不能保障一定能解出AES Key

說可以用AES_finder工具獲取。但是沒有具體說怎么獲取的。然后我就發現直接找文件夾沒找到這個key.txt。

AES_finder:我通過這篇文章aes-finder實用工具資源下載說明:實時監控內存,高效查找AES密鑰-CSDN博客找到了這個下載地方GitCode - 全球開發者的開源社區,開源代碼托管平臺,但是這個是要用Visual Studio 2013打開aes-finder.sln解決方案進行編譯。而不是像EXE文件一樣

[UE] FModel 資源解包流程:這個就是可以用EXE文件打開,然后我在這篇文章去找下載地址:https://cs.rin.ru/forum/viewtopic.php?f=10&t=100672

然后發現是個論壇,里面用游戲的AES Key。好家伙。也就是AES_finder可以不用下載。

我安裝VS后,點sln文件結果報錯。

img

我通過[黑神話悟空解包教程模組制作序章]_游戲熱門視頻下載到了AES_finder.exe。把它放在游戲目錄中雙擊,然后提示要安裝Java。38M。

安裝Java后,雙擊AES_finder.exe,馬上出現了key.exe。但是可能加殼了,沒有出AES Key

Exe is protected. Remove protection before using the tool. More info in the readme. Execution time in seconds: 0 Exe 受保護。在使用工具之前請移除保護。更多信息請參閱自述文件。

我拿匹諾曹測試失敗了,不過黑暗之魂還是有效的。

不過我在別的地方發現了匹諾曹的key:0x9140E4AFF909A85DC0F4E6E45CD5012058F39D60C7EE2BAB1DB05D85668EE53B

獲取 Mappings.usmap 文件

1下載DLL_injector.exe文件,不要下載源代碼,哪個我不會用,你如果會用就隨意。[DLL Injector Information - WeAreDevs](https://wearedevs.net/d/DLL Injector)

2下載UE Mapping Dumper文件,GitCode - 全球開發者的開源社區,開源代碼托管平臺

3下載Memcury,解壓到\UnrealMappingsDumper-master\Dependencies\Memcury文件夾。缺少這一步,用VS運行UnrealMappingsDumper.sln會報錯,說缺失Memcury.h文件

4下載VS,用VS打開UnrealMappingsDumper.sln文件。然后會報錯,但是在\UnrealMappingsDumper-master\x64出現了UnrealMappingsDumper.dll。運行后原本800kb變成了261M,如果多運行幾次會更大,一部分是VS環境配置,另一部分是緩存。

5把DLL_injector文件夾放到游戲目錄,然后把UnrealMappingsDumper.dll放到\DLL Injector\resources文件夾。然后打開x64_DLL_Injector.exe。文件夾選擇UnrealMappingsDumper.dll;運行軟件選擇DLL Injector.exe;

6打開游戲,然后點x64_DLL_Injector.exe的inject,過十幾秒會出現成功的標志。

還是失敗,沒找出原因。離譜。可能是軟件的問題,也可能是游戲的問題。

這也是一個坑,我下載了DLL_injector:[DLL Injector Information - WeAreDevs](https://wearedevs.net/d/DLL Injector)

UE Mapping Dumper:GitCode - 全球開發者的開源社區,開源代碼托管平臺

但是我下載了這兩個不知道怎么用。用兩個疑問:1DLL_injector加載的dll是在哪,是哪個dll;2UE Mapping Dumper怎么使用。

搜攻略說是用VS打開SLN文件。

我搜了一下如何使用:UnrealMappingsDumper 教程

說用VS打開運行就行,結果

img

我分析是因為放在桌面的原因,于是我就把這個文件夾放到游戲目錄中,結果還是不行,于是我看日志:

img

然后就一個一個找問題:解決 VS 無法打開包括文件: “XXX.h”: No such file or directory問題

然后我在文件夾沒找到這個文件。然后我回頭看Gitee上的這個文件夾,然后發現是個鏈接,的確沒這個文件,怪不得沒效果。

通過一些方法把https://github.com/kem0x/Memcury下載下來,18KB

然后運行,報錯

img

不過好的一點是出現了UnrealMappingsDumper.dll。

我分析這個報錯的緣由,在這篇文章找到了答案:在visual studio用動態鏈接庫創建的在運行的時候顯示說不是win32的程序這是什么原因我的平臺屬性設置的是64的操作系統也是64的_微軟技術-CSDN問答

動態庫是無法運行的,應用程序將在需要時加載動態庫。你需要創建exe程序來調用DLL。

我猜測這也是用到DLL_injector的原因。但是為啥要繞這么一大圈搞個UnrealMappingsDumper.dll。直接把UnrealMappingsDumper.dll放出來不就行,難道是和部署環境相關。

然后就使用DLL_injector。但是點擊沒啥用。

img

然后我又發現我下載的文件有問題。從GitHub下載后。

img

運行又出問題。

然后我想是不是要運行游戲后再點DLL_injector。回頭測試一下。

原文說:運行游戲后,打開 DLL injector, 加載 UE Mapping Dumper并等待 Mappings.usmap 文件生成。

導出文件到 FModel

1必須下載到FModel.exe,不要下載到源文件的,源文件是給大佬更新軟件用的。

2必須下載給FModel.exe添加依賴,不然會報錯。把這個https://github.com/X1A0CA1/Files/tree/main/BlackMythWukongBlogFiles,解壓到Fmodel文件夾/Output/.data/ 。然后重啟就可以看到包了

3在Directory - AES輸入AES Key。包就可以打開了。

不知道為啥提示映射失敗,不能在軟件中打開。然后我干脆把資源導出來,用3dsmax查看。

另外就是感覺沒用Mappings.usmap 也沒啥影響。

這個官網要翻墻才能下載:https://fmodel.app/

然后我在第三方網站下載:https://sourceforge.net/projects/fmodel.mirror/files/latest/download

還有這個也可以下載:GitCode - 全球開發者的開源社區,開源代碼托管平臺

看了一下使用,要用VS。

然后看了這個:使用FModel提取游戲資產-CSDN博客

發現官網下載的 FModel是exe文件。

img

右上角下載的是EXE文件,左下方下載的是源文件。

用EXE文件的時候要把EXE放到游戲目錄運行,不然會報錯。下面是打開的情況。要在最下面那個目錄那選擇游戲目錄,然后才能檢測到游戲。

img

微信截圖翻譯

然后我就去看這個教程:[黑神話悟空解包教程模組制作序章]_游戲熱門視頻 我通過這個下載到了 搜了一下如何用vScode打開.sln后綴文件:Visual Studio Code - Code Editing. Redefined 這個下了老半天才3M,然后到官網下載:下載 Visual Studio Tools - 免費安裝 Windows、Mac、Linux

又找到一篇文章:黑神話:悟空 解包教程 | XiaoCai’s Blog

還是失敗了。浪費半小時。

img

還是報錯:

img

回頭不查看,直接導出模型到blender或者3dsmax中看。

關于游戲打包

官方文檔:打包你的項目 | 虛幻引擎 5.6 文檔 | Epic Developer Community (epicgames.com)

打包是將虛幻引擎項目轉換為獨立可執行文件(.exe)或應用程序的過程。 Pak(.pak)文件是虛幻引擎用于存儲烘焙內容的歸檔文件格式。

打包細節:UE5 Pak學習與應用(四) 基于虛幻引擎的Pak制作工具 - 知乎 (zhihu.com)

其實主要變換點在于: 工程 Content: 把 Content 之前的路徑去掉,Content 變為 Game.

工程 Plugins: 工程的插件里面的資產也是可以烘焙打包到 Pak 文件中的,但它的路徑處理就稍微復雜一點。(1)需要把實際的插件名稱前的路徑移除掉,即多個插件可能包含在一個 Plugins/folder 中,而這個包裹的文件夾在 Reference 路徑中是不需要的。 (2)然后把 Content 路徑移除掉… 是的,這里是移除掉,雖然在磁盤上這個目錄是實際存在的,但是虛幻引擎的讀取使用規則里面不需要。可以看第四條 Engine Plugins 中有個 AnimationSharing 插件,里面存的 AnimsharingRed 資產的處理例子。 Engine Content: 處理手法和工程 Content 差不多,可以理解為是把 Content 之前的路徑去掉了,然后 Content 變為 Engine;也可以理解為這里是把 Content 變沒了。

Engine Plugins: 處理手法與工程 Plugins 類似,去掉實際插件前的包含目錄,去掉 Content. 以上是虛幻引擎在處理資產磁盤路徑 到 Reference 路徑的變換規則,多對比幾次磁盤路徑和 Reference 路徑就能歸納出來。

.pak文件用解壓軟件打不開,可以用Fmodel解壓出來。

.uasset文件通過虛幻引擎打開:https://blog.csdn.net/qq_39934403/article/details/114832013

UE4游戲提取的通用步驟(21_9_8)_unrealpaktool-CSDN博客

可以參考思路

虛幻4游戲解包導出及Mod制作指南

這個有點復雜。

虛幻引擎自帶工具解Pak包_嗶哩嗶哩_bilibili

這個沒試過,是個思路。試著用zip解壓一下。

請添加圖片描述

導出來了,但是打不開。

結尾

目前暫未成功。

目前還是UE Viewer最簡單好用,不要另外配置依賴文件。

1UE Viewer下載:Gildor’s Homepage,才2M。

2使用工具 umodel_win32 解包、預覽、導出匹諾曹的模型文件

img

img
導出的時候選tool-export options。注意模型選gltf,方便用blender打開。其他的也許,但是要再安裝插件。
請添加圖片描述
這是我導出來的盾兵的模型,不清楚為啥沒貼圖,在UE viewer中明明有貼圖。
請添加圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/909274.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/909274.shtml
英文地址,請注明出處:http://en.pswp.cn/news/909274.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Qt學習及使用_第1部分_認識Qt---Qt開發基本流程

前言 學以致用,通過QT框架的學習,一邊實踐,一邊探索編程的方方面面. 參考書:<Qt 6 C開發指南>(以下稱"本書") 標識說明:概念用粗體傾斜.重點內容用(加粗黑體)---重點內容(紅字)---重點內容(加粗紅字), 本書原話內容用深藍色標識,比較重要的內容用加粗傾…

大模型的開發應用(十):對話風格微調項目(上):數據工程與模型選型

數據工程 1 項目介紹2 數據工程2.1 申請 API Key 并測試2.2 文本嵌入模型2.3 生成訓練集2.3.1 制作風格模板2.3.2 調用大模型獲取數據2.3.3 對大模型生成的數據進行質量過濾2.3.4 程序入口 2.4 數據轉換 3 模型選型3.1 候選模型與評估數據集3.2 模型評估 附錄&#xff08;對比不…

Jmeter壓測手冊:腳本配置、服務器環境搭建與運行

序 本文記錄了我在新公司的首次壓測遇到的一些問題以及解決方案。公司服務部署在國外&#xff0c;網絡延遲導致的壓不上去&#xff0c;需要本地調試腳本&#xff0c;然后用國外服務器壓測的過程。同時記錄了過程中遇到的一些問題&#xff0c;特別是Jmeter本身占用CPU資源&#…

立定跳遠--二分枚舉答案+cehck

P10909 [藍橋杯 2024 國 B] 立定跳遠 - 洛谷 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typedef pair<int,int> pii; int n,m; int a[N]; int an; bool check(int l) {int pos0;int c1;int wm;for(int i1;i<n;i){if…

藍橋杯20112 不同的總分值

問題描述 在今年藍橋杯的決賽中&#xff0c;一共有 10 道題目&#xff0c;每道題目的分數依次為 5 分&#xff0c;5 分&#xff0c;10 分&#xff0c;10 分&#xff0c;15 分&#xff0c;15 分&#xff0c;20 分&#xff0c;20 分&#xff0c;25 分&#xff0c;25 分。 假設某…

[論文閱讀] 系統架構 | 零售 IT 中的微服務與實時處理:開源工具鏈與部署策略綜述

零售IT中的微服務與實時處理&#xff1a;開源工具鏈與部署策略綜述 論文信息 Microservices and Real-Time Processing in Retail IT: A Review of Open-Source Toolchains and Deployment Strategies Aaditaa Vashisht (Department of Information Science and Engineering, …

【面板數據】A股上市公司注冊地所在地數據集(1991-2023年)

數據簡介&#xff1a;上市公司注冊地所在地數據指企業在工商行政管理部門登記注冊的法定住所信息&#xff0c;涵蓋省、市、區三級行政區劃及詳細地址。該數據是公司法律身份的核心標識&#xff0c;直接影響稅務管轄、訴訟歸屬、政策適用及市場準入等關鍵環節。更是連接企業行為…

21、Create React App的使用

Create React App 是官方支持的創建單頁 React 應用程序的方法。提供了一個現代的構建設置&#xff0c;無需配置。它雖然只是一個包&#xff0c;但不建議全局安裝。如果本地安裝過可先卸載&#xff0c;這樣能保證每次創建項目時使用最新版本的功能。 開始使用 可以使用npx&…

CSS盒子 flex彈性布局

使用flex彈性布局頁面效果圖&#xff08;源代碼在文章末尾&#xff09;&#xff1a; 目錄 flex彈性布局 一、基本容器 二、設置主軸方向 三、設置主軸對齊方式 四、設置交叉軸上的對齊方式 flex彈性布局 一、基本容器 Flexbox 是 CSS3 引入的一種一維布局模型&#xff0…

數據結構與算法-線性表-線性表的應用

1 線性表 1.5 線性表的應用 1.5.1 線性表的合并 【算法步驟】 分別獲取 LA 表長 m 和 LB 表長 n 。從 LB 中第 1 個數據元素開始&#xff0c;循環 n 次執行以下操作&#xff1a; 從 LB 中查找第 i 個數據元素賦給 e &#xff1b;在 LA 中查找元素 e &#xff0c;如果不存在&…

流數據機器學習框架 CapyMOA

環境準備: pip install capymoa 使用 HoeffdingTree 對流數據做在線分類: from capymoa.streams import FileStream from capymoa.learners import HoeffdingTreeClassifier from capymoa.evaluation import ProgressiveEvaluator# 1. 構造流&#xff1a;假設 data/stream…

QEMU源碼全解析 —— 塊設備虛擬化(27)

接前一篇文章:QEMU源碼全解析 —— 塊設備虛擬化(26) 本文內容參考: 《趣談Linux操作系統》 —— 劉超,極客時間 《QEMU/KVM源碼解析與應用》 —— 李強,機械工業出版社 Virt

Cilium動手實驗室: 精通之旅---19.Golden Signals with Hubble and Grafana

Cilium動手實驗室: 精通之旅---19.Golden Signals with Hubble and Grafana 1. Lab 環境2. 部署測試應用2.1 7層可見性的網絡2.1.1 允許所有命名空間2.1.2 DNS 可見性2.1.3 L7-egress-visibility 2.2 檢查 Deployments2.3 在 Hubble UI 中查看 3. Grafana 選項卡3.1 Grafana 中…

常見文件系統格式有哪些

PART.01 常見文件系統格式有哪些 常見的文件系統格式有很多&#xff0c;通常根據使用場景&#xff08;Windows、Linux、macOS、移動設備、U盤、硬盤等&#xff09;有所不同。以下是一些主流和常見的文件系統格式及其特點&#xff1a; 一、Windows 常見文件系統格式 Digital …

React Native 彈窗組件優化實戰:解決 Modal 閃爍與動畫卡頓問題

&#x1f4cc; 前言 在移動端開發中&#xff0c;用戶對動畫的流暢性和過渡自然性有著極高的期待。最近我對一個使用 react-native-modal 實現的 Alert 彈窗組件進行了優化&#xff0c;成功解決了閃爍和卡頓問題&#xff0c;并顯著提升了用戶體驗。 本篇博客將帶你深入了解優化…

智能客服系統開發方案:RAG+多智能體技術實現

智能客服系統開發方案:RAG+多智能體技術實現 一、系統架構設計 #mermaid-svg-hKDXil2J0xV064Q5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-hKDXil2J0xV064Q5 .error-icon{fill:#552222;}#mermaid-svg-hKDXil2…

【Kafka】消息隊列Kafka知識總結

【Kafka】消息隊列Kafka知識總結 【一】消息隊列【1】什么是消息隊列【2】消息隊列有什么用&#xff08;1&#xff09;異步處理&#xff08;2&#xff09;削峰/限流&#xff08;3&#xff09;降低系統耦合性&#xff08;4&#xff09;實現分布式事務&#xff08;5&#xff09;順…

微信小程序開發 RangeError: Maximum call stack size exceeded

通常是由于??調用棧深度超限??&#xff08;如無限遞歸、過深的函數調用鏈或數據綁定循環&#xff09;導致。以下是具體解決方案&#xff1a; 一、核心原因分析 ??無限遞歸?? 函數直接或間接調用自身且無終止條件&#xff0c;例如事件處理函數中錯誤觸發自身。??數據…

mapbox進階,切片網格生成實現

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??line線圖層樣式1.4 ??symbol符號圖層…

Mysql 函數concat、concat_ws和group_concat

1.concat concat()函數是將多個字符串組合在一起&#xff0c;形成一個大的字符串&#xff1b;如果連接的字符串中存在一個為NULL&#xff0c;則輸出的結果為NULL&#xff0c;語法格式為&#xff1a; concat(str1,str2,....strn) -- 1、字符之間不加連接符 mysql> select c…