Savegames: Difference between revisions
Added partial DIFI blob structure definition |
→Partitions: Added partial DISA structure definition |
||
Line 64: | Line 64: | ||
* If the uint32 @ 0x168 into the image in the DISA is a %1=1, then first table is is hashed, otherwise the second DIFI table is hashed. | * If the uint32 @ 0x168 into the image in the DISA is a %1=1, then first table is is hashed, otherwise the second DIFI table is hashed. | ||
* If the table has more then 1 DIFI then the uint32 @ 0x168 is the offset from the DATA partition to the file base (masked with 0xFFFFFFFE). | * If the table has more then 1 DIFI then the uint32 @ 0x168 is the offset from the DATA partition to the file base (masked with 0xFFFFFFFE). | ||
{| class="wikitable" | |||
|- | |||
! Start | |||
! Length | |||
! Description | |||
|- | |||
| 0x00 | |||
| 4 | |||
| Magic ("DISA") | |||
|- | |||
| 0x04 | |||
| 4 | |||
| Unknown | |||
|- | |||
| 0x08 | |||
| 8 | |||
| Unknown | |||
|- | |||
| 0x10 | |||
| 8 | |||
| Offset to first "DIFI" blob in DISA (usually 0x0200) | |||
|- | |||
| 0x18 | |||
| 8 | |||
| Offset to second "DIFI" blob in DISA (usually 0x0330) | |||
|- | |||
| 0x20 | |||
| 8 | |||
| Size of the first "DIFI" blob | |||
|- | |||
| 0x28 | |||
| 8 | |||
| Unknown (padding?) | |||
|- | |||
| 0x30 | |||
| 8 | |||
| Size of the second "DIFI" blob | |||
|- | |||
| 0x38 | |||
| 8 | |||
| Unknown (padding?) | |||
|- | |||
| 0x40 | |||
| 4*10 | |||
| Unknown | |||
|- | |||
| 0x68 | |||
| 4 | |||
| Active table (and the offset to the filebase) | |||
|- | |||
| 0x6C | |||
| 0x20 | |||
| Hashes | |||
|- | |||
| 0x8C | |||
| 4*29 | |||
| Unknown | |||
|} | |||
<pre> | <pre> | ||
Line 92: | Line 152: | ||
Actually DIFI blobs are 0x12C large because the last 4 are not used and appear 0xFFFFFFFF at the encrypted image. | Actually DIFI blobs are 0x12C large because the last 4 are not used and appear 0xFFFFFFFF at the encrypted image. | ||
For most games there's only 1 partition (The SAVE partition) and some (like | For most games there's only 1 partition (The SAVE partition) and some (like Asphalt 3D and Steel Diver) has 2 partitions. | ||
* 2 Partitions means that the files inside the SAVE partition is on the other partition (we would call it DATA partition). | * 2 Partitions means that the files inside the SAVE partition is on the other partition (we would call it DATA partition). | ||
* No more than 2 | * No more than 2 partitions have been seen yet. | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 106: | Line 166: | ||
| 0x00 | | 0x00 | ||
| 4 | | 4 | ||
| Magic "DIFI" | | Magic ("DIFI") | ||
|- | |- | ||
| 0x04 | | 0x04 | ||
Line 130: | Line 190: | ||
| 0x28 | | 0x28 | ||
| 8 | | 8 | ||
| Offset to the hashes | | Offset to the hashes in DIFI (usually 0x010C) | ||
|- | |- | ||
| 0x30 | | 0x30 | ||
| 8 | | 8 | ||
| Size of this hashes | | Size of this hashes | ||
|- | |- | ||
| 0x38 | | 0x38 | ||
| | | 8 | ||
| Unknown | |||
|- | |||
| 0x40 | |||
| 4 | |||
| Unknown (0x00 filled) | | Unknown (0x00 filled) | ||
|} | |} |