Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
spiritovod
Posts: 719
Joined: Sat Sep 28, 2019 7:00 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by spiritovod »

@Savage: Script works fine with the pak (it's expected behavior). If you'll open resulting files in hex editor, you can notice that header is decompressed, but the main part is additionally compressed - so it seems they've updated GEVASEND format. You can use attached script to fix them, though reimport function will not work with it.
Savage
Posts: 176
Joined: Thu Oct 02, 2014 4:58 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by Savage »

@spiritovod thanks for the script :D
spiritovod
Posts: 719
Joined: Sat Sep 28, 2019 7:00 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by spiritovod »

Updated bms script with initial v9 paks support (UE4 4.25) added to the base post: viewtopic.php?f=9&t=1005&p=56251#p56251

Currently tested only with the latest Breeders Of The Nephelym build.
snzhkhd
Posts: 1
Joined: Mon May 18, 2020 7:45 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by snzhkhd »

Someone was able to open the unpacked game in the editor?

via "GameName".uproject

loading has reached 75% . fatal error :D
Doctor Loboto
Posts: 376
Joined: Sun May 31, 2015 2:23 am

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by Doctor Loboto »

Here's a bizarre AES key request: Chex Quest HD. Here's the shipping file, even though it's a free game, hahaha.

https://www.dropbox.com/s/ldukexag6pkfm ... g.exe?dl=0
spiritovod
Posts: 719
Joined: Sat Sep 28, 2019 7:00 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by spiritovod »

@snzhkhd: You can't do that, because assets in the paks are already cooked and editor doesn't understand them. I suggest to google for basic UE4 tutorials (resources related) to understand how it works.

@Doctor Loboto: Check my signature, the key is already in the list.
ccmnsfa
Posts: 2
Joined: Mon Apr 20, 2020 11:50 am

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by ccmnsfa »

Hi,This game is Crossroads Inn The Pit, The game only an exe file and no shipping exe file, I use unreal_tournament_4_0 4.23.1 a. ms unpack the pak file but needs to be key.

Code: Select all

Error: incomplete input file 0: H:\Games\Project.pak
       Can't read 6930785754599301514 bytes from offset 7ba2804928fc7e40.
       Anyway don't worry, it's possible that the BMS script has been written
       to exit in this way if it's reached the end of the archive so check it
       or contact its author or verify that all the files have been extracted.
       Please check the following coverage information to know if it's ok.

  coverage file 0     0%   53         11187583292 . offset 7ba2804928fc7e40

Last script line before the error or that produced the error:
  100 log MEMORY_FILE10 OFFSET SIZE


I have also tried using the AES key finders but they do not find a match.

Here is the main exe https://drive.google.com/open?id=1Jc5UVlY2XH8UoRBn9IE4CCygoqilvw0H
I would appreciate if anyone could help.
spiritovod
Posts: 719
Joined: Sat Sep 28, 2019 7:00 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by spiritovod »

@ccmnsfa: It's not an UE game. The game is using Esenthel Engine. I suggest to create separate topic with your problem, since there is not any existing topic on the forums for this game.
ccmnsfa
Posts: 2
Joined: Mon Apr 20, 2020 11:50 am

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by ccmnsfa »

spiritovod wrote:@ccmnsfa: It's not an UE game. The game is using Esenthel Engine. I suggest to create separate topic with your problem, since there is not any existing topic on the forums for this game.

Thanks for your reply, they look very similar. I will launch a new post to look for this problem.
Pepita
Posts: 36
Joined: Sun Sep 30, 2018 1:58 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by Pepita »

spiritovod wrote:Snip



Since you are quite good with this Unreal Stuff, I currently try to repack another PAK File for ashes of Creation.

The Game path is the following:

X\aoc\AOC\Content\paks
X\aoc\Engine\
X\aoc\AOC\Binaries

What is the correct Mounting Point for repacking AOC/ENGINE?

I mean it starts at "paks" if I am correct?

I asumed it is:

../../../AOC/

But that won't work. It errors out and say:

Cannot load:

../../../AOC/aoc.uproject

Which is odd since it is the same path I used. Not modified anything, just try to repack it after extracting.

PS: Would it possible to just decrypt the PAK file without extracting it? So I can check for the Mounting Point with u4pak (Python one) cuz it wont work with encrypted Paks.
Pepita
Posts: 36
Joined: Sun Sep 30, 2018 1:58 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by Pepita »

Sorry for double post.
spiritovod
Posts: 719
Joined: Sat Sep 28, 2019 7:00 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by spiritovod »

@Pepita: Not sure why do you even need to modify something from Engine folder in your mod, but correct mount point is "../../../". There are difference between using UnrealPak and u4pak though - for the UnrealPak read this or that. u4pak is very simple and it creates mount point by itself (though it doesn't support creating paks v6+, required for some games).

As for the decrypting index - well, it's definitely possible, you can just trim the original script to required stuff, but I don't see the point of this, since you'll need to replace index manually after decrypting it.
Pepita
Posts: 36
Joined: Sun Sep 30, 2018 1:58 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by Pepita »

spiritovod wrote:@Pepita: Not sure why do you even need to modify something from Engine folder in your mod, but correct mount point is "../../../". There are difference between using UnrealPak and u4pak though - for the UnrealPak read this or that. u4pak is very simple and it creates mount point by itself (though it doesn't support creating paks v6+, required for some games).

As for the decrypting index - well, it's definitely possible, you can just trim the original script to required stuff, but I don't see the point of this, since you'll need to replace index manually after decrypting it.


I prob. gonna try the other tool then, instead of UnrealPak. I just need to modify one File: (AOC\Config\DefaultEngine.ini) since this is the place, where the Level to load is determined.

When I create Files with UnrealPak and using Original SIGN File I get the following in the Log:

LogPakFile: Display: Mounting pak file ../../../AOC/Content/Paks/pakchunk0optional-WindowsClient.pak.
LogPakFile: Display: Found Pak file ../../../AOC/Content/Paks/pakchunk0-WindowsClient.pak attempting to mount.
LogPakFile: Display: Mounting pak file ../../../AOC/Content/Paks/pakchunk0-WindowsClient.pak.
LogPakFile: Display: Found Pak file ../../../AOC/Content/Paks/pakchunk0-patch2.pak attempting to mount.
LogPakFile: Display: Mounting pak file ../../../AOC/Content/Paks/pakchunk0-patch2.pak.
LogPakFile: Warning: Pak chunk signing mismatch on chunk [0/126606]! Expected 1027C715, Received 9DEDC13C
LogPakFile: Warning: Master signature table has changed since initialization!
LogPakFile: Display: Found Pak file ../../../AOC/Content/Paks/pakchunk0-patch.pak attempting to mount.
LogPakFile: Display: Mounting pak file ../../../AOC/Content/Paks/pakchunk0-patch.pak.
LogPakFile: Warning: Pak chunk signing mismatch on chunk [0/126606]! Expected 1027C715, Received 852CE996
LogPakFile: Warning: Master signature table has changed since initialization!


I actually think, he doesn't load the files, since I modified the Config File to load a different Level. If I ran the Client extracted, it works, but with "Patch" PAK Files it doesn't. (extracted Client has some Limitations tho dunno why)

So it either checks for a valid Sign File or I just get something wrong.
Edit: I used both tools now, same result.
spiritovod
Posts: 719
Joined: Sat Sep 28, 2019 7:00 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by spiritovod »

@Pepita: It seems you're doing it wrong way.
1) If you want to include modified ini with u4pak:
For example, this ini was originally in pakchunk0-WindowsClient.pak. Create folder structure Mod\AOC\Config\DefaultEngine.ini (so it will contain only this single file), put u4pak.py in the Mod folder (so it will be near AOC folder), then run cmd from the Mod folder and execute "u4pak.py pack pakchunk0-WindowsClient_mod.pak AOC". Now you have pakchunk0-WindowsClient_mod.pak in the Mod folder with modified ini. Put that pak with the rest of them. If they have .sig files (for example, pakchunk0-WindowsClient.sig), simply create copy of it with required name (pakchunk0-WindowsClient_mod.sig in this case).
2) If you want to do the same with unrealpak, take FluffyQuack's workflow (from the first link in my previous post) and drag-drop Mod folder on UnrealPak-Without-Compression.bat. You can replace unrealpak with any other version from UE SDK, available for free from epic games (it's all explained in the second link).

