유니티 게임을 빌드할 시 mono방식으로 빌드할 수도, il2cpp방식으로 빌드할 수도 있다.
mono방식은 보통 {게임이름}_data\Managed 폴더 안에 dll파일들이 들어 있으며
il2cpp방식은 보통 {게임이름}_data\ 폴더 내부에 il2cpp_data 폴더가 존재한다.
메인 에셋들 한글화 작업시 dll파일들이 있어야 MonoBehaviour 파일이 정상적으로 덤프되는 경우가 많다.
필요한 툴: Il2CppDumper (https://github.com/Perfare/Il2CppDumper)
1. PC의 경우 (예시 - 늑대와 향신료 VR 2)
게임 exe 파일이 있는 곳에 GameAssembly.dll이 있다.
이게 il2cpp binary file이다.
{게임이름}_data\ 폴더 내부에 il2cpp_data가 존재하며,
il2cpp_data\Metadata에 global-metadata.dat 파일이 있다.
이게 global metadata 파일이다.
다운받은 Il2CppDumper.exe를 실행한 후,
첫번째로 il2cpp binary file(GameAssembly.dll)를 선택한 다음,
두번째로 global-metadata(global-metadata.dat)를 선택하면
여러 과정이 지나간 후 Done!이 뜨면서 정상적으로 DummyDll 폴더가 생성된다.
물론 dll파일도 정상적으로 들어 있는 것을 볼 수 있다.
이제 DummyDll 폴더의 이름을 Managed로 바꾼 후 {게임이름}_data\ 폴더에 넣은 후,
UABE나 UAAE나 UABEA같은 툴로 MB파일을 덤프뜨면 정상적으로 내용이 나올 것이다.
2. 안드로이드의 경우 (예시 - OPUS The Day We Found Earth)
apk파일과 Android\obb\{게임패키지명}\obb파일이 있다.
apk 파일의 압축을 푼 후, 파일 검색을 하거나 직접 경로로 들어가 보자.
lib\arm64-v8a 폴더에 들어가니 libil2cpp.so 파일이 보인다.
이것이 il2cpp binary file이다.
assets\bin\Data\Managed\Metadata를 들어가니 global-metadata.dat 파일이 보인다.
이것이 global metadata 파일이다.
마찬가지로 Il2CppDumper.exe 실행 후
첫번째 파일로 libil2cpp.so 파일을 선택해주고
두번째 파일로 global-metadata.dat 파일을 선택해준다.
역시 정상적으로 생성되는 것을 확인할 수 있다.
이것도 마찬가지로 생성된 DummyDll 폴더를 Managed로 바꾼 후 적절하게 써먹으면 된다.
'한글패치 관련 짧은 글' 카테고리의 다른 글
멜론로더 포함하여 배포시 유의점 (il2cpp 게임) (2) | 2021.12.19 |
---|---|
XUnity.AutoTranslator spam prevention 최소화 (0) | 2021.12.08 |
유니티 IL2CPP 게임에서 DLL 생성 (윈도우, 안드로이드) (1) | 2021.11.28 |
CrystalTile2의 이미지패턴 기능 <ObjH-1234 / ObjV-1324> (0) | 2021.11.01 |
유니티 게임 SDF 폰트 변경 (폴백 폰트 연결의 경우) (0) | 2021.10.11 |
유니코드 코드 컨버터 (0) | 2021.08.24 |