텍스트가 존재하는 번들 파일의 암호화/복호화 및 일본어 함수명을 가진 Lua 5.1 파일의 수정법을 알아봅시다. 0. 준비 프로그램- AssetStudio- UABEA- luac- unluac 1. 기초 분석에셋번들의 luabytecode 번들을 열어보면, 위와 같은 구성으로 되어 있는걸 알 수 있습니다.컨테이너 -> assets/autogen/luabytecode/~.bytes 파일입니다. bytes 파일답게 내용이 바로 보이지 않습니다.Lua 시그니쳐를 가지고 있습니다.앞으로 보나 뒤로 보나 Luac 파일입니다. 이상합니다. 디스어셈블, 디컴파일 모두 안됩니다.모종의 암호화가 되어있다는 소리입니다.다행히도, 게임이 Mono 게임이라 뜯어보기는 쉽습니다. ilspy로 코드를 솔루션으로 일괄추출한 ..
* 기준 UnityPy 버전: 1.21.2 import UnityPyimport osfrom PIL import Imagefile_list = [i for i in os.listdir("StandaloneWindows64") if i.endswith('.bundle')]png_list = [i.replace(".png", "") for i in os.listdir("Edited_png") if i.endswith('.png')]with open("log.txt", "w", encoding="utf-8") as log_file: log_file.write("Texture Import Log\n") log_file.write("===================\n") for file in..
기록용으로 작성.UnityPy의 TypeTree 모듈이 완벽하지 않으므로 일부가 추출되지 않거나 미지원되는 경우가 있습니다. 사용법:1. 게임의 루트 디렉토리(exe가 있는 폴더)에 해당 .py파일 혹은 .exe파일을 놓는다.2. 명령어를 통해 .py파일 혹은 exe 파일을 실행한다. 명령어MonoBehaviour_bulkedit_tool.exe --mode --classname --fieldname --csvname [--forcereplace] [--filternumber]forcereplace는 에셋의 PathID가 바뀌었을 경우 (업데이트 등)을 대응하기 위한 옵션이며, 원문 텍스트가 같을 경우 번역문을 삽입합니다.filternumber는 텍스트가 숫자로만 이루어져 있을 경우, 필터..
조건은 다음과 같습니다.1. IoStore를 사용한다. (utoc이 존재함)2. Pak 내 파일을 수정한다. (locres같은 경우)3. 실행 옵션으로 -fileopenlog를 줘도 모드가 로딩되지 않는다. 버전별 세부 작동 조건은 확인해보지 않았으며,작동 테스트 게임은 Fossilfuel 2 Demo입니다. (언리얼 5.1.1버전) 0. 필요 파일- DB Sparking Zero UTOC Signature Bypass Patch ( https://www.nexusmods.com/dragonballsparkingzero/mods/18?tab=files&file_id=20 )- AESDumpster ( https://github.com/GHFear/AESDumpster/releases )- 게임 버전에..
MonoBehaviour, Text, dll에 대부분의 대사가 들어가 있다는 것을 기반으로 작성한 스크립트입니다.입력하신 대사를 UTF-8로 인코딩하여 검색하므로, Serialize 되어있는 에셋에서도 검색이 가능합니다.또한, 일반적으로 압축되어 있는 번들파일의 경우에도 직접 열어서 에셋을 하나하나 검색하므로 일반적인 파일 내용물 검색 툴로 검색되지 않는 압축된 번들파일의 경우에도 검색이 가능합니다. 다운로드: (pw: snow)https://drive.google.com/file/d/1TMluK9jL0FNU4YGLsPsldsgFIJhWo_4a/view?usp=sharing Unity_search.zip drive.google.com 코드:더보기import warningsfrom UnityPy.exc..
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위 링크를 따라하시면 됩니다. ..
!! 본 글은 어느 정도의 디컴파일 지식이 있어야 이해가 가능합니다.!! 본 글은 요청에 의해 작성되었습니다. 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..