XDBF
(most info here should be moved to GPD at some point)
XDBF files are used by the Xbox 360 as a generic database of sorts. It is used as the format for GPD (Gamer Profile Data) and SPA (Statistics, Presence and Achievements) files. SPA files are linked into an Xbox 360 executable during compilation and is used by the dashboard to generate the GPD files inside profiles and for Xbox LIVE information.
Header
Offset | Length | Type | Information |
---|---|---|---|
0x0 | 0x4 | ascii string | Magic (0x58444246) |
0x4 | 0x2 | unsigned short | Version (0x1) |
0x6 | 0x2 | unsigned short | Reserved |
0x8 | 0x4 | unsigned int | Entry Table Length (in number of entries) |
0xC | 0x4 | unsigned int | Entry Count |
0x10 | 0x4 | unsigned int | Free Space Table Length (in number of entries) |
0x14 | 0x4 | unsigned int | Free Space Table Entry Count |
Entry Table
The Entry Table is made up of different entries, each one under a different type.
An ID of 0x100000000 indicates that the entry is a Sync List, an ID of 0x200000000 means its a Sync Data entry.
The Settings, Achievement and Title types each have their own Sync List and Sync Data entries.
An ID of 0x8000 usually indicates that entry is information to do with the title (image/name).
Entry Structure
Offset | Length | Type | Information |
---|---|---|---|
0x0 | 0x2 | signed short | Type (see below) |
0x2 | 0x8 | signed long | ID |
0xA | 0x4 | signed int | Offset (not the real one, see below) |
0xE | 0x4 | signed int | Length |
Entry Types
Value | Description |
---|---|
1 | Achievement |
2 | Image |
3 | Setting |
4 | Title |
5 | String |
6 | Achievement Security (? created by GFWL for offline unlocked achievements) |