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
文件/目录 | 描述 |
---|---|
*。EXE文件 | 游戏的可执行文件 |
*_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 的功能,可以帮助破解游戏的内存。这个关于使用作弊引擎的视频系列非常有用。