Difference between revisions of "CRO0"

From 3dbrew
Jump to navigation Jump to search
(Created page with "Category:File formats {| class="wikitable" border="1" ! Offset ! Size ! Description |- | 0x0 | 0x80 | SHA-256 hash-table |- | 0x80 | 0x04 | Magic "CRO0" |- | 0x84 | 0xFC ...")
 
Line 8: Line 8:
 
| 0x0
 
| 0x0
 
| 0x80
 
| 0x80
| SHA-256 hash-table
+
| SHA-256 hash-table, verified by [[CRR0|CRR]]
 
|-
 
|-
 
| 0x80
 
| 0x80
Line 15: Line 15:
 
|-
 
|-
 
| 0x84
 
| 0x84
| 0xFC
+
| 0x2C
| Header
+
| ?
 
|-
 
|-
| 0x180
+
| 0xB0
|  
+
| 0x04
| Data payload begins here
+
| Section0 offset
 +
|-
 +
| 0xB4
 +
| 0x04
 +
| Section0 size
 +
|-
 +
| 0xB8
 +
| 0x04
 +
| Section2 offset
 +
|-
 +
| 0xBC
 +
| 0x04
 +
| Section2 size
 +
|-
 +
| 0xC0
 +
| 0x04
 +
| Section1 offset
 +
|-
 +
| 0xC4
 +
| 0xBC
 +
| ?
 
|}
 
|}
  
This format with extension .cro is used for "DLLs". A hash over this hash-table is stored in the loaded [[CRR0]] file, for verifying this CRO0 file. This format with extension .crs can be used for storing "DLL" symbols as well. The end of the file is aligned to a 0x1000-byte boundary with 0xCC bytes.
+
CRO with extension .cro is used for "DLLs". CRS with extension .crs can be used for storing "DLL" symbols as well. The end of the file is aligned to a 0x1000-byte boundary with 0xCC bytes.
 +
CRO0 files are usually stored under "romfs:/cro/".
 +
 
 +
The first hash-table entry hashes the 0x100-byte header following the hash-table. The following hash-table entries hash the sections specified in the header.
  
CRO0 files are usually stored under "romfs:/cro/".
+
Section0 for CRO contains code, and CRO section1 contains symbols.

Revision as of 08:00, 7 November 2012


Offset Size Description
0x0 0x80 SHA-256 hash-table, verified by CRR
0x80 0x04 Magic "CRO0"
0x84 0x2C ?
0xB0 0x04 Section0 offset
0xB4 0x04 Section0 size
0xB8 0x04 Section2 offset
0xBC 0x04 Section2 size
0xC0 0x04 Section1 offset
0xC4 0xBC ?

CRO with extension .cro is used for "DLLs". CRS with extension .crs can be used for storing "DLL" symbols as well. The end of the file is aligned to a 0x1000-byte boundary with 0xCC bytes. CRO0 files are usually stored under "romfs:/cro/".

The first hash-table entry hashes the 0x100-byte header following the hash-table. The following hash-table entries hash the sections specified in the header.

Section0 for CRO contains code, and CRO section1 contains symbols.