언리얼 기반 게임을 하다보면 가끔씩은 리소스를 얻고 싶다거나 해당 게임을 파헤쳐보고 싶은 생각이 있다.
※ 언팩 과정은 일반적으로 게임의 라이선스 및 법적 제한을 준수하는 것이 중요하며, 불법적인 용도로 사용하지 않도록 주의해야 한다.
보통 언리얼 기반 게임은 리소스를 패킹하여 .pak 파일로 가지고 있는데
해당 게임의 소스 확인을 하기 위해서는 이 .pak 파일을 다시 풀어내어 얻는 방식이다.
리소스를 얻는 방안 3 가지를 공유해두고자 한다.
1. QUICKBMS 이용하여 언패킹하기
우선 quickbms라는 툴을 이용해서 언팩을 하는 방법이 대표적이다.
아래 사이트에 들어가서 quickbms를 받아서 사용하면 되는데 언리얼 엔진용 bms를 이용해서 사용 가능하다.
http://aluigi.altervista.org/quickbms.htm (QUICKBMS 받는 곳)
위의 언리얼 엔진용 bms 파일까지 가지고 있다면 QUICKBMS 파일을 실행하면 되는데 실행 중 세 개의 경로를 선택해야 한다.
1 번째 경로 : BMS 파일
2 번째 경로 : PAK 파일
3 번째 경로 : 언패킹할 경로
위의 방식으로 진행하면 PAK파일을 쉽게 풀 수 있다.
※ 만약에 해당 툴로 언패킹에 실패하였다면 해당 게임이 암호에 걸려 있지 않을 확률이 있다.
2. 언리얼 엔진을 이용하여 언패킹하기
다음은 언리얼 엔진을 이용해서 언패킹하는 방법을 공유하고자 한다.
해당 방법은 암호가 전혀 걸려 있지 않은 게임을 풀 수 있는 방법이다.
실행 파일의 속성에 들어가서 자세히 탭에 가보면 파일 버전이 있다.
해당 파일 버전을 기억해 둔 후 언리얼 엔진을 설치하자.
※ 에픽 게임즈를 설치하면 언리얼 엔진을 설치할 수 있다.
에픽 게임즈를 설치하였다면 언리얼 엔진을 추가할 수 있는데
게임의 언리얼 엔진 정보와 맞는 엔진 버전을 추가한다.
이제 게임의 pak 파일을 찾아야 하는데 주로 pak 파일은
exe 실행파일이 있던 곳에서 이름명 폴더\Content\Paks 폴더 안에 주로 있다.
pak 파일을 찾았다면 cmd 창을 열고 다음과 같이 입력하자.
"언리얼 엔진 설치 경로\UnrealPak.exe" "pak 파일 경로" -Extract "언패킹할 경로"
EX) "C:\Program Files\Epic Games\UE_4.27\Engine\Binaries\Win64\UnrealPak.exe" "D:\Content\Paks\test-WindowsNoEditor.pak" -Extract "D:\testUnPaks"
언패킹을 하고 해당 경로를 찾아가보면 위와 같이 프로젝트가 풀려 있는 것을 알 수 있다.
언리얼 엔진을 다룰 수 있다면 해당 게임을 수정할 수 있게 되었다.
※ 만약에 언패킹에 실패했다면 암호가 걸려 있을 확률이 큰데 대다수의 게임들은 암호코드를 주입하여 언패킹 되는 것을 방지하고 있다.
이 경우 암호코드를 알아내어 언팩 명령어를 실행하면 풀리게 된다.
"언리얼 엔진 설치 경로\UnrealPak.exe" "pak 파일 경로" -Extract "언패킹할 경로" -CryptoKeys="Crypto.json 파일 경로"
암호코드를 찾는 방법은 AES finder를 이용하여 찾는 등 다양한 방법이 존재하니 구글에서 검색해보도록 하자.
3. UE Viewer를 이용하여 리소스 확인하기
단순히 텍스처를 가져오기 위한 목적이라면 위의 방법을 사용하지 않고 UE Viewer를 이용하면 용이하다.
https://www.gildor.org/en/projects/umodel
위의 사이트를 통해서 UE Viewer를 다운받은 후
운영체제가 32bit인 경우 umodel.exe 파일을 실행하고
운영체제가 64bit인 경우 umodel_64.exe 파일을 실행하자.
위와 같이 프로그램이 실행되는데 게임 경로를 설정하고 OK를 누르면 된다.
그럼 위와 같이 리스트로 노출되며 우측에 에셋 파일을 선택하면 다음과 같이 이미지를 미리 볼 수 있다.
선택한 에셋이 이미지 또는 텍스처라면
상단 메뉴의 Tools > Export current Object를 통해서 해당 오브젝트를 수정 가능한 파일로 추출할 수 있다.
※ 다시 Pak 파일로 패킹하는 명령어 예시
언리얼 엔진 설치 경로\UnrealPak.exe" "pak 파일 경로" -Create="언패킹할 경로\Content"
위의 방법 외에도 더 많은 방법들이 있으니 참고해두면 좋을 듯 하다.
'개발자의 시선 > 디지털 공간' 카테고리의 다른 글
[PC] 키워드로 파일 찾는 프로그램 Everything 소개 (2) | 2023.06.08 |
---|---|
[PC] MKV, MP4로 변환 가능한 HandBrake 프로그램 소개 (0) | 2023.06.05 |
[웹, 모바일] 네이버 페이 포인트로 스팀 지갑 충전하기 (0) | 2023.03.23 |
[윈도우11] 마우스 우클릭 메뉴 예전으로 변경하기 (2) | 2022.08.10 |
[윈도우] 서브 모니터 작업 표시줄에 시간 표시해주는 ElevenClock (0) | 2022.01.28 |
[웹] 로또 조합기 V2.0 (0) | 2022.01.09 |
[웹] 아이템매니아 마일리지로 스팀 지갑 충전하기 (0) | 2021.02.19 |
[모바일] 로그폰2 동영상 녹화 실패 및 어플 종료 후 알림 문제 해결하기 (0) | 2021.01.30 |