Changes

Jump to navigation Jump to search
6 bytes removed ,  23:00, 28 August 2012
no edit summary
Line 147: Line 147:  
=== Partitions ===
 
=== Partitions ===
   −
There can be multiple partitions on the chip.  
+
There can be multiple partitions in the image.
 
The partitions are represented by tables of DIFI blobs inside a DISA/DIFF structure.
 
The partitions are represented by tables of DIFI blobs inside a DISA/DIFF structure.
The order of the DIFI blobs is the order of the partitions in the chip.
+
The order of the DIFI blobs is the order of the partitions in the image.
    
'''DISA'''
 
'''DISA'''
    
* This is located @ 0x100 in the image, following the MAC header.
 
* This is located @ 0x100 in the image, following the MAC header.
* If the uint32 @ 0x168 in 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 @ 0x68 in the DISA(the low 8-bits) is non-zero, then the 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).
   Line 177: Line 177:  
| 0x10
 
| 0x10
 
| 8
 
| 8
| Offset to primary partition table in DISA
+
| Offset to primary partition table
 
|-
 
|-
 
| 0x18
 
| 0x18
 
| 8
 
| 8
| Offset to secondary partition table in DISA
+
| Offset to secondary partition table
 
|-
 
|-
 
| 0x20
 
| 0x20
Line 291: Line 291:  
'''DIFI'''
 
'''DIFI'''
   −
These 0x130 large blobs describe the partitions. Every DIFI blob describes a partition. Partitions are catted together, so after the end of one partition is the beginning of the next.
+
These 0x12C-byte blobs describe the partitions. Following each partition is an unused 0xFFFFFFFF cleartext word in the raw image. Every DIFI blob describes a partition. Partitions are catted together, so after the end of one partition is the beginning of the next.
 
  −
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 Asphalt 3D, Steel Diver & Lego Star Wars III) has 2 partitions.
 
For most games there's only 1 partition (The SAVE partition) and some (like Asphalt 3D, Steel Diver & Lego Star Wars III) has 2 partitions.
Line 299: Line 297:  
* 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 partitions have been seen yet (and can't be because of the DISA known structure).
+
* The DISA/DIFF headers support a maximum of 2 partitions.
    
{| class="wikitable"
 
{| class="wikitable"
Line 484: Line 482:  
The hashtable entries' size is 2^x where x is the 'Hashed block size' from the IVFC block.
 
The hashtable entries' size is 2^x where x is the 'Hashed block size' from the IVFC block.
   −
'''Hash'''
+
'''DIFI Hash'''
   −
After the DIFI,IVFC & DPFS comes a 0x20 long hash, it is unknown what it's hashing.
+
The last 0x20-bytes of the partition following the DIFI, IVFC and DPFS is a 0x20-byte hash, it is unknown what it's hashing. The offset to this hash is stored in the DIFI.
    
'''Summary Drawing'''
 
'''Summary Drawing'''

Navigation menu