Metropolis Software PAK: Difference between revisions
Jump to navigation
Jump to search
imported>Ikskoks |
imported>Ikskoks (→Games) |
||
| (45 intermediate revisions by the same user not shown) | |||
| Line 7: | Line 7: | ||
* ''' Format Type ''': Archive <br> | * ''' Format Type ''': Archive <br> | ||
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br> | * ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br> | ||
* ''' Signature ''': None <br> | |||
| Line 18: | Line 19: | ||
<font color="blue"> ''' // FILE DATA ''' </font> <br> | <font color="blue"> ''' // FILE DATA ''' </font> <br> | ||
: <font color="blue"> ''' // for each file ''' </font> <br> | : <font color="blue"> ''' // for each file ''' </font> <br> | ||
:: byte {X} - File Data <br> | :: uint32 {4} - File Uncompressed Size <br> | ||
:: uint32 {4} - File Compressed Size <br> | |||
:: byte {X} - File Data <font color="purple">(compressed with GZIP)</font> <br> | |||
:: uint32 {4} - <font color="red"> '' Unknown <font color="purple">(26)</font> '' </font> <br> | :: uint32 {4} - <font color="red"> '' Unknown <font color="purple">(26)</font> '' </font> <br> | ||
<br> | <br> | ||
<font color="blue"> ''' // DIRECTORY ''' </font> <br> | <font color="blue"> ''' // DIRECTORY ''' </font> <br> | ||
: <font color="blue"> ''' // for each file ''' </font> <br> | : <font color="blue"> ''' // for each file ''' </font> <br> | ||
:: uint32 {4} - | :: uint32 {4} - Entry Offset <br> | ||
:: uint32 {4} - | :: uint32 {4} - Entry Size <br> | ||
<br> | <br> | ||
<font color="blue"> ''' // FILENAME | <font color="blue"> ''' // FILENAME ARRAY ''' </font> <br> | ||
: <font color="blue"> ''' // for each file ''' </font> <br> | : <font color="blue"> ''' // for each file ''' </font> <br> | ||
:: uint32 {4} - Filename Length <font color="purple">(including null)</font> <br> | :: uint32 {4} - Filename Length <font color="purple">(including null)</font> <br> | ||
| Line 33: | Line 36: | ||
<br> | <br> | ||
<font color="blue"> ''' // ARCHIVE FOOTER ''' </font> <br> | <font color="blue"> ''' // ARCHIVE FOOTER ''' </font> <br> | ||
: uint32 {4} - | : uint32 {4} - Encrypted offset to start of the DIRECTORY<br> | ||
</b></tt> | </b></tt> | ||
=== Notes and Comments === | === Notes and Comments === | ||
Offset to DIRECTORY must be | Offset to DIRECTORY must be decrypted before use. Substruct from it: | ||
* 0 - for demo | * 0 - for demo | ||
* 0x4857 - for retail/en | * 0x4857 - for retail/en | ||
| Line 50: | Line 47: | ||
It's easy to detect right value to substruct - first file offset in DIRECTORY always 8. | It's easy to detect right value to substruct - first file offset in DIRECTORY always 8. | ||
<br> | |||
Other notes: | |||
* This file format use '''GZIP''' compression. | |||
* This file format occurs in games made by '''Metropolis Software'''. | |||
* Some filenames are stored in polish language, e.g. "pieklo_fabryka_wnetrze.scene". | |||
=== Games === | |||
List of games using this file format: | |||
* Archangel (PC) (*.PAK) | |||
* Gorky Zero: Beyond Honor | |||
=== QuickBMS script === | |||
* [https://github.com/bartlomiejduda/Tools/blob/master/NEW%20Tools/Archangel/Archangel_PAK_script.bms Archangel_PAK_script.bms] | |||
=== Supported Programs === | === Supported Programs === | ||
* [http://www.extractor.ru/files/58b858ec46b3555a8734b7f1fdd5e0a0/ Archangel Unpacker] | * [http://www.extractor.ru/files/58b858ec46b3555a8734b7f1fdd5e0a0/ Archangel Unpacker by Nikita (arcrepak.exe)] / [https://drive.google.com/file/d/1hWGm0mKKFy1THqmGqZymF0TE40ak3hb_/view?usp=sharing mirror1] | ||
<br><br> | |||
[[Category:Complete | [[Category:Complete Almost Done|Archangel PAK]] | ||
[[Category:Platform PC|Archangel PAK]] | [[Category:Platform PC|Archangel PAK]] | ||
[[Category:CE Compressed|Archangel PAK]] | [[Category:CE Compressed|Archangel PAK]] | ||
Latest revision as of 00:20, 3 July 2022
Choose archive extension:
PAK
- Format Type : Archive
- Endian Order : Little Endian
- Signature : None
Format Specifications
// ARCHIVE HEADER
- uint32 {4} - Version (1)
- uint32 {4} - Number Of Files
// FILE DATA
- // for each file
- uint32 {4} - File Uncompressed Size
- uint32 {4} - File Compressed Size
- byte {X} - File Data (compressed with GZIP)
- uint32 {4} - Unknown (26)
- uint32 {4} - File Uncompressed Size
// DIRECTORY
- // for each file
- uint32 {4} - Entry Offset
- uint32 {4} - Entry Size
- uint32 {4} - Entry Offset
// FILENAME ARRAY
- // for each file
- uint32 {4} - Filename Length (including null)
- char {X} - Filename
- byte {1} - null Filename Terminator
- uint32 {4} - Filename Length (including null)
// ARCHIVE FOOTER
- uint32 {4} - Encrypted offset to start of the DIRECTORY
Notes and Comments
Offset to DIRECTORY must be decrypted before use. Substruct from it:
- 0 - for demo
- 0x4857 - for retail/en
- 0x4858 - for retail/ru
It's easy to detect right value to substruct - first file offset in DIRECTORY always 8.
Other notes:
- This file format use GZIP compression.
- This file format occurs in games made by Metropolis Software.
- Some filenames are stored in polish language, e.g. "pieklo_fabryka_wnetrze.scene".
Games
List of games using this file format:
- Archangel (PC) (*.PAK)
- Gorky Zero: Beyond Honor
QuickBMS script
Supported Programs