23 lines
923 B
C
23 lines
923 B
C
#ifndef F00D_EMU_H
|
|
#define F00D_EMU_H 1
|
|
|
|
static char MASTER_KEY_0x8001[0x10] = { 0x39, 0x07, 0xA9, 0x3E, 0x6B, 0x68, 0x8C, 0x9A, 0x16, 0x8B, 0xBE, 0x3F, 0x7B, 0xD2, 0x3A, 0x6C }; // keyid = 0x8001
|
|
static char MASTER_KEY_0x1[0x10] = { 0x16, 0x20, 0x5F, 0xA6, 0x71, 0x35, 0xD6, 0x2B, 0x29, 0x08, 0xE7, 0xEC, 0x78, 0x04, 0x1A, 0xE8 }; // keyid = 0x1
|
|
|
|
enum KEY_IDS {
|
|
PROTOTYPE_KEY_ID1 = 0x8001,
|
|
|
|
// on CEX 1.04+ 8002 and 8003 are hardcoded blocked in gcauthmgr.skprx
|
|
PROTOTYPE_KEY_ID2 = 0x8002,
|
|
PROTOTYPE_KEY_ID3 = 0x8003,
|
|
|
|
RETAIL_KEY_ID = 0x1
|
|
};
|
|
|
|
|
|
void decrypt_with_master_key(char* masterKey, char* output, char* data, size_t dataLen);
|
|
void encrypt_with_master_key(char* masterKey, char* output, char* data, size_t dataLen);
|
|
void derive_master_key(char* masterKey, char* cart_random, int key_id);
|
|
void decrypt_secondary_key0(char* cart_random, int key_id, char* vita_authenticity_key, char* secondary_key0);
|
|
|
|
#endif |