Changes

Line 1: Line 1:  
== File Header ==
 
== File Header ==
βˆ’
  8 : Magic
+
{| class="wikitable" border="1"
βˆ’
  2 : Block-Size
+
|-
βˆ’
  2 : UNKNOWN : 1
+
!  OFFSET
βˆ’
  2 : # folders (subtracted by 100, as the first is 100NIN0*)  
+
!  SIZE
βˆ’
  2 : # of Photos
+
!  DESCRIPTION (common value)
βˆ’
  2 : UNKNOWN : Always zeroes
+
|-
βˆ’
  2 : # of Frames
+
|  0x00
βˆ’
  2 : CRC16 of whole file
+
|  4
βˆ’
  2 : Offset to entries
+
| Magic ("0TIP")
βˆ’
It is known that if the offset to entries is pushed passed the end of the file, the system freezes, it is not known wether this is exploitable or not. Infact any change which makes it read passed the end of the file makes it crash.
+
|-
βˆ’
 
+
|  0x04
βˆ’
'''Please modify''' - the #folders and #photos refers to the last photo in the last folder, so you can have for instance only one photo and modify this values
+
|  4
 +
|  UNKNOWN ("_1""00" LE, maybe number of first folder or max number of photos per folder)
 +
|-
 +
|  0x08
 +
| 2
 +
Block-Size (0x0BB8 => 3000 Bytes)
 +
|-
 +
|  0x0A
 +
| 2
 +
|  # folders' hundreds digit
 +
|-
 +
|  0x0C
 +
| 2
 +
# folders' tens digit
 +
|-
 +
|  0x0E
 +
|  2
 +
|  higher number of photos reached in the last folder (i.e. : next photo's number will be this number+1)
 +
|-
 +
|  0x10
 +
| 2
 +
| UNKNOWN (0x0000)
 +
|-
 +
|  0x12
 +
| 2
 +
# of frames
 +
|-
 +
|  0x14
 +
| 2
 +
CRC16 of whole file
 +
|-
 +
|  0x16
 +
| 2
 +
|  Size of header (0x0018)
 +
|}
 +
It is known that if the offset to entries (size of header) is pushed passed the end of the file, the system freezes, it is not known wether this is exploitable or not. Infact any change which makes it read passed the end of the file makes it crash.
    
== Each entry (16 bytes) ==
 
== Each entry (16 bytes) ==
71

edits