Difference between revisions of "CRR0"

From 3dbrew
Jump to navigation Jump to search
Line 11: Line 11:
 
|-
 
|-
 
| 0x4
 
| 0x4
| 0x1C
+
| 0x4
 +
| ?
 +
|-
 +
| 0x8
 +
| 0x4
 +
| Must be zero
 +
|-
 +
| 0xC
 +
| 0x4
 +
| Must be zero
 +
|-
 +
| 0x10
 +
| 0x10
 
| ?
 
| ?
 
|-
 
|-
Line 28: Line 40:
 
| 0x240
 
| 0x240
 
| 0x100
 
| 0x100
| RSA-2048 signature verified with the above modulo, starting with the data payload header
+
| RSA-2048 signature verified with the above modulo, over the data starting at 0x340 with the size from 0x358
 
|-
 
|-
 
| 0x340
 
| 0x340
| 0x18
+
| 0x4
| Data payload header
+
| Process UniqueID<<8, from the ProgramID
 +
|-
 +
| 0x344
 +
| 0x14
 +
| ?
 
|-
 
|-
 
| 0x358
 
| 0x358

Revision as of 03:58, 6 November 2012


Offset Size Description
0x0 0x4 Magic "CRR0"
0x4 0x4 ?
0x8 0x4 Must be zero
0xC 0x4 Must be zero
0x10 0x10 ?
0x20 0x20 ?
0x40 0x100 RSA-2048 modulo
0x140 0x100 RSA-2048 signature signed by Nintendo, starting at offset 0x20 with size 0x120
0x240 0x100 RSA-2048 signature verified with the above modulo, over the data starting at 0x340 with the size from 0x358
0x340 0x4 Process UniqueID<<8, from the ProgramID
0x344 0x14 ?
0x358 0x4 Size of the CRR0 file, excluding padding
0x35C 0x4 ?
0x360 SHA-256 hash-table

Each hash stored in the hash-table is over the corresponding executable CRO0 hash-table.

CRR0 files are usually stored under "romfs:/.crr/". The end of the file is aligned to a 0x1000-byte boundary with 0xCC bytes, however the beginning of the padding is the first two text tags from the process NCCH plain region.