Rizin
unix-like reverse engineering framework and cli tools
n3ds.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: 2016 Alberto Ortega
2 // SPDX-License-Identifier: LGPL-3.0-only
3 
4 /*
5 https://www.3dbrew.org/wiki/FIRM
6 More formats to support: https://www.3dbrew.org/wiki/Category:File_formats
7 */
8 
9 #ifndef NIN_N3DS_H
10 #define NIN_N3DS_H
11 
12 #include <rz_types_base.h>
14  struct n3ds_firm_sect_hdr {
15  ut32 offset;
16  ut32 address;
17  ut32 size;
18  ut32 type; /* ('0'=ARM9/'1'=ARM11) */
19  ut8 sha256[0x20];
20  });
21 
23  struct n3ds_firm_hdr {
24  ut8 magic[4];
25  ut8 reserved1[4];
26  ut32 arm11_ep;
27  ut32 arm9_ep;
28  ut8 reserved2[0x30];
29  struct n3ds_firm_sect_hdr sections[4];
30  ut8 rsa2048[0x100];
31  });
32 
33 #endif /* NIN_N3DS_H */
RzList * sections(RzBinFile *bf)
Definition: bin_ne.c:110
uint32_t ut32
voidpf void uLong size
Definition: ioapi.h:138
voidpf uLong offset
Definition: ioapi.h:144
uint8_t ut8
Definition: lh5801.h:11
int type
Definition: mipsasm.c:17
RZ_PACKED(struct n3ds_firm_sect_hdr { ut32 offset;ut32 address;ut32 size;ut32 type;ut8 sha256[0x20];})