SBFS
The "Series"-era of Xbox consoles has, in addition to XBFS, a filesystem called SBFS.
It is not exposed to the operating system itself transparently.
Filesystem sizes
Unknown
SBFS Header offsets
Checking if a filetable exists is done by checking for SBFS_HEADER->Magic.
Absolute offsets:
- 0x1_0000
- 0x1_1000
SBFS Structures
Byteorder: Little endian
MAX_FILE_COUNT: 24
PAGE_SIZE: 0x1000
SBFS_HEADER
Size: 0x1C0
Offset | Length | Type | Information |
---|---|---|---|
0x00 | 0x04 | uint | Magic (SFBS) |
0x04 | 0x01 | byte | Format Version |
0x05 | 0x01 | byte | Sequence Version* |
0x06 | 0x02 | ushort | Layout Version |
0x08 | 0x08 | uint64 | Unknown |
0x10 | 0x08 | uint64 | Unknown |
0x18 | 0x08 | uint64 | Unknown |
0x20 | MAX_FILE_COUNT * sizeof(SBFS_FILE_ENTRY) | struct SBFS_FILE_ENTRY | File Entries |
0x1A0 | 0x20 | byte[] | SHA256 Hash |
- Sequence number: Wraps around, aka 0xFF -> 0x00. 0x00 would be latest.
SBFS_FILE_ENTRY
Size: 0x10
Offset | Length | Type | Information |
---|---|---|---|
0x00 | 0x04 | uint32 | Offset (page count) |
0x04 | 0x04 | uint32 | Size (page count) |
0x08 | 0x08 | uint64 | Unknown |
File Entries
Index | Name | Format | Plaintext | Information | Per console |
---|---|---|---|---|---|
01 | smcfw.bin | binary | no | SMC firmware | ? |
02 | psp1sp.bin | binary | no | Bootloaders | yes |
03 | speaker.bin | binary | ? | (likely) Startup/eject sounds | no |
04 | smcerr.log | binary | no | SMC error log | yes |
05 | smc_d.cfg | binary | no | Dynamic SMC config | yes |
06 | certkeys.smc | binary | no | SMC boot capability cert | yes |
Tools
- sbfs-tool - (Go) Parsing/extracting a raw SBFS image
Authors: