한글패치 관련 짧은 글들

한글패치 관련 짧은 글들

유니티 게임에서 대사 검색 쉽게 하기 (UnityPy 이용)

MonoBehaviour, Text에 대부분의 대사가 들어가 있다는 것을 기반으로 작성한 스크립트입니다. import UnityPyimport osdef search(root: str, file_name: str, search_string_bytes: bytes): asset = os.path.join(root, file_name) try: env = UnityPy.load(asset) except Exception as e: print(f"Error loading asset: {asset}, error: {e}") return for obj in env.objects: if obj.type.name in ["TextAsset", "..

한글패치 관련 짧은 글들

catalog.json과 catalog.hash가 있는 유니티 게임의 수정법

0. 필요 프로그램- Example.exe (https://snowyegret.tistory.com/64)- OpenHashTab(https://github.com/namazso/OpenHashTab/releases)    - 혹은 다른 해싱 툴   1. 상황 설명- 망한 온라인 게임의 서버 연결을 내부 IP로 돌리고, 내부 IP로 오프라인 서버를 돌리고 있는 상황- Catalog.json만 수정 시 필요한 리스소를 가져오지 못한다면서 오류 발생- 서버 측의 에셋 파일을 %UserProfile%\AppData\LocalLow\Unity\{게임이름}에 다운로드- il2cpp 게임   2. catalog.json 수정https://snowyegret.tistory.com/64위 링크를 따라하시면 됩니다.  ..

한글패치 관련 짧은 글들

번역을 위한 유니티 Il2cpp 게임의 복호화/암호화

!! 본 글은 어느 정도의 디컴파일 지식이 있어야 이해가 가능합니다.!! 본 글은 요청에 의해 작성되었습니다.   0. 필요 프로그램- MelonLoader: https://github.com/LavaGang/MelonLoader/releases- UnityExplorer(GrahamKracker 포크): https://github.com/GrahamKracker/UnityExplorer/releases- Python, pycryptodome 라이브러리: https://www.python.org/- Ghidra: https://ghidra-sre.org/- dnSpyEx: https://github.com/dnSpyEx/dnSpy- Il2cppDumper: https://github.com/Perfare..

한글패치 관련 짧은 글들

유니티 VideoClip 에셋 교체하기

Unity 게임에서 영상재생시 사용되는 VideoClip asset을 지원하는 모딩 툴이 별로 없다. Import는 고사하고, Export를 지원하는 툴마저 몇 없다. 내가 확인한 바론, 아직까진 UnityEX 및 UnityPy(커스텀 클래스)만이 지원하는 거로 보인다. UnityEX는 유료이기에 사용자마다 사용에 무리가 있을 수 있고, UnityPy는 기본적인 사용법을 알아야 하기에 이 글은 UABEA를 이용한 VideoClip asset 수정법을 다룬다. 예시 게임 - MINDHACK Demo ( https://store.steampowered.com/app/1727210/MINDHACK/ ) 필요 툴 - AssetStudio: https://github.com/aelurum/AssetStudio/r..

한글패치 관련 짧은 글들

UnityPy TypeTree 적용 (작성중)

아직 제대로 테스트해보지 않았지만, 일단 기록용으로 작성함. 필요 프로그램: TypeTreeGenerator ( https://github.com/K0lb3/TypeTreeGenerator ) 1. 타입트리 생성 TypeTreeGenerator를 다운받아서 {게임명}_data\TypeTreeGenerator 폴더 안에 압축해제한다. import UnityPy import subprocess import os def gen_typetree(game_data_folder, unity_version=None): os.makedirs(f"{game_data_folder}/typetree", exist_ok=True) dll_folder = f"{game_data_folder}/Managed" dll_lst = ..

한글패치 관련 짧은 글들

XUnity.AutoTranslator에서 DeepL 사용하기

* 테스트 게임: Sailing era Demo ( https://store.steampowered.com/app/2161440/_Sailing_Era/ ) * BepInEx 프레임워크 및 XUnity.AutoTranslator가 정상적으로 설치되어 있다는 가정 하에 작성함. 1. DeepL 가입 및 API Key 발급 https://www.deepl.com/pro-api?cta=header-pro-api DeepL API 번역 | 기계번역 기술 번역에 필요한 모든 것을 한곳에 모았습니다. 나만의 제품과 플랫폼에 쉽게 통합할 수 있습니다. www.deepl.com 위 사이트에 가서 딥엘 사이트에 회원가입을 한 후, 로그인한 다음 [무료 회원가입] 버튼을 누르면 Free tier 가입을 할 수 있게 된다...

한글패치 관련 짧은 글들

UnityPy를 이용한 bundle파일 내 Monobehaviour 일괄수정

텍스트가 모두 .bundle 파일 안에 들어있고, 대사 파일이 여기저기 파편화되어 있기에 방법을 찾아보다 UnityPy라는 모듈을 사용하게 되었다. 이 게시글에선 특정 방법만을 다룰 것이나, 쉽게 응용이 가능하다. 본문의 1번 항목에선 많은 뻘짓을 다루고 있으니, 실질적인 수정작업은 2번부터 보면 될 것 같다. 예시 게임: Later Alligator ( https://store.steampowered.com/app/966320/Later_Alligator/ ) --- 1. 텍스트 검색 게임을 시작한 후 처음으로 등장하는 대사이다. "No company p-please! Thank you!" 일단 위 텍스트가 어디에 들어있는지 검색해 보자. scenes_scenes_locationintro.bundle ..

한글패치 관련 짧은 글들

게임메이커 게임 한글화 - 폰트 교체

테스트용 게임은 Shovel Knight Pocket Dungeon 1. 필요 툴 다운로드 https://gamemaker.io/en/download Download GameMaker For Free | GameMaker Download GameMaker today and start creating your own 2D games with one of the simplest and fastest game engines in the world today. Available for Windows and Mac. gamemaker.io 게임메이커 스튜디오를 받아서 설치하자. https://github.com/krzys-h/UndertaleModTool/releases Releases · krzys-h/Unde..

한글패치 관련 짧은 글들

유니티 게임 한글화 - assetbundle crc체크 우회

유니티 게임을 한글화하다 보면StreamingAssets 폴더 안에 있는 번들파일을 수정했을때 게임이 이상해지는 경우가 있다.게임이 크래시나거나, 시작화면에서 멈춰있거나, 이상해지거나, 텍스트가 아닌 key값이 출력되거나, 수정이 안되거나... 증상은 다양한 것 같다.이는 에셋의 CRC를 체크해서, catalog.json에 있는 CRC값과 일치하지 않을 경우 로드하지 않기 때문이다. 보통 모드로더 기본 기능이나 UnityExplorer같은 모드를 통해 UnityLog를 보면 관련 내용이 출력되는데, 개인적으론 그렇게 직접 알아보기보단 그냥 의심되면 바로 catalog.json을 수정해버리는게 낫다. 또한 catalog.json이 아닌 catalog.bundle을 사용하는 경우도 있는데, 해당 방법은 ca..

한글패치 관련 짧은 글들

유니티 Textmesh 폰트 dump 대략적 분석

테스트 대상: 유니티 Textmesh 폰트 유니티 폰트별 비교분석을 해보자. 기존에 문제가 됐던 게 UnityEX에서 .ufnt 형식으로 export 되었던 폰트였다. UABEA를 통해 import ttf/otf를 했음에도 적용이 안 되던 것. 폰트 로드 후 Character를 Dynamic이 아닌 Unicode로 설정하면 .ufnt 확장자로 export가 됐었다. 일단, 명색이 비교분석이니 종류별로 하나씩 폰트를 빌드하고, 마지막으로 UnityEX와 UABEA가 어떤 데이터를 추가하는지 알아보기 위해 UnityEX/UABEA용 Unicode 폰트를 추가해서 빌드보자. (총 8개) UnityEX를 통해 봤을 때의 모습이다. Dynamic 폰트만 FontTTF라고 보이고, 나머지는 FontRAW라고 보인다..

Snowyegret
'한글패치 관련 짧은 글들' 카테고리의 글 목록