Unity game hacking
1.0.0
這是一個小指南,用於從使用 Unity 引擎製作的遊戲中提取和修改資產或程式碼。請隨意貢獻。
│ *.exe
└──*_Data
│ globalgamemanagers
│ globalgamemanagers.assets
│ level0
│ level0.resS
...
| levelN
| levelN.resS
| resources.assets
| resources.assets.resS
| resources.resource
│ sharedassets0.assets
│ sharedassets0.assets.resS
...
| sharedassetsN.assets
| sharedassetsN.assets.resS
├──Managed
│ Assembly-CSharp.dll
│ Assembly-UnityScript.dll
│ Mono.Security.dll
│ mscorlib.dll
│ System.Core.dll
│ System.dll
│ UnityEngine.dll
│ UnityEngine.dll.mdb
│ UnityEngine.Networking.dll
│ UnityEngine.UI.dll
├──Mono
│ │ mono.dll
│ └──etc
│ └──mono
│ │ browscap.ini
│ │ config
│ ├──1.0
│ │ DefaultWsdlHelpGenerator.aspx
│ │ machine.config
│ ├──2.0
│ │ │ DefaultWsdlHelpGenerator.aspx
│ │ │ machine.config
│ │ │ settings.map
│ │ │ web.config
│ │ └──Browsers
│ │ Compat.browser
│ └──mconfig
│ config.xml
└──Resources
unity default resources
unity_builtin_extra
檔案/目錄 | 描述 |
---|---|
*。 | 遊戲的可執行檔 |
*_Data | 包含遊戲資源的Data資料夾 |
0級-N級 | 包含遊戲場景資料的文件,每個場景都有自己的文件 |
共享資產0-共享資產N | 遊戲資源分為共享資產和 .resS 檔案(在 Android/iOS 等平台上為 sharedassets.assets.split0 - ..splitN) |
資源.資產 | 在專案資源資料夾中找到的原始資源及其相依性儲存在此檔案中(以及原始音訊文件,即使在Unity 中的資源資料夾之外,對.resource 的引用和音訊大小/偏移等資訊的AudioClips仍儲存在其中) 。 |
Managed | 包含 Unity DLL 的資料夾 |
程序集-CSharp.dll | 包含已編譯的 C# 檔案的 DLL 文件 |
程序集-UnityScript.dll | 包含已編譯的 UnityScript 檔案的 DLL 文件 |
帶*
:主可執行檔 (.exe) 的名稱。
C# 和 UnityScript 檔案分別編譯為 Assembly-CSharp.dll 和 Assembly-UnityScript.dll DLL,可在Managed
資料夾中找到。
DLL 可以使用 ILSpy、dnSpy、DotPeek 或 JustAssembly 進行反編譯,這些工具允許修改和重新編譯組件檔案。
如果託管目錄中缺少 DLL,請嘗試使用MegaDumper
工具轉儲它們。
工具 | 說明 |
---|---|
ILSpy | 跨平台 .NET 反編譯器,支援 PDB 產生、ReadyToRun、元資料(及更多)。 |
點窺視 | JetBrains DotPeek 是一款免費的 .NET 反編譯器和組件瀏覽器。 |
dnSpyEx | 眾所周知的 .NET 偵錯器和組件編輯器 dnSpy 的非官方復興。dnSpy 的分支。 |
Telerik JustAssembly | 反編譯和比較 .NET 程序集。二進位代碼差異方法差異 |
Cpp2IL | 用於逆向 Unity IL2CPP 工具鏈的正在開發的工具。 |
Il2Cpp轉儲器 | Unity il2cpp 逆向工程師。 |
網路間諜軟體 | dnSpy 是一個偵錯器和 .NET 組件編輯器。即使您沒有任何可用的原始程式碼,您也可以使用它來編輯和調試組件。 可以工作,但你可以使用 dnSpyEx 代替。 |
超級轉儲者 | 轉儲本機和.NET 程序集。 |
資源儲存在 .assets 和 .resS 檔案中。這些文件的內容可以使用以下工具之一解壓縮:
工具 | 描述 |
---|---|
資產撕裂者 | AssetRipper 是一個用於從序列化檔案(CAB-*、*.assets、 .sharedAssets 等)和資源包( .unity3d、*.bundle 等)中提取資源並將其轉換為原生 Unity 引擎格式的工具。uTinyRipper 的分岔。 |
Unity 資源包提取器 | UABE 是 3.4+/4/5/2017-2021.3 .assets 和 AssetBundle 檔案的編輯器。它可以根據對 .assets 和/或捆綁包的變更來建立獨立的 mod 安裝程式。 |
QuickBMS 帶有此腳本或此用於網路播放器的腳本 | 基於通用腳本的文件提取器和重新導入器。 QuickBMS 支援大量遊戲和檔案格式、存檔、加密、壓縮、混淆和其他演算法。 |
DevXUnityUnpacker | 具有友善 GUI 的(付費)工具,用於透過輸入建置的遊戲/應用程式(包括圖像、十六進位、文字等單一檔案的預覽器)來恢復 Unity 專案。 |
uTinyRipper | uTinyRipper 是一個從序列化檔案(CAB-*、*.assets、*.sharedAssets 等)和資源包(*.unity3d、*.assetbundle 等)中提取資源並將其轉換為原生 Engine 格式的工具。 使用 AssetRipper 代替 |
Unity Studio / AssetStudio | AssetStudio 是一個用於探索、提取和導出資產的獨立工具。 |
Unity 資產資源管理器 | Unity Assets Explorer 用於檢視資產檔案的內容(Unity 3D 引擎)。允許您:提取所有檔案、提取一個檔案(從上下文選單)、將 tex 檔案轉換為圖片格式 DDS(提取時)、將變更的 DDS 影像匯入至檔案中。 |
不要使用UnityEX ,它很可能是病毒。
DDS 檔案可以使用以下工具開啟/轉換/編輯:
工具 | 教學 |
---|---|
忍者開膛手 | 從遊戲中提取(翻錄)3D 場景並在 3D 編輯器(Blender、3D Max、Noesis)中探索它們。 關於如何使用 Ninja Ripper 的舊指南。 官方 YouTube 頻道對於最新影片教學非常有用。 |
渲染文檔 | 有關如何使用 RenderDoc 的教學。 |
NVIDIA 紋理工具匯出器 | NVIDIA 紋理工具匯出器允許使用者使用 NVIDIA CUDA 加速紋理工具 3.0 壓縮器技術直接從圖像來源建立高度壓縮的紋理檔案 - 在磁碟和記憶體中都保持較小的大小。 可作為獨立軟體或 Adobe Photoshop 外掛程式使用。 |
英特爾® 圖形性能分析器 | 透過快速識別問題區域來提高遊戲效能。 有關如何使用英特爾圖形分析器提取圖形的教學。 |
Gimp插件 | 這是 GIMP 版本 2.8.x 的插件。它允許您以 Direct Draw Surface (DDS) 格式載入和儲存映像。 |
3D 開膛手 DX | 該軟體不支援 64 位元二進位檔案。 |
作弊引擎有一個名為 Dissect mono 的功能,可以幫助破解遊戲的記憶體。這個關於使用作弊引擎的影片系列非常有用。