IoStore를 사용하며 sig우회가 안되는 언리얼 게임 모드 로딩 방지 우회하기

2025. 1. 20. 21:04·한글패치 관련 짧은 글들

조건은 다음과 같습니다.
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 )
- 게임 버전에 맞는 언리얼 엔진
- (필요에 따라) UnrealLocres ( https://github.com/akintos/UnrealLocres/releases )
 
 
 
1. Fmodel에 불러오기, (선택) 암호화 해제

Fmodel 상단 Directory - Selector - 하단에 Name과 게임 경로를 적고 우측 + 버튼을 누릅니다.
 
 
 

그럼 위 사진처럼 언리얼 엔진 버전을 선택 가능하며, OK를 누를 시 Fmodel App이 껐다 켜집니다.
 
 
 

Fmodel로 로드를 해보면, 좌측 하단 콘솔에 암호화된 아카이브가 있다고 나옵니다.
AES 암호화 키를 찾아봅시다.
 
 
 

{게임이름}/Binaries/Win64에 가보면 게임 이름으로 시작하는 exe 파일이 있습니다.
게임 exe 파일을 다운받은 AESDumpster에다가 드래그 & 드랍하면 위처럼 콘솔창에 키가 나옵니다. 엔트로피가 큰 키를 일단 씁시다.
위 키를 Fmodel 상단 메뉴 - Directory - AES를 누르면 나오는 윈도우에다
0x~ 형식으로 입력하시면 AES 암호화 해제가 끝납니다.
 
 
 

2. 파일 추출 및 수정

Fmodel로 수정할 파일을 추출해줍시다.
위 경우, locres를 추출하였으며, 좌측 하단 INFORMATION에서 이 파일이 pak파일 안에 들어있다는 것을 알아냈습니다.
pak 안에 들어있다는 것은, 별 공을 들이지 않고 수정이 가능하다는 소리입니다.
 
 
 

UnrealLocres.exe를 locres파일이 있는 폴더로 옮긴 후,
bat 파일을 만들거나 명령어를 직접 치시거나 해서 locres 파일을 수정합니다.
 
 
 

:: export.bat (locres to csv) 명령어
UnrealLocres.exe export Game.locres -f csv -o Game_export.csv
pause

:: import.bat (csv to locres) 명령어
UnrealLocres.exe import Game.locres Game_export.csv -f csv -o Game_edited.locres
pause

 
import 후, Game_edited.locres만 남기고 모두 삭제한 후, Game_edited.locres를 Game.locres로 이름을 바꿔주면 됩니다.
 
 
 

3. 모드 파일 패키징

Fmodel/Output/Exports의 {게임이름}폴더를 언리얼엔진 폴더로 옮깁니다.
 
 
 

@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

set "currentDir=%cd%"
set "targetDir=%~1"

> "lista.txt" (
  for /r "%targetDir%" %%F in (*) do (
    set "tmp=%%~dpF"
    set "fname=%%~nxF"
    set "tmp=!tmp:%currentDir%=../../..!"
    set "tmp=!tmp:\=/!"
    set "tmp=!tmp!!fname!"
    echo "!tmp!"
  )
)
endlocal

Engine\Binaries\Win64\UnrealPak.exe "../../../Fossilfuel_2-Windows_P.pak" ^
  -Create="../../../lista.txt" ^
  -Compress
pause

pack-v11.cmd의 내용입니다.
위 코드를 cmd 파일로 저장합니다.
 
 
 

모드로 제작할 폴더를 드래그&드랍하면 다음과 같은 창이 뜨면서 모드 제작이 완료됩니다.
 
 
 

4. UTOC Signature Bypass Patch 적용

{게임이름}/Binaries/Win64에 다운받은 파일의 압축을 풉니다.
끝입니다.
 
 
 

5. 작동확인

일단, 모드 pak파일 이외엔 아무것도 건들지 않은 상태입니다.
sig파일 복사 붙여넣기도 안했고, -fileopenlog 인수도 주지 않은 상태입니다.
 
 
 

수정한 부분들이 모두 정상작동합니다.

저작자표시 비영리 (새창열림)

'한글패치 관련 짧은 글들' 카테고리의 다른 글

global-metadata.dat이 없는 경우의 덤프법 (frida 이용)  (0) 2025.03.23
UnityPy를 이용한 유니티 게임 MonoBehaviour 특정 텍스트 필드 추출/삽입  (0) 2025.03.04
유니티 게임에서 대사 검색 쉽게 하기 (UnityPy 이용)  (4) 2025.01.01
catalog.json과 catalog.hash가 있는 유니티 게임의 수정법  (0) 2024.12.18
번역을 위한 유니티 Il2cpp 게임의 복호화/암호화  (0) 2024.12.18
'한글패치 관련 짧은 글들' 카테고리의 다른 글
  • global-metadata.dat이 없는 경우의 덤프법 (frida 이용)
  • UnityPy를 이용한 유니티 게임 MonoBehaviour 특정 텍스트 필드 추출/삽입
  • 유니티 게임에서 대사 검색 쉽게 하기 (UnityPy 이용)
  • catalog.json과 catalog.hash가 있는 유니티 게임의 수정법
Snowyegret
Snowyegret
기록용 블로그입니다.
  • Snowyegret
    Snowyegret
    Snowyegret
  • 공지사항

    • 문의: 디스코드 snowyegret12
    • 연락처(디스코드) 계정 변경 안내
    • 블로그 운영 재개 안내
  • 링크

    • 블로그 메인
    • 방명록/문의사항
    • Github Repositories
    • Github Gists
    • 분류 전체보기 (88)
      • 늑대와 향신료 VR2 한글패치 (1)
      • 장난을 잘 치는 타카기양 VR 1학기 한글패치 (1)
      • Shephy 카드 설명 한국어 텍스쳐 모드 (1)
      • 한글패치 관련 짧은 글들 (37)
      • 한글패치 작업 내역 (11)
      • 한글화 분석 (작업X) (5)
      • python snippets (4)
      • 게임 (2)
      • 간단프로그램 (2)
      • IT (18)
      • AI (1)
      • TODO (2)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.5
Snowyegret
IoStore를 사용하며 sig우회가 안되는 언리얼 게임 모드 로딩 방지 우회하기
상단으로

티스토리툴바