XDBF
XDBF (Xbox Database Format) is, as the name implies, a database for a variety of types of information. It is used in both GPD and SPA files. Windows LIVE uses this same format with the only exception of the entire file being little-endian based.
'Offset Specifier' is the offset of the data after the header and entry tables.
Header
Name | Data Type | Position | Length |
---|---|---|---|
Magic | String | 0 | 0x4 |
Version | Integer | 0x4 | 0x4 |
Entry Table Length | Integer | 0x8 | 0x4 |
Entry Count | Integer | 0xC | 0x4 |
Free Space Table Length | Integer | 0x10 | 0x4 |
Free Space Entry Count | Integer | 0x14 | 0x4 |
'Entry Table Length' and 'Free Space Table Length' when created by the Xbox 360 will always be a multiple of 0x200 (512). This does not have to be though and can be modified to make the file more condensed.
Entry Table
This table is used to find the information stored around in GPD files.
Name | Data Type | Position | Length |
---|---|---|---|
Namespace | Short | 0 | 0x2 |
ID | Unsigned Long | 0x2 | 0x8 |
Offset Specifier | Integer | 0xA | 0x4 |
Length | Integer | 0xE | 0x4 |
Free Space Table
This table is dedicated to mapping out the unused (free) space in the rest of the file excluding the header.
Name | Data Type | Position | Length |
---|---|---|---|
Offset Specifier | Integer | 0 | 0x4 |
Length | Integer | 0x4 | 0x4 |