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 | 게임 리소스가 포함된 데이터 폴더 |
레벨0-레벨N | 게임 장면 데이터가 포함된 파일, 각 장면에는 자체 파일이 있습니다. |
공유자산0-sharedassetsN | 게임 자산은 sharedassets 및 .resS 파일로 분할됩니다(Android/iOS와 같은 플랫폼의 경우sharedassets.assets.split0 - ..splitN). |
리소스.자산 | 프로젝트 리소스 폴더에 있는 원시 에셋과 그 종속성은 이 파일에 저장됩니다(또한 Unity의 리소스 폴더 외부에 있더라도 원시 오디오 파일, .resource에 대한 참조가 포함된 오디오 클립 및 오디오 크기/오프셋과 같은 정보가 여전히 내부에 저장됨). .자산) |
Managed | Unity DLL이 포함된 폴더 |
어셈블리-CSharp.dll | 컴파일된 C# 파일이 포함된 DLL 파일 |
어셈블리-UnityScript.dll | 컴파일된 UnityScript 파일이 포함된 DLL 파일 |
*
사용: 주요 실행 파일(.exe)의 이름입니다.
C# 및 UnityScript 파일은 각각 Assembly-CSharp.dll 및 Assembly-UnityScript.dll DLL로 컴파일되며 Managed
폴더 내에서 찾을 수 있습니다.
어셈블리 파일을 수정하고 다시 컴파일할 수 있는 ILSpy, dnSpy, DotPeek 또는 JustAssembly를 사용하여 DLL을 디컴파일할 수 있습니다.
관리되는 디렉터리에 DLL이 누락된 경우 MegaDumper
도구를 사용하여 DLL을 덤프해 보세요.
도구 | 설명 |
---|---|
ILSpy | PDB 생성, ReadyToRun, 메타데이터(&more)를 지원하는 크로스 플랫폼 .NET 디컴파일러입니다. |
도트픽 | JetBrains DotPeek은 무료 .NET 디컴파일러 및 어셈블리 브라우저입니다. |
dnSpyEx | 잘 알려진 .NET 디버거 및 어셈블리 편집기인 dnSpy의 비공식 부활입니다.dnSpy 의 포크. |
Telerik JustAssembly | .NET 어셈블리를 디컴파일하고 비교합니다. 바이너리 코드 차이 방법 차이 |
Cpp2IL | Unity의 IL2CPP 툴체인을 역전시키기 위한 작업 진행 중인 도구입니다. |
Il2CppDumper | Unity il2cpp 리버스 엔지니어. |
dnSpy | 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 및/또는 번들 변경 사항으로 독립형 모드 설치 프로그램을 생성할 수 있습니다. |
이 스크립트 또는 웹 플레이어용 QuickBMS | 범용 스크립트 기반 파일 추출기 및 리임포터. QuickBMS는 수많은 게임과 파일 형식, 아카이브, 암호화, 압축, 난독화 및 기타 알고리즘을 지원합니다. |
DevXUnityUnpacker | 이미지, 16진수, 텍스트 등의 개별 파일에 대한 미리 보기를 포함하여 빌드된 게임/앱을 입력하여 통합 프로젝트를 복원하기 위한 친숙한 GUI가 포함된 (유료) 도구입니다. |
uTinyRipper | uTinyRipper는 직렬화된 파일(CAB-*, *.assets, *.sharedAssets 등)과 자산 번들(*.unity3d, *.assetbundle 등)에서 자산을 추출하고 이를 기본 엔진 형식으로 변환하는 도구입니다. 대신 AssetRipper 사용하세요 |
유니티 스튜디오 / AssetStudio | AssetStudio는 자산 탐색, 추출 및 내보내기를 위한 독립적인 도구입니다. |
Unity 자산 탐색기 | Unity 자산 탐색기는 자산 파일(Unity 3D 엔진)의 내용을 보는 데 사용됩니다. 다음을 수행할 수 있습니다: 모든 파일 추출, 하나의 파일 추출(컨텍스트 메뉴에서), tex 파일을 그림 형식 DDS로 변환(추출 시), 변경된 DDS 이미지를 아카이브로 가져오기. |
UnityEX를 사용하지 마십시오 . 바이러스일 가능성이 높습니다.
DDS 파일은 다음 도구를 사용하여 열고/변환/편집할 수 있습니다.
도구 | 지도 시간 |
---|---|
닌자 리퍼 | 게임에서 3D 장면을 추출(리핑)하고 3D 편집기(Blender, 3D Max, Noesis)에서 탐색해 보세요. Ninja Ripper 사용 방법에 대한 오래된 가이드입니다. 공식 YouTube 채널은 최신 비디오 튜토리얼에 유용할 수 있습니다. |
RenderDoc | RenderDoc 사용 방법에 대한 튜토리얼입니다. |
NVIDIA 텍스처 도구 내보내기 | NVIDIA 텍스처 도구 내보내기를 사용하면 사용자는 NVIDIA의 CUDA 가속 텍스처 도구 3.0 압축 기술을 사용하여 이미지 소스에서 직접 디스크와 메모리 모두에서 작게 유지되는 고도로 압축된 텍스처 파일을 생성할 수 있습니다. 독립 실행형 소프트웨어 또는 Adobe Photoshop 플러그인으로 사용할 수 있습니다 . |
인텔® 그래픽 성능 분석기 | 문제 영역을 신속하게 식별하여 게임 성능을 향상시킵니다. 인텔 그래픽 분석기를 사용하여 그래픽을 추출하는 방법에 대한 자습서입니다. |
김프 플러그인 | 이것은 김프 버전 2.8.x용 플러그인입니다. DDS(Direct Draw Surface) 형식으로 이미지를 로드하고 저장할 수 있습니다. |
3D 리퍼 DX | 이 소프트는 64비트 바이너리를 지원하지 않습니다. |
치트 엔진에는 게임 메모리 해킹에 도움이 되는 Dissect mono라는 기능이 있습니다. 치트 엔진 사용에 관한 이 비디오 시리즈는 정말 유용합니다.