Line 80:
Line 80:
* If the uint32 @ 0x168 into the image in the DISA(the low 8-bits) is non-zero, then first table is is hashed, otherwise the second DIFI table is hashed.
* If the uint32 @ 0x168 into the image in the DISA(the low 8-bits) is non-zero, 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).
−
* At offset 0x0 in the save image is some unknown 0x10-byte data, this gets updated every-time the save is written.(after generation, 0x100 bytes starting at offset 0x0 is compared with the generated stuff, even though everything after the first 0x10-byte entry is all-zero) The 0x100-byte DISA/DIFF is involved in generating this.(0x10-byte might mean AES-CCM MAC, but it's unknown for certain what this is)
+
* At offset 0x0 in the save image is some unknown 0x10-byte data, this gets updated every-time the save is written.(after generation, 0x100 bytes starting at offset 0x0 is compared with the generated stuff, even though everything after the first 0x10-byte entry is all-zero) This might be AES-CCM MAC over the 0x100-byte DISA/DIFF, but it's unknown for certain.
{| class="wikitable"
{| class="wikitable"