Note that: If you don't know how signing works, do not sign archives, just re-use existing signatures with unsigned paks (it works too, unless the game has additional checks). You can't repack the whole game, it doesn't work. Packing level is different for u4pak and unrealpak in some cases (AOC and parent folder, Mod, in the example). Paks are prioritized in reverse alphabetical order, hence the _mod addition - it's not mandatory, you can name it other way.
Pepita
Posts: 36
Joined: Sun Sep 30, 2018 1:58 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by Pepita »

spiritovod wrote:@Pepita: It seems you're doing it wrong way.
1) If you want to include modified ini with u4pak:
For example, this ini was originally in pakchunk0-WindowsClient.pak. Create folder structure Mod\AOC\Config\DefaultEngine.ini (so it will contain only this single file), put u4pak.py in the Mod folder (so it will be near AOC folder), then run cmd from the Mod folder and execute "u4pak.py pack pakchunk0-WindowsClient_mod.pak AOC". Now you have pakchunk0-WindowsClient_mod.pak in the Mod folder with modified ini. Put that pak with the rest of them. If they have .sig files (for example, pakchunk0-WindowsClient.sig), simply create copy of it with required name (pakchunk0-WindowsClient_mod.sig in this case).
2) If you want to do the same with unrealpak, take FluffyQuack's workflow (from the first link in my previous post) and drag-drop Mod folder on UnrealPak-Without-Compression.bat. You can replace unrealpak with any other version from UE SDK, available for free from epic games (it's all explained in the second link).

