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 Ashpalt 3D and Steel Diver) has 2 partitions.
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 paritions have been seen yet.
* 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 blob in DIFI (usually 0x010C)
| Offset to the hashes in DIFI (usually 0x010C)
|-
|-
| 0x30
| 0x30
| 8
| 8
| Size of this hashes blob
| Size of this hashes
|-
|-
| 0x38
| 0x38
| 0xC
| 8
| Unknown
|-
| 0x40
| 4
| Unknown (0x00 filled)
| Unknown (0x00 filled)
|}
|}