Changes

75 bytes removed ,  07:03, 22 February 2012
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 a 0x10-byte MAC, it might be AES-CCM MAC over the 0x100-byte DISA/DIFF but it's unknown for certain. The 0xe0-bytes following the MAC is normally all-zero and is compared with generated data, it's unknown whether this and the generated data can be non-zero.
+
* At offset 0x0 in the image is a 0x10-byte MAC over the 0x100-byte DISA/DIFF, it might be AES-CCM MAC but it's unknown for certain. The following 0xf0-bytes after the MAC normally must be zero, it's unknown whether this can ever be non-zero.
    
{| class="wikitable"
 
{| class="wikitable"
Line 167: Line 167:  
'''DIFF'''
 
'''DIFF'''
   −
* Seems to be the [[extdata]] equivalent of DISA, this seems to start @ offset 0x100 in extdata using FS.(DIFF never seems to be used for regular savegames)
+
* This is the [[extdata]] equivalent of DISA, for extdata which use FS. DIFF is *only* used with extdata, not regular savegames.
    
* When the active-table field low 8-bits is non-zero, the primary partition is used. Otherwise, the secondary partition is used.
 
* When the active-table field low 8-bits is non-zero, the primary partition is used. Otherwise, the secondary partition is used.