Note that: If you don't know how signing works, do not sign archives, just re-use existing signatures with unsigned paks (it works too, unless the game has additional checks). You can't repack the whole game, it doesn't work. Packing level is different for u4pak and unrealpak in some cases (AOC and parent folder, Mod, in the example). Paks are prioritized in reverse alphabetical order, hence the _mod addition - it's not mandatory, you can name it other way.


Thanks a lot, that actually worked :)
So I got the Pak naming wrong basically and not the Mounting points etc. I just called them pakchunk0-something.
spiritovod
Posts: 719
Joined: Sat Sep 28, 2019 7:00 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by spiritovod »

@Wilps: Sorry, but did you even try to google? The game is using CryEngine, paks can be extracted with 7zip/Winrar and content is not encrypted, but rather has specific formats (example).
Also, your files are not available for download.
Wilps
Posts: 3
Joined: Sun Jan 05, 2020 5:50 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by Wilps »

spiritovod wrote:@Wilps: Sorry, but did you even try to google? The game is using CryEngine, paks can be extracted with 7zip/Winrar and content is not encrypted, but rather has specific formats (example).
Also, your files are not available for download.

Oh, sorry
cj123
Posts: 5
Joined: Thu Apr 30, 2020 12:31 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by cj123 »

@spiritovod, can you help me with extracting the latest version(or other version except the CBT 1) of Lost ark? It's really good game and I want to play with the assets inside the packge.Tks.
spiritovod
Posts: 719
Joined: Sat Sep 28, 2019 7:00 pm

Re: Unreal Engine 4 pak-file Unpacker / unreal_tournament_4.bms [UE4 global topic]

Post by spiritovod »

@cj123: The game is using UE3, not UE4, with modified encrypted resources. I'm not familiar with UE3 at all, so can't help you with that. Also, I don't think that creating additional topics for the game and bumping it every day (there is already one) will help you either.