ITADN
imadr/Unity-game-hacking
imadr/Unity-game-hacking · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Unity 游戏破解指南

这是一份关于从使用 Unity 引擎制作的游戏中提取和修改资源或代码的小型指南。欢迎贡献。

  1. Unity game folder structure
  2. Extracting and editing code
  3. Extracting assets
  4. Hacking memory

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
File/DirectoryDescription
*.exe游戏的可执行文件
*_Data包含游戏资源的数据文件夹
level0-levelN包含游戏场景数据的文件,每个场景都有自己独立的文件
sharedassets0-sharedassetsN游戏资源被拆分为 sharedassets 和 .resS 文件(在 Android/iOS 等平台上为 sharedassets.assets.split0 - ..splitN)
resources.assets项目资源文件夹中的原始 Assets 及其依赖项存储在此文件中(即使位于 Unity 中 Resources 文件夹之外,原始音频文件、引用 .resource 的 AudioClip 以及音频大小/偏移量等信息仍存储在 .assets 内部)
Managed包含 unity DLL 的文件夹
Assembly-CSharp.dll包含已编译 C# 文件的 DLL 文件
Assembly-UnityScript.dll包含已编译 UnityScript 文件的 DLL 文件

使用 * :主可执行文件(.exe)的名称。

提取和编辑代码

C# 和 UnityScript 文件分别被编译为 Assembly-CSharp.dll 和 Assembly-UnityScript.dll DLL,它们可以在 Managed 文件夹中找到。

可以使用 ILSpy、dnSpy、DotPeek 或 JustAssembly 对 DLL 进行反编译,这些工具允许修改和重新编译程序集文件。

如果 managed 目录中缺少 DLL,请尝试使用 MegaDumper 工具进行转储。

ToolDescription
ILSpy跨平台 .NET 反编译器,支持 PDB 生成、ReadyToRun、元数据(&more)。
DotPeekJetBrains DotPeek 是一款免费的 .NET 反编译器和程序集浏览器。
dnSpyEx知名 .NET 调试器和程序集编辑器 dnSpy 的非官方复活版。
dnSpy 的分支。
Telerik JustAssembly反编译和比较 .NET 程序集。二进制代码差异。方法差异。
Cpp2IL用于逆向 Unity 的 IL2CPP 工具链的在建工具。
Il2CppDumperUnity il2cpp 逆向工程工具。
dnSpy
No Longer Maintained
dnSpy 是一款调试器和 .NET 程序集编辑器。即使没有源代码,您也可以使用它来编辑和调试程序集。
可用,但您可以改用 dnSpyEx
MegaDumper
No Longer Maintained
转储原生和 .NET 程序集。

提取资源

资源存储在 .assets 和 .resS 文件中。 这些文件的内容可以使用以下工具之一进行解包:

工具描述
AssetRipperAssetRipper 是一款用于从序列化文件(CAB-.assets、.sharedAssets 等)和资源包(.unity3d、*.bundle 等)中提取资源并将其转换为 Unity 引擎原生格式的工具。
uTinyRipper 的分支。
Unity Assets Bundle ExtractorUABE 是用于编辑 3.4+/4/5/2017-2021.3 版本的 .assets 和 AssetBundle 文件的编辑器。它可以根据对 .assets 和/或 bundle 的更改创建独立的模组安装程序。
QuickBMS 配合 此脚本此 WebPlayer 脚本基于通用脚本的文件提取器和重新导入器。QuickBMS 支持大量游戏和文件格式、归档、加密、压缩、混淆及其他算法。
DevXUnityUnpacker一款(付费)工具,拥有友好的 GUI,旨在通过输入构建好的游戏/应用来恢复 Unity 项目,并包含用于以图像、十六进制、文本等形式预览单个文件的预览器。
uTinyRipper
No Longer Maintained
uTinyRipper 是一款用于从序列化文件(CAB-*、*.assets、*.sharedAssets 等)和资源包(*.unity3d、*.assetbundle 等)中提取资源并将其转换为原生引擎格式的工具。
请改用 AssetRipper
Unity Studio / AssetStudio
No Longer Maintained
AssetStudio 是一款用于探索、提取和导出资源的独立工具。

Unity Assets Explorer
No Longer Maintained | Unity Assets Explorer 用于查看 Assets 文件(Unity 3D 引擎)的内容。允许您:提取所有文件,提取单个文件(从上下文菜单),在提取时将 tex 文件转换为 DDS 图片格式,将修改后的 DDS 图像导入到归档中。

请勿使用 UnityEX,它极有可能是一种病毒。

DDS 文件:

DDS 文件可以使用以下工具进行打开/转换/编辑:

工具教程
Ninja Ripper从游戏中提取(rip)3D 场景,并在 3D 编辑器(Blender、3D Max、Noesis)中查看。
一份关于如何使用 Ninja Ripper 的旧指南
官方 YouTube 频道 对于最新的视频教程可能很有用。
RenderDoc关于如何使用 RenderDoc 的教程
NVIDIA Texture Tools ExporterNVIDIA Texture Tools Exporter 允许用户利用 NVIDIA 的 CUDA 加速 Texture Tools 3.0 压缩技术,直接从图像源创建高度压缩的纹理文件——这些文件在磁盘和内存中均保持较小体积。
可作为独立软件使用,也可作为 Adobe Photoshop 插件使用
Intel® Graphics Performance Analyzers通过快速识别问题区域来提升游戏性能。
关于如何使用 Intel Graphics Analyzers 提取图形的教程
Gimp Plugin这是适用于 GIMP 2.8.x 版本的插件。它允许您以 Direct Draw Surface (DDS) 格式加载和保存图像。
3D Ripper DX该软件不支持 64 位二进制文件。

内存破解

Cheat engine 拥有一项名为 Dissect mono 的功能,可以帮助破解游戏内存。这个关于使用 cheat engine 的视频系列 非常有用。