Difference between revisions of "Private/ds/app/484E94*/pit.bin"

From DSiBrew
< Private‎ | ds‎ | app‎ | 484E94*
Jump to navigation Jump to search
m
m
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
'''If you have photos or frames in the */100NIN01 folder, can you send me your pit.bin file please at <ludolacost_gm@il_com> ?'''
 +
 +
 
== File Header ==
 
== File Header ==
  8 : Magic
+
{| class="wikitable" border="1"
  2 : Block-Size
+
|-
  2 : UNKNOWN : 1
+
!  OFFSET (bytes)
  2 : # folders (subtracted by 100, as the first is 100NIN0*)  
+
!  SIZE (bytes)
  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.
+
|-
 +
|  0x04
 +
|  4
 +
|  UNKNOWN ("_1""00" LE, maybe number of first folder or max number of photos per folder)
 +
|-
 +
|  0x08
 +
| 2
 +
|  # slots in the file (3000)
 +
|-
 +
|  0x0A
 +
| 2
 +
|  Folder counter; hundreds' digit (?)
 +
|-
 +
|  0x0C
 +
| 2
 +
|  Folder counter; tens' digits (i.e. : next folder's number will be ++foldercounter)
 +
|-
 +
|  0x0E
 +
| 2
 +
|  Photo counter (i.e. : next photo's number will be ++photocounter)
 +
|-
 +
|  0x10
 +
| 2
 +
UNKNOWN (0x0000)
 +
|-
 +
|  0x12
 +
| 2
 +
|  Frame counter (i.e. : next frame's number will be ++framecounter)
 +
|-
 +
|  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.
  
'''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
+
== Each entry (16 bytes) ==
 +
{| class="wikitable" border="1"
 +
|-
 +
!  OFFSET (bytes)
 +
!  SIZE (bytes)
 +
!  DESCRIPTION (common value)
 +
|-
 +
|  0x00
 +
|  4
 +
|  Date (# seconds since Jan/1/2000)
 +
|-
 +
|  0x04
 +
|  8
 +
|  UNKNOWN (0x00 8 times)
 +
|-
 +
|  0x0C
 +
|  4
 +
|  flags (see below)
 +
|}
  
== Each entry (16 bytes) ==
+
=== flags field ===
  4 : Date
+
{| class="wikitable" border="1"
  8 : Zeroes
+
|-
  1 : Type (1: Frame, 3: Photo)
+
!  OFFSET (bits)
  1 : UNKNOWN : 8 * n
+
!  SIZE (bits)
  1 : Sticker (0: None, 4: Star, 8: Clover, 12: Heart, 16: Frame)
+
! DESCRIPTION (common value)
  1 : UNKNOWN : Always zero
+
|-
 +
| 0
 +
| 1
 +
|  # folder where the photo is; hundreds' digit (?)
 +
|-
 +
1
 +
|  7
 +
|  # folder where the photo is; tens' digits
 +
|-
 +
|  8
 +
3
 +
|  UNKNOWN (000b)
 +
|-
 +
| 11
 +
|  7
 +
|  Photo's number minus 1
 +
|-
 +
|  18
 +
|  2
 +
| Sticker (0: None, 1: Star, 2: Clover, 3: Heart)
 +
|-
 +
|  20
 +
|  1
 +
|  Type of the entry (0: Photo, 1: Frame)
 +
|-
 +
|  21
 +
|  11
 +
| UNKNOWN (0b 11 times)
 +
|}
  
 
== Misc information ==
 
== Misc information ==
Line 29: Line 115:
 
* SD:\private\ds\app\484E494A\DCIM\100NIN02
 
* SD:\private\ds\app\484E494A\DCIM\100NIN02
  
 
+
== See also ==
== Each entry (16 bytes) ==
+
* [[User:Ludo6431/pit-read.c | pit.bin file reader]]
4 : Date
+
* [[User:Remark/Pit-fixcrc.c | pit.bin crc fixer]]
8 : Zeroes
 
1 : Type (1: Frame, 3: Photo)
 
1 : UNKNOWN : 8 * n
 
1 : Sticker (0: None, 4: Star,  8: Clover, 12: Heart, 16: Frame)
 
1 : UNKNOWN : Always zero
 
 
 
== Misc information ==
 
Photos are stored in:
 
* SD:\DCIM\100NIN01
 
* SD:\DCIM\100NIN02
 
Frames are stored in:
 
* SD:\private\ds\app\484E494A\DCIM\100NIN01
 
* SD:\private\ds\app\484E494A\DCIM\100NIN02
 

Latest revision as of 00:59, 31 January 2011

If you have photos or frames in the */100NIN01 folder, can you send me your pit.bin file please at <ludolacost_gm@il_com> ?


File Header

OFFSET (bytes) SIZE (bytes) DESCRIPTION (common value)
0x00 4 Magic ("0TIP")
0x04 4 UNKNOWN ("_1""00" LE, maybe number of first folder or max number of photos per folder)
0x08 2 # slots in the file (3000)
0x0A 2 Folder counter; hundreds' digit (?)
0x0C 2 Folder counter; tens' digits (i.e. : next folder's number will be ++foldercounter)
0x0E 2 Photo counter (i.e. : next photo's number will be ++photocounter)
0x10 2 UNKNOWN (0x0000)
0x12 2 Frame counter (i.e. : next frame's number will be ++framecounter)
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)

OFFSET (bytes) SIZE (bytes) DESCRIPTION (common value)
0x00 4 Date (# seconds since Jan/1/2000)
0x04 8 UNKNOWN (0x00 8 times)
0x0C 4 flags (see below)

flags field

OFFSET (bits) SIZE (bits) DESCRIPTION (common value)
0 1 # folder where the photo is; hundreds' digit (?)
1 7 # folder where the photo is; tens' digits
8 3 UNKNOWN (000b)
11 7 Photo's number minus 1
18 2 Sticker (0: None, 1: Star, 2: Clover, 3: Heart)
20 1 Type of the entry (0: Photo, 1: Frame)
21 11 UNKNOWN (0b 11 times)

Misc information

Photos are stored in:

  • SD:\DCIM\100NIN01
  • SD:\DCIM\100NIN02

Frames are stored in:

  • SD:\private\ds\app\484E494A\DCIM\100NIN01
  • SD:\private\ds\app\484E494A\DCIM\100NIN02

See also