CRR0: Difference between revisions

No edit summary
Unknown (talk | contribs)
mNo edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 11: Line 11:
|-
|-
| 0x4
| 0x4
| 0x1C
| 0x4
| ?
| Reserved
|-
| 0x8
| 0x4
| Next loaded CRR (Must be zero in file, set by RO during loading)
|-
| 0xC
| 0x4
| Previous loaded CRR (Must be zero in file, set by RO during loading)
|-
| 0x10
| 0x4
| Debug Info Offset
|-
| 0x14
| 0x4
| Debug Info Size
|-
| 0x18
| 0x8
| Reserved
|-
|-
| 0x20
| 0x20
| 0x20
| 0x4
| ?
| UniqueID Mask
|-
| 0x24
| 0x4
| UniqueID Pattern
|-
| 0x28
| 0x18
| Reserved
|-
|-
| 0x40
| 0x40
Line 28: Line 56:
| 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
| 0x4
| Size of the whole CRR0 file
|-
| 0x348
| 0x8
| Reserved
|-
| 0x350
| 0x4
| Hash-table Offset
|-
| 0x354
| 0x4
| Total hashes in the hash-table
|-
|-
| 0x358
| 0x358
| 0x4
| 0x4
| Size of the CRR0 file, excluding padding
| Offset to the plain region containing text tags, from the process [[NCCH#CXI|NCCH]]
|-
|-
| 0x35C
| 0x35C
| 0x4
| 0x4
| ?
| Size of plain region
|-
|-
| 0x360
| 0x360
Line 46: Line 90:
| SHA-256 hash-table
| SHA-256 hash-table
|}
|}
 
Each hash stored in the hash-table is over the corresponding executable [[CRO0]] 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#CXI|NCCH]] plain region.
CRR0 files must be stored under "romfs:/.crr/". The end of the file is aligned to a 0x1000-byte boundary with 0xCC bytes.