CECD Savegame
CEC System Save (00010026) Format
Folder and files                         `CecDataPathType`
[Root]
├── eventlog.dat
└── CEC                                  10
    ├── MacFilter___
    ├── MBoxList____                     1
    ├── <8-digit ID>                     11
    │   ├── MBoxInfo____                 2
    │   ├── MBoxData.001                 101
    │   ├── MBoxData.010                 110
    │   ├── MBoxData.050                 150
    │   ├── MBoxData.<3-digit number>    100 + <number>
    │   ├── ...
    │   ├── InBox___                     12
    │   │   ├── BoxInfo_____             3
    │   │   ├── _<12-char ID>            6
    │   │   └── ...
    │   └── OutBox__                     13
    │       ├── BoxInfo_____             4
    │       ├── OBIndex_____             5
    │       ├── _<12-char ID>            7
    │       └── ...
    ├── <8-digit ID>
    ...
File MBoxList____
| Offset | Length | Description | 
|---|---|---|
| 0x00 | 2 | Magic 0x6868 | 
| 0x02 | 2 | Padding | 
| 0x04 | 4 | Version? always 1 | 
| 0x08 | 4 | Number of boxes | 
| 0x0C | 16 * 24 | List of box name | 
Each box name is 16-char long. However, due to the fact that box name is usually a 8-digit ID, the rest of 8 chars are always null characters. Unused box names are filled with null characters.
File MBoxInfo____
| Offset | Length | Description | 
|---|---|---|
| 0x00 | 2 | Magic 0x6363 | 
| 0x02 | 2 | Padding | 
| 0x04 | 4 | Title ID (matches the box directory name) | 
| 0x08 | 4 | Private ID? | 
| 0x0C | 1 | Flags? | 
| 0x0D | 1 | Flags? | 
| 0x0E | 2 | Padding | 
| 0x10 | 32 | HMAC Key | 
| 0x30 | 4 | Zero? | 
| 0x34 | 12 | Timestamp when last accessed | 
| 0x40 | 1 | Display New Notification Dot | 
| 0x41 | 1 | Flag? | 
| 0x42 | 1 | Flag? | 
| 0x43 | 1 | Flag? | 
| 0x44 | 12 | Timestamp when last received | 
| 0x50 | 16 | Zero? | 
Note: - Private ID seems to be a number chosen by application arbitrarily, possibly for verification. Magic numbers such as 0x00000000, 0x00000001, 0xFFFFFFFF, 0xAABBCCDD and other random numbers have been observed here.
File MBoxData.<3-digit number>
File MBoxData.001
Icon
File MBoxData.010
This is the game title in null-terminated UTF-16 string.
File MBoxData.050
This is 8-byte file containing the title ID.
File BoxInfo_____
This file consists of a 0x20-byte header, and an array of 0x70-byte entry. Each entry is a copy of the message header. See the next section for the message header format. The box info header format is
| Offset | Length | Description | 
|---|---|---|
| 0x00 | 2 | Magic 0x6262 | 
| 0x02 | 2 | Padding | 
| 0x04 | 4 | Size of this file | 
| 0x08 | 4 | Maximum box size | 
| 0x0C | 4 | Current box size | 
| 0x10 | 4 | Maximum message count | 
| 0x14 | 4 | Current message count / the size of the following array | 
| 0x18 | 4 | Maximum batch size | 
| 0x1C | 4 | Maximum message size | 
File _<12-char ID>
Each such file is a message. The ID in the file name is the message ID encoded in base-64. A message file consists of a 0x70-byte header, several extra header, a message body, and a 0x20-byte HMAC(?).
The header format is
| Offset | Length | Description | 
|---|---|---|
| 0x00 | 2 | Magic 0x6060 | 
| 0x02 | 2 | Padding | 
| 0x04 | 4 | Message size | 
| 0x08 | 4 | Header + extra headers size | 
| 0x0C | 4 | Body size | 
| 0x10 | 4 | Title ID | 
| 0x14 | 4 | Title ID 2? | 
| 0x18 | 4 | Batch ID | 
| 0x1C | 4 | ? ID | 
| 0x20 | 8 | Message ID | 
| 0x28 | 4 | Message version? | 
| 0x2C | 8 | Message ID 2? | 
| 0x34 | 1 | Flags | 
| 0x35 | 1 | Send method | 
| 0x36 | 1 | Is unopen | 
| 0x37 | 1 | Is new | 
| 0x38 | 8 | Sender ID | 
| 0x40 | 8 | Sender ID 2? | 
| 0x48 | 12 | Timestamp when sent | 
| 0x54 | 12 | Timestamp when received | 
| 0x60 | 12 | Timestamp when created | 
| 0x6C | 1 | Send count | 
| 0x6D | 1 | Forward count | 
| 0x6E | 2 | User data | 
Each extra header has a format of
| Offset | Length | Description | 
|---|---|---|
| 0x00 | 4 | Header type | 
| 0x04 | 4 | Data size | 
| 0x08 | Data size | Header data | 
The header type can be one of the follows:
| Value | Description | 
|---|---|
| 1 | ? | 
| 2 | Icon | 
| 3 | Game name | 
| 4 | Info text | 
| 5 | Region? |