최근 얼엑으로 발표한 맹장삼국(Three Kingdom Mushouden)을 뜯어보려고 했다.
https://store.steampowered.com/app/3285500
Three Kingdoms Mushouden on Steam
Set on the eve of the Yellow Turban Rebellion (AD 182), you can play as an original character or a historical warlord, building forces and forging alliances. Whether you choose to be a lone wanderer or rally famous generals, use your knowledge and wisdom t
store.steampowered.com
현재 기계번역으로 한글화가 이뤄졌으며, 당연히 가독성이 떨어져서 몰입이 안되는 상태.
이미 한패를 위해 변마님께서 번역은 마쳐놓은 상태인 것 같으나, 게임사에서 받아줄지와 시기는 여전히 오리무중.
어차피 모딩을 위해서 뜯어보려 했으나, 미리 변환툴을 만들어 배포하려고 한다.
유니티 il2cpp 기반의 게임은 GameAssembly.dll 과 global-metadata.dat 를 기반으로 코드를 확보할 수 있다.
하지만 이 게임은 일반 il2cpp 게임과는 다르게, 메타데이터가 난독화되어 BepInEx 등 인젝터가 먹지 않는 상황.
난독화되어있지 않은 메타데이터 파일은 헥사에디터로 열었을 때 "AF 1B B1 FA ..." 로 시작한다.

이런 작업은 해본적이 없는 터라, 여기저기 수소문 끝에 아래 양덕의 은혜에 난독화에 성공할 수 있었다.
(모바일 등)다른게임에도 적용이 가능하니 블로그에 방법을 후술하면, 난독화된 헥사 코드를 자세히 보다보면 반복되는 문구가 보인다.
이 게임에서는 "77 61 6E 7A 67" 이 반복되고 있었음을 알 수 있었다. 이 키로 XOR 연산이 이뤄지고 있는 것이다.
이제 해독은 역순으로 진행하면 되니..... 잼민이의 도움을 받아 메타데이터의 해독을 할 수 있었다.

이제 BepInEx 에서 이걸 적용해야 하는데.....................
il2cpp 버전은 BepInEx 의 참조 라이브러리인 Cpp2IL 이란 프로젝트에서 메타데이터를 읽는 코드가 있다.
여기에 XOR 키를 넣어 복호화를 진행하고 나머지 과정을 연결시켜주면... BepInEx 까지 구동 성공


다음은 데이터 추출/삽입을 담당하는 필자의 툴을 공개하는 것으로 마무리.
'모딩' 카테고리의 다른 글
| 맹장삼국 - Modifier (Cheat) V2 (13) | 2025.08.31 |
|---|---|
| 맹장삼국 - Data Replacer (2) | 2025.08.28 |
| [하락군협전] 모드매니저 플러그인 (10) | 2025.03.23 |
| 귀곡팔황 - 암호화 필요없는 모드 로딩 (0) | 2025.01.14 |
| 하일참강호2 모드매니저 v0.2.4 (+한글패치 by 연기, 천지회) (6) | 2024.10.13 |