Unreal Engine 4 PAK: Difference between revisions
imported>Ikskoks |
imported>Ikskoks |
||
| Line 71: | Line 71: | ||
<font color="blue"><i>FOOTER (44 bytes)</i></font><br /> | <font color="blue"><i>FOOTER (44 bytes)</i></font><br /> | ||
uint32 {4} - Signature <font color="purple">((bytes)225,18,111,90) // E1 12 6F 5A // "..oZ" </font><br /> | uint32 {4} - Signature <font color="purple">((bytes)225,18,111,90) // E1 12 6F 5A // "..oZ" </font><br /> | ||
uint32 {4} - Version <font color="purple">(3)</font><br /> | uint32 {4} - Version <font color="purple">(3) or (8)</font><br /> | ||
uint64 {8} - Directory Offset<br /> | uint64 {8} - Directory Offset<br /> | ||
uint64 {8} - Directory Length <font color="purple">(not including FOOTER)</font><br /> | uint64 {8} - Directory Length <font color="purple">(not including FOOTER)</font><br /> | ||
Revision as of 15:33, 20 September 2021
Back to index | Edit this page
PAK
- Format Type : Archive
- Endian Order : Little Endian
- Signature : None
Format Specifications
Uses ZLib, GZip, or Snappy Compression
FILE DATA
for each file
uint64 {8} - null
uint64 {8} - Compressed Length (not including the file header fields or padding)
uint64 {8} - Decompressed Length
uint32 {4} - Compression Type (0=uncompressed, 1=ZLib, 2=GZip, 4=Snappy)
byte {20} - Unknown
if (compressed){
uint32 {4} - Number of Compressed Blocks
for each compressed block
uint64 {8} - Offset to the start of the compressed data block (relative to the start of the archive)
uint64 {8} - Offset to the end of the compressed data block (relative to the start of the archive)
byte {1} - null
for each compressed block
uint32 {4} - Decompressed Length of thie block
byte {X} - File Data (ZLib Compression)
byte {0-2047} - null Padding to a multiple of 2048 bytes (sometimes, not always)
}
else if (uncompressed){
uint32 {4} - null
byte {1} - null
byte {X} - File Data
byte {0-2047} - null Padding to a multiple of 2048 bytes (sometimes, not always)
}
DIRECTORY
uint32 {4} - Relative Directory Name Length (including null terminator) (10)
byte {9} - Relative Directory Name (../../../)
byte {1} - null Relative Directory Name Terminator
uint32 {4} - Number of Files
for each file
uint32 {4} - Filename Length (including null terminator)
byte {X} - Filename
byte {1} - null Filename Terminator
uint64 {8} - File Offset
uint64 {8} - Compressed Length (not including the file header fields or padding)
uint64 {8} - Decompressed Length
uint32 {4} - Compression Type (0=uncompressed, 1=ZLib, 2=GZip, 4=Snappy)
byte {20} - Unknown
if (compressed){
uint32 {4} - Number of Compressed Blocks
for each compressed block
uint64 {8} - Offset to the start of the compressed data block (relative to the start of the archive)
uint64 {8} - Offset to the end of the compressed data block (relative to the start of the archive)
byte {1} - null
uint32 {4} - Decompressed Block Size (65536 if multiple blocks, otherwise the same as the decompressed length)
}
else if (uncompressed){
uint32 {4} - null
byte {1} - null
}
FOOTER (44 bytes)
uint32 {4} - Signature ((bytes)225,18,111,90) // E1 12 6F 5A // "..oZ"
uint32 {4} - Version (3) or (8)
uint64 {8} - Directory Offset
uint64 {8} - Directory Length (not including FOOTER)
byte {20} - Unknown
MultiEx BMS Script
Not written yet.
QuickBMS Script
Notes and Comments
- These files normally occur in path such as "\<game_name>\<build_name>\Content\Paks\<build_name>-WindowsNoEditor.pak"
- This archive type uses ZLIB, GZIP or Snappy compression method.
Games
List of games using this file format:
- Legendary Hunter VR
- Little Nightmares II (PC) (*.PAK)
- Styx: Shards of Darkness
- The Fall of Lazarus
Compatible Programs
See Also