GLB Format (Galactix)
Format type | Archive |
---|---|
Max files | 232-1 (~4 billion) |
File Allocation Table (FAT) | Beginning |
Filenames? | Yes, 15 chars |
Metadata? | None |
Supports compression? | No |
Supports encryption? | No |
Supports subdirectories? | No |
Hidden data? | Yes |
Games |
The Galactix GLB Format is used by Galactix to store all the game data files. The format was later altered for Raptor to add encryption, resulting in the Raptor GLB Format.
Signature
For version 1.0 and 1.3, the first FAT entry has the filename "GLIB FILE". This can be checked without decryption, noting that the offset is different between versions.
For version 1.3a and later, the first FAT entry must be decrypted, then it contains the filename "(C)CYGNUS1992". The entry must be decrypted (rather than checking the encrypted bytes) because if the file count changes, so will the following encrypted bytes including the signature filename.
File format
The file begins with a File Allocation Table (FAT), which lists the filename, size and offset of each file within the archive.
The very first entry is not a real file, but is a header. The offset field of this entry contains the number of files in the FAT (not including this header entry itself.) The filename is used as a signature and varies depending on the file version (see below). The file size reported for this entry is zero.
The first file's data begins directly after the FAT, which will also be the offset value of the second FAT entry.
Version 1.0
This layout is used in the shareware and registered versions of Galactix v1.0. The file is not encrypted.
Data type | Name | Description |
---|---|---|
char | filename[22] | Null-terminated filename (21 chars + terminating null). |
UINT32LE | offset | Offset of the file data, relative to the start of the archive. |
UINT32LE | length | Size of the file data, in bytes. ! Could be UINT16LE length followed by UINT16LE flags |
The filename of the first entry is "GLIB FILE".
Version 1.3
This layout is used in Galactix v1.3. The file is not encrypted.
Data type | Name | Description |
---|---|---|
UINT32LE | offset | Offset of the file data, relative to the start of the archive |
char | filename[22] | Null-terminated filename (21 chars + terminating null) |
UINT16LE | length | Size of the file data, in bytes |
The filename of the first entry is "GLIB FILE".
Version 1.3a
This layout is used in Galactix v1.3a and later. The files are not encrypted but the FAT is encrypted with the same algorithm used for GLB Format (Raptor) but with the encryption key "GX1".
Data type | Name | Description |
---|---|---|
UINT16LE | unknown | Unknown value. |
UINT32LE | offset | Offset of the file data, relative to the start of the archive. |
UINT16LE | length | Size of the file data, in bytes. |
char | filename[16] | Null-terminated filename (15 chars + terminating null) |
The filename of the first entry is "(C)CYGNUS1992".
Tools
The following tools are able to work with files in this format.
Name | Platform | Extract files? | Decompress on extract? | Create new? | Modify? | Compress on insert? | Access hidden data? | Edit metadata? | Notes |
---|---|---|---|---|---|---|---|---|---|
Camoto | Linux/Windows | Yes | N/A | Yes | Yes | N/A | No | N/A | v1.3 only |
Galactix fuse | DOS | Yes | N/A | No | No | N/A | No | N/A | v1.3 only |
Credits
This file format was reverse engineered by Malvineous. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)