The EterPack is a proprietary Virtual File System used for containing all the Client assets (such as 3d meshes, sfx, textures).
All the EterPacks are stored inside the pack/ folder of the game client, and they are load in a specified order, defined by the Pack Index file stored inside pack/ folder.
An EterPack consists of two files, the Index file (.eix) and the Content file (.epk).
The Content file is where the files are stored, either crypted or decrypted, while the Index file is where all informations of the files are stored. (An information might be the file's compression type or the directory where it should virtually mapped).
Index files are usually encrypted as a Crypted Object, therefore, before reading the header, the client must decrypt the file following the method described in the Crypted Object page.
Index file
An Index file contains 12 bytes as header, described as follows:
Bytes in red: FourCC (EPKD) Bytes in blue: Version (Must be 2, it is not known if a EPK with version 1 exists) Bytes in green: Number of files included in this EterPack. Bytes in brown: Start of the file index information
From the number of files included in this EterPack, it follows one or more "Index File Information" or simply File information.
Bytes in red: A 32-bit number that identify the file, this number starts by 0 Bytes in blue: A filename encoded in ASCI (160 bytes + the null terminator) Bytes in black (1): Padding bytes Bytes in green: CRC32 of the file name Bytes in yellow: Decompressed and decrypted file size Bytes in gray: File size stored in the EterPack content file Bytes in orange: CRC32 of the file content Bytes in brown: Offset of the file position in EterPack content file Byte in purple: Identify the type of algorithm used to crypt the file Bytes in black (2): Padding bytes
Content file
An EterPack content file (.epk) just contains the data crypted by the specified algorithm (Also known as Type), there is no header or any format in this file, they are pure RAW files which could be accessed and used from the index file.
Type number | Description |
---|---|
Type 0 | The file is RAW, no compression or cryptation. |
Type 1 | The file is compressed with LZO but it does not use XTEA. |
Type 2 | The file is compressed with LZO, then it's crypted with XTEA using the EterPack Content keys. (In other words, a MCOZ CryptedObject) |
Type 3 | The file is crypted with Panama |
Type 4 | HybridCrypt |
Type 5 | HybridCrypt with extra data |
Type 6 | The file is compressed with Snappy, then it's crypted with XTEA using the EterPack Content keys. (In other words, a MCSP CryptedObject) |
Report Doc