Difference between revisions of "FIRM"
Jump to navigation
Jump to search
m (→Overview) |
m |
||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
− | This is the file format for the [[Title list#00040138 - System Firmware|3DS' Firmware]], it contains four 'sections' of ARM code (ARM9 and ARM11). The firmware sections | + | This is the file format for the [[Title list#00040138 - System Firmware|3DS' Firmware]], it contains four 'sections' of ARM code (ARM9 and ARM11). The firmware sections are not encrypted in the FIRM format. |
Line 38: | Line 38: | ||
| 0x100 | | 0x100 | ||
| 0x100 | | 0x100 | ||
− | | | + | | RSA-2048 signature of the FIRM header, using SHA-256. |
|} | |} | ||
Revision as of 12:36, 23 August 2012
Overview
This is the file format for the 3DS' Firmware, it contains four 'sections' of ARM code (ARM9 and ARM11). The firmware sections are not encrypted in the FIRM format.
A structural example of a FIRM file (created using the specs in ctrtool) can be found here (Note does not contain ARM code, it's just a structural example)
FIRM Header
OFFSET | SIZE | DESCRIPTION |
---|---|---|
0x000 | 4 | Magic 'FIRM' |
0x004 | 4 | Reserved1 |
0x008 | 4 | ARM11 Entrypoint |
0x00C | 4 | ARM9 Entrypoint |
0x010 | 0x030 | Reserved2 |
0x040 | 0x0C0 (0x030*4) | Firmware Section Headers |
0x100 | 0x100 | RSA-2048 signature of the FIRM header, using SHA-256. |
Firmware Section Headers
OFFSET | SIZE | DESCRIPTION |
---|---|---|
0x000 | 4 | Offset |
0x004 | 4 | Address |
0x008 | 4 | Size |
0x00C | 4 | Firmware Type ('0'=ARM9/'1'=ARM11) |
0x010 | 0x020 | SHA-256 Hash of Firmware Section |