Changes

232 bytes added ,  17:17, 1 February 2012
no edit summary
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 image is the 0x100-byte "master hash-table", however normally only the first entry is used. This seems to hash the 0x100-byte DISA?(probably SHA256 HMAC)
+
* 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)
    
{| class="wikitable"
 
{| class="wikitable"