63 lines
1.1 KiB
C++
63 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include <switch.h>
|
|
|
|
namespace sphaira::npdm {
|
|
|
|
struct Meta {
|
|
u32 magic; // "META"
|
|
u32 signature_key_generation; // +9.0.0
|
|
u32 _0x8;
|
|
u8 flags;
|
|
u8 _0xD;
|
|
u8 main_thread_priority;
|
|
u8 main_thread_core_num;
|
|
u32 _0x10;
|
|
u32 sys_resource_size; // +3.0.0
|
|
u32 version;
|
|
u32 main_thread_stack_size;
|
|
char title_name[0x10];
|
|
char product_code[0x10];
|
|
u8 _0x40[0x30];
|
|
u32 aci0_offset;
|
|
u32 aci0_size;
|
|
u32 acid_offset;
|
|
u32 acid_size;
|
|
};
|
|
|
|
struct Acid {
|
|
u8 rsa_sig[0x100];
|
|
u8 rsa_pub[0x100];
|
|
u32 magic; // "ACID"
|
|
u32 size;
|
|
u8 version;
|
|
u8 _0x209[0x1];
|
|
u8 _0x20A[0x2];
|
|
u32 flags;
|
|
u64 program_id_min;
|
|
u64 program_id_max;
|
|
u32 fac_offset;
|
|
u32 fac_size;
|
|
u32 sac_offset;
|
|
u32 sac_size;
|
|
u32 kac_offset;
|
|
u32 kac_size;
|
|
u8 _0x238[0x8];
|
|
};
|
|
|
|
struct Aci0 {
|
|
u32 magic; // "ACI0"
|
|
u8 _0x4[0xC];
|
|
u64 program_id;
|
|
u8 _0x18[0x8];
|
|
u32 fac_offset;
|
|
u32 fac_size;
|
|
u32 sac_offset;
|
|
u32 sac_size;
|
|
u32 kac_offset;
|
|
u32 kac_size;
|
|
u8 _0x38[0x8];
|
|
};
|
|
|
|
} // namespace sphaira::npdm
|