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)  | ||
|}  | |}  | ||