mirror of
https://github.com/WerWolv/ImHex-Patterns.git
synced 2026-03-27 23:37:04 -05:00
patterns: Added Nintendo Switch PRODINFO pattern
This commit is contained in:
@@ -21,6 +21,7 @@ Hex patterns, include patterns and magic files for the use with the ImHex Hex Ed
|
||||
| AR | `application/x-archive` | `patterns/ar.hexpat` | Static library archive files |
|
||||
| NACP | | `patterns/nacp.hexpat` | Nintendo Switch NACP files |
|
||||
| NRO | | `patterns/nro.hexpat` | Nintendo Switch NRO files |
|
||||
| PRODINFO | | `patterns/prodinfo.hexpat` | Nintendo Switch PRODINFO |
|
||||
| Java Class | `application/x-java-applet` | `patterns/java_class.hexpat` | Java Class files |
|
||||
| ARM VTOR | | `patterns/arm_cm_vtor.hexpat` | ARM Cortex M Vector Table Layout |
|
||||
| ICO | | `patterns/ico.hexpat` | Icon (.ico) or Cursor (.cur) files |
|
||||
|
||||
205
patterns/prodinfo.hexpat
Normal file
205
patterns/prodinfo.hexpat
Normal file
@@ -0,0 +1,205 @@
|
||||
enum Model : u16 {
|
||||
NX = 1
|
||||
};
|
||||
|
||||
struct WlanCountryCode {
|
||||
char code[3];
|
||||
} [[static]];
|
||||
|
||||
struct Cert {
|
||||
u8 DeviceKey[0x30];
|
||||
padding[0x10];
|
||||
u8 DeviceCertificate[0x180];
|
||||
padding[0x10];
|
||||
} [[static]];
|
||||
|
||||
enum RegionCode : u32 {
|
||||
JPN = 0,
|
||||
USA = 1,
|
||||
EUR = 2,
|
||||
AUS = 3,
|
||||
CHN = 4,
|
||||
KOR = 5,
|
||||
HKG = 6
|
||||
};
|
||||
|
||||
enum ProductModel : u32 {
|
||||
Invalid = 0,
|
||||
NX = 1,
|
||||
Copper = 2,
|
||||
Iowa = 3,
|
||||
Hoag = 4,
|
||||
Calcio = 5,
|
||||
Aula = 6
|
||||
};
|
||||
|
||||
struct PRODINFO {
|
||||
char MagicNumber[4];
|
||||
u32 Version;
|
||||
u32 BodySize;
|
||||
Model Model;
|
||||
u16 UpdateCount;
|
||||
|
||||
padding[0x10];
|
||||
|
||||
u8 BodyHash[0x20];
|
||||
char ConfigurationId1[0x1E];
|
||||
|
||||
padding[0x02];
|
||||
padding[0x20];
|
||||
|
||||
u32 WlanCountryCodesNum;
|
||||
u32 WlanCountryCodesLastIndex;
|
||||
WlanCountryCode WlanCountryCodes[WlanCountryCodesNum];
|
||||
padding[0x180 - sizeof(WlanCountryCodes)];
|
||||
padding[0x08];
|
||||
u8 WlanMacAddress[6];
|
||||
padding[0x10 - 6];
|
||||
u8 BdAddress[6];
|
||||
|
||||
padding[0x10 - 6];
|
||||
|
||||
u8 AccelerometerOffset[6];
|
||||
padding[2];
|
||||
u8 AccelerometerScale[6];
|
||||
padding[2];
|
||||
u8 GyroscopeOffset[6];
|
||||
padding[2];
|
||||
u8 GyroscopeScale[6];
|
||||
padding[2];
|
||||
|
||||
char SerialNumber[0x18];
|
||||
|
||||
padding[8];
|
||||
|
||||
Cert EccP256Certificate;
|
||||
Cert EccB233Certificate;
|
||||
|
||||
Cert Ecc256ETicket;
|
||||
Cert Ecc233ETicket;
|
||||
|
||||
u8 SslKey[0x110];
|
||||
padding[0x10];
|
||||
u32 SslCertificateSize;
|
||||
padding[0x0C];
|
||||
u8 SslCertificate[0x800];
|
||||
u8 SslCertificateHash[0x20];
|
||||
|
||||
u8 RandomNumber[0x1000];
|
||||
u8 RandomNumberHash[0x20];
|
||||
|
||||
u8 GameCardKey[0x110];
|
||||
u8 GameCardCertificate[0x400];
|
||||
padding[0x10];
|
||||
u8 GameCardCertificateHash[0x20];
|
||||
|
||||
u8 Rsa2048ETicketKey[0x220];
|
||||
padding[0x10];
|
||||
u8 Rsa2048ETicketCertificate[0x240];
|
||||
|
||||
padding[0x10];
|
||||
|
||||
char BatteryLot[0x18];
|
||||
|
||||
padding[0x08];
|
||||
|
||||
u8 SpeakerCalibrationValue[0x800];
|
||||
|
||||
padding[0x10];
|
||||
|
||||
RegionCode RegionCode;
|
||||
|
||||
padding[0x0C];
|
||||
|
||||
u8 AmiiboKey[0x50];
|
||||
padding[0x10];
|
||||
u8 AmiiboEcqvCertificate[0x14];
|
||||
padding[0x0C];
|
||||
u8 AmiiboEcdsaCertificate[0x70];
|
||||
padding[0x10];
|
||||
u8 AmiiboEcqvBlsKey[0x40];
|
||||
padding[0x10];
|
||||
u8 AmiiboEcqvBlsCertificate[0x20];
|
||||
padding[0x10];
|
||||
u8 AmiiboEcqvBlsRootCertificate[0x90];
|
||||
|
||||
padding[0x10];
|
||||
|
||||
ProductModel ProductModel;
|
||||
|
||||
padding[0x0C];
|
||||
|
||||
u8 ColorVariation[6];
|
||||
|
||||
padding[0x0A];
|
||||
|
||||
u8 LcdBacklightBrightnessMapping[0x0C];
|
||||
|
||||
padding[0x04];
|
||||
|
||||
u8 ExtendedEccB233DeviceKey[0x50];
|
||||
padding[0x10];
|
||||
u8 ExtendedEccP256ETicketKey[0x50];
|
||||
padding[0x10];
|
||||
u8 ExtendedEccB233ETicketKey[0x50];
|
||||
padding[0x10];
|
||||
u8 ExtendedRsa2048ETicketKey[0x240];
|
||||
padding[0x10];
|
||||
u8 ExtendedSslKey[0x130];
|
||||
padding[0x10];
|
||||
u8 ExtendedGameCardKey[0x130];
|
||||
padding[0x10];
|
||||
u32 LcdVendorId;
|
||||
|
||||
padding[0x0C];
|
||||
|
||||
u8 ExtendedRsa2048DeviceKey[0x240];
|
||||
padding[0x10];
|
||||
u8 Rsa2048DeviceCertificate[0x240];
|
||||
|
||||
padding[0x10];
|
||||
|
||||
u8 UsbTypeCPowerSourceCircuitVersion;
|
||||
|
||||
padding[0x0F];
|
||||
|
||||
u32 HousingSubColor;
|
||||
padding[0x0C];
|
||||
u32 HousingBezelColor;
|
||||
padding[0x0C];
|
||||
u32 HousingMainColor1;
|
||||
padding[0x0C];
|
||||
u32 HousingMainColor2;
|
||||
padding[0x0C];
|
||||
u32 HousingMainColor3;
|
||||
|
||||
padding[0x0C];
|
||||
|
||||
u8 AnalogStickModuleTypeL;
|
||||
padding[0x0F];
|
||||
u8 AnalogStickModelParameterL[0x12];
|
||||
padding[0x0E];
|
||||
u8 AnalogStickFactoryCalibrationL[0x09];
|
||||
padding[0x07];
|
||||
u8 AnalogStickModuleTypeR;
|
||||
padding[0x0F];
|
||||
u8 AnalogStickModelParameterR[0x12];
|
||||
padding[0x0E];
|
||||
u8 AnalogStickFactoryCalibrationR[0x09];
|
||||
|
||||
padding[0x07];
|
||||
|
||||
u8 ConsoleSixAxisSensorModuleType;
|
||||
padding[0x0F];
|
||||
u8 ConsoleSixAxisSensorHorizontalOffset[6];
|
||||
padding[0x0A];
|
||||
u8 BatteryVersion;
|
||||
padding[0x0F];
|
||||
u8 TouchIcVendorId;
|
||||
padding[0x0F];
|
||||
u32 ColorModel;
|
||||
padding[0x0C];
|
||||
u8 ConsoleSixAxisSensorMountType;
|
||||
};
|
||||
|
||||
PRODINFO PRODINFO @ 0x00;
|
||||
Reference in New Issue
Block a user