-
-
Save roblabla/0221d3065df9b925297fce153be22632 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define UNLOADED_FILE 1 | |
#include <idc.idc> | |
static main(void) | |
{ | |
// set 'loading idc file' mode | |
set_inf_attr(INF_GENFLAGS, INFFL_LOADIDC|get_inf_attr(INF_GENFLAGS)); | |
GenInfo(); // various settings | |
Segments(); // segmentation | |
Enums(); // enumerations | |
Structures(); // structure types | |
ApplyStrucTInfos(); // structure type infos | |
Patches(); // manual patches | |
SegRegs(); // segment register values | |
Bytes(); // individual bytes (code,data) | |
Functions(); // function definitions | |
// clear 'loading idc file' mode | |
set_inf_attr(INF_GENFLAGS, ~INFFL_LOADIDC&get_inf_attr(INF_GENFLAGS)); | |
} | |
//------------------------------------------------------------------------ | |
// General information | |
static GenInfo(void) { | |
delete_all_segments(); // purge database | |
set_processor_type("ARM", SETPROC_USER); | |
set_inf_attr(INF_COMPILER, 6); | |
set_inf_attr(INF_STRLIT_BREAK, 0xA); | |
set_flag(INF_CMTFLAG, SW_ALLCMT, 0); | |
set_flag(INF_OUTFLAGS, OFLG_SHOW_VOID, 0); | |
set_inf_attr(INF_XREFNUM, 2); | |
set_flag(INF_OUTFLAGS, OFLG_SHOW_AUTO, 1); | |
set_inf_attr(INF_INDENT, 16); | |
set_inf_attr(INF_COMMENT, 40); | |
set_inf_attr(INF_MAXREF, 0x10); | |
} | |
//------------------------------------------------------------------------ | |
// Information about segmentation | |
static Segments(void) { | |
set_selector(0X1,0); | |
; | |
add_segm_ex(0X40000000,0X40006000,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X40000000,".boot"); | |
SegClass (0X40000000,".boot"); | |
SegDefReg(0x40000000,"T",0x0); | |
SegDefReg(0x40000000,"DS",0x1); | |
add_segm_ex(0X40006000,0X40007000,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X40006000,".secondarystack"); | |
SegClass (0X40006000,"STACK"); | |
SegDefReg(0x40006000,"T",0x0); | |
SegDefReg(0x40006000,"DS",0x1); | |
set_segm_type(0X40006000,9); | |
add_segm_ex(0X40007000,0X40008000,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X40007000,".stack"); | |
SegClass (0X40007000,"STACK"); | |
SegDefReg(0x40007000,"T",0x0); | |
SegDefReg(0x40007000,"DS",0x1); | |
set_segm_type(0X40007000,9); | |
add_segm_ex(0X40010000,0X40011744,0,1,1,5,ADDSEG_NOSREG); | |
SegRename(0X40010000,".text"); | |
SegClass (0X40010000,"CODE"); | |
SegDefReg(0x40010000,"T",0x0); | |
SegDefReg(0x40010000,"DS",0x0); | |
set_segm_type(0X40010000,2); | |
add_segm_ex(0X40011744,0X4001271C,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X40011744,".rodata"); | |
SegClass (0X40011744,"CONST"); | |
SegDefReg(0x40011744,"T",0x1); | |
SegDefReg(0x40011744,"DS",0x1); | |
set_segm_type(0X40011744,3); | |
add_segm_ex(0X4001271C,0X4001278C,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X4001271C,".data"); | |
SegClass (0X4001271C,"DATA"); | |
SegDefReg(0x4001271C,"T",0x1); | |
SegDefReg(0x4001271C,"DS",0x1); | |
set_segm_type(0X4001271C,3); | |
add_segm_ex(0X4001278C,0X40013FE0,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X4001278C,".bss"); | |
SegClass (0X4001278C,"BSS"); | |
SegDefReg(0x4001278C,"T",0x1); | |
SegDefReg(0x4001278C,"DS",0x1); | |
set_segm_type(0X4001278C,9); | |
add_segm_ex(0X40013FE0,0X400347A0,0,1,1,5,ADDSEG_NOSREG); | |
SegRename(0X40013FE0,".pk11"); | |
SegClass (0X40013FE0,"CODE"); | |
SegDefReg(0x40013FE0,"T",0x1); | |
SegDefReg(0x40013FE0,"DS",0x1); | |
set_segm_type(0X40013FE0,2); | |
add_segm_ex(0X60005000,0X60005020,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X60005000,".timers"); | |
SegClass (0X60005000,"IO"); | |
SegDefReg(0x60005000,"T",0x0); | |
SegDefReg(0x60005000,"DS",0x1); | |
add_segm_ex(0X6000F200,0X6000F220,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X6000F200,".vectors"); | |
SegClass (0X6000F200,"DATA"); | |
SegDefReg(0x6000F200,"T",0x0); | |
SegDefReg(0x6000F200,"DS",0x1); | |
set_segm_type(0X6000F200,3); | |
add_segm_ex(0X7000F800,0X70010000,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X7000F800,".fuses"); | |
SegClass (0X7000F800,"IO"); | |
SegDefReg(0x7000F800,"T",0x0); | |
SegDefReg(0x7000F800,"DS",0x1); | |
add_segm_ex(0X70012000,0X70014000,0X1,1,1,2,ADDSEG_NOSREG); | |
SegRename(0X70012000,".securityengine"); | |
SegClass (0X70012000,"IO"); | |
SegDefReg(0x70012000,"T",0x0); | |
SegDefReg(0x70012000,"DS",0x1); | |
set_inf_attr(INF_LOW_OFF, 0x40000000); | |
set_inf_attr(INF_HIGH_OFF, 0x70014000); | |
} | |
static Enums_0(id) { | |
id = add_enum(-1,"KEYSLOT_TYPE",0x1100000); | |
add_enum_member(id,"KEYSLOT_0", 0, -1); | |
add_enum_member(id,"KEYSLOT_1", 0X1, -1); | |
add_enum_member(id,"KEYSLOT_2", 0X2, -1); | |
add_enum_member(id,"KEYSLOT_3", 0X3, -1); | |
add_enum_member(id,"KEYSLOT_4", 0X4, -1); | |
add_enum_member(id,"KEYSLOT_5", 0X5, -1); | |
add_enum_member(id,"KEYSLOT_6", 0X6, -1); | |
add_enum_member(id,"KEYSLOT_7", 0X7, -1); | |
add_enum_member(id,"KEYSLOT_8", 0X8, -1); | |
add_enum_member(id,"KEYSLOT_9", 0X9, -1); | |
add_enum_member(id,"KEYSLOT_A", 0XA, -1); | |
add_enum_member(id,"KEYSLOT_B", 0XB, -1); | |
add_enum_member(id,"KEYSLOT_C", 0XC, -1); | |
add_enum_member(id,"KEYSLOT_D", 0XD, -1); | |
add_enum_member(id,"KEYSLOT_E_SBK", 0XE, -1); | |
add_enum_member(id,"KEYSLOT_F_SSK", 0XF, -1); | |
id = add_enum(-1,"ALG_TYPE",0x1100000); | |
add_enum_member(id,"ALG_AES_DEC", 0, -1); | |
add_enum_member(id,"ALG_AES_ENC", 0X1, -1); | |
add_enum_member(id,"ALG_RNG", 0X2, -1); | |
add_enum_member(id,"ALG_SHA", 0X3, -1); | |
add_enum_member(id,"ALG_RSA", 0X4, -1); | |
id = add_enum(-1,"DST_TYPE",0x1100000); | |
add_enum_member(id,"DST_MEMORY", 0, -1); | |
add_enum_member(id,"DST_HASHREG", 0X1, -1); | |
add_enum_member(id,"DST_KEYTAB", 0X2, -1); | |
add_enum_member(id,"DST_SRK", 0X3, -1); | |
add_enum_member(id,"DST_RSAREG", 0X4, -1); | |
id = add_enum(-1,"CORE_CRYPT_TYPE",0x1100000); | |
add_enum_member(id,"CORE_DECRYPT", 0, -1); | |
add_enum_member(id,"CORE_ENCRYPT", 0X1, -1); | |
id = add_enum(-1,"CORE_HASH_TYPE",0x1100000); | |
add_enum_member(id,"HASH_DISABLE", 0, -1); | |
add_enum_member(id,"HASH_ENABLE", 0X1, -1); | |
return id; | |
} | |
//------------------------------------------------------------------------ | |
// Information about enum types | |
static Enums(void) { | |
auto id; | |
begin_type_updating(UTP_ENUM); | |
id = Enums_0(id); | |
end_type_updating(UTP_ENUM); | |
} | |
static ApplyStrucTInfos_0(void) { | |
auto id; | |
id = get_struc_id("AddrInfo"); | |
SetType(get_member_id(id, 0x0), "int"); | |
SetType(get_member_id(id, 0x4), "int"); | |
id = get_struc_id("CryptoAddrInfo"); | |
SetType(get_member_id(id, 0x0), "int"); | |
SetType(get_member_id(id, 0x4), "AddrInfo"); | |
id = get_struc_id("securityEngine_t"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "unsigned int"); | |
SetType(get_member_id(id, 0x8), "unsigned int"); | |
SetType(get_member_id(id, 0xC), "unsigned int"); | |
SetType(get_member_id(id, 0x10), "unsigned int"); | |
SetType(get_member_id(id, 0x14), "unsigned int"); | |
SetType(get_member_id(id, 0x18), "CryptoAddrInfo *"); | |
SetType(get_member_id(id, 0x1C), "unsigned int"); | |
SetType(get_member_id(id, 0x20), "unsigned int"); | |
SetType(get_member_id(id, 0x24), "CryptoAddrInfo *"); | |
SetType(get_member_id(id, 0x28), "unsigned int"); | |
SetType(get_member_id(id, 0x2C), "unsigned int"); | |
SetType(get_member_id(id, 0x30), "unsigned __int8[16]"); | |
SetType(get_member_id(id, 0x40), "unsigned __int8[576]"); | |
SetType(get_member_id(id, 0x280), "unsigned int"); | |
SetType(get_member_id(id, 0x284), "unsigned int[16]"); | |
SetType(get_member_id(id, 0x2C4), "unsigned __int8[60]"); | |
SetType(get_member_id(id, 0x300), "unsigned int"); | |
SetType(get_member_id(id, 0x304), "unsigned int"); | |
SetType(get_member_id(id, 0x308), "unsigned int[4]"); | |
SetType(get_member_id(id, 0x318), "unsigned int"); | |
SetType(get_member_id(id, 0x31C), "unsigned int"); | |
SetType(get_member_id(id, 0x320), "unsigned int"); | |
SetType(get_member_id(id, 0x324), "unsigned int"); | |
SetType(get_member_id(id, 0x328), "unsigned int"); | |
SetType(get_member_id(id, 0x32C), "unsigned int"); | |
SetType(get_member_id(id, 0x330), "unsigned int"); | |
SetType(get_member_id(id, 0x334), "unsigned __int8[1228]"); | |
SetType(get_member_id(id, 0x800), "unsigned int"); | |
SetType(get_member_id(id, 0x804), "unsigned int"); | |
SetType(get_member_id(id, 0x808), "unsigned int"); | |
SetType(get_member_id(id, 0x80C), "unsigned int"); | |
SetType(get_member_id(id, 0x810), "unsigned int"); | |
SetType(get_member_id(id, 0x814), "unsigned int"); | |
SetType(get_member_id(id, 0x818), "unsigned int"); | |
SetType(get_member_id(id, 0x81C), "unsigned int"); | |
SetType(get_member_id(id, 0x820), "unsigned __int8[6112]"); | |
id = get_struc_id("bootloaderHeader_t"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "char[20]"); | |
id = get_struc_id("badBlockTable_t"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "unsigned __int8"); | |
SetType(get_member_id(id, 0x5), "unsigned __int8"); | |
SetType(get_member_id(id, 0x6), "unsigned __int8[512]"); | |
SetType(get_member_id(id, 0x206), "unsigned __int8[10]"); | |
id = get_struc_id("bootloaderInfo_t"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "unsigned int"); | |
SetType(get_member_id(id, 0x8), "unsigned int"); | |
SetType(get_member_id(id, 0xC), "unsigned int"); | |
SetType(get_member_id(id, 0x10), "unsigned int"); | |
SetType(get_member_id(id, 0x14), "unsigned int"); | |
SetType(get_member_id(id, 0x18), "unsigned int"); | |
SetType(get_member_id(id, 0x1C), "unsigned __int8[16]"); | |
SetType(get_member_id(id, 0x2C), "unsigned __int8[256]"); | |
id = get_struc_id("keyblob_t"); | |
SetType(get_member_id(id, 0x0), "const char[16]"); | |
SetType(get_member_id(id, 0x10), "const char[16]"); | |
SetType(get_member_id(id, 0x20), "const char[9][16]"); | |
id = get_struc_id("BCT_t"); | |
SetType(get_member_id(id, 0x0), "badBlockTable_t"); | |
SetType(get_member_id(id, 0x210), "unsigned __int8[256]"); | |
SetType(get_member_id(id, 0x310), "unsigned __int8[16]"); | |
SetType(get_member_id(id, 0x320), "unsigned __int8[256]"); | |
SetType(get_member_id(id, 0x420), "unsigned int"); | |
SetType(get_member_id(id, 0x424), "unsigned __int8[32]"); | |
SetType(get_member_id(id, 0x444), "unsigned __int8[12]"); | |
SetType(get_member_id(id, 0x450), "keyblob_t"); | |
SetType(get_member_id(id, 0x500), "unsigned __int8[8]"); | |
SetType(get_member_id(id, 0x508), "unsigned int"); | |
SetType(get_member_id(id, 0x50C), "unsigned int"); | |
SetType(get_member_id(id, 0x510), "unsigned __int8[16]"); | |
SetType(get_member_id(id, 0x520), "unsigned __int8[16]"); | |
SetType(get_member_id(id, 0x530), "unsigned int"); | |
SetType(get_member_id(id, 0x534), "unsigned int"); | |
SetType(get_member_id(id, 0x538), "unsigned int"); | |
SetType(get_member_id(id, 0x53C), "unsigned int"); | |
SetType(get_member_id(id, 0x540), "unsigned int"); | |
SetType(get_member_id(id, 0x544), "unsigned int"); | |
SetType(get_member_id(id, 0x548), "unsigned int[16]"); | |
SetType(get_member_id(id, 0x588), "unsigned int"); | |
SetType(get_member_id(id, 0x58C), "unsigned __int8[4][1896]"); | |
SetType(get_member_id(id, 0x232C), "unsigned int"); | |
SetType(get_member_id(id, 0x2330), "bootloaderInfo_t[4]"); | |
SetType(get_member_id(id, 0x27E0), "unsigned __int8"); | |
SetType(get_member_id(id, 0x27E4), "unsigned int"); | |
SetType(get_member_id(id, 0x27E8), "unsigned int"); | |
SetType(get_member_id(id, 0x27EC), "unsigned __int8[12]"); | |
SetType(get_member_id(id, 0x27F8), "unsigned __int8[5]"); | |
id = get_struc_id("BIT_t"); | |
SetType(get_member_id(id, 0x0), "char[76]"); | |
SetType(get_member_id(id, 0x4C), "BCT_t *"); | |
SetType(get_member_id(id, 0x50), "bootloaderHeader_t[4]"); | |
id = get_struc_id("keyGenerationBuffer"); | |
SetType(get_member_id(id, 0x0), "union keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629"); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629"); | |
SetType(get_member_id(id, 0x0), "struct keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$74351EF23253E0B28D24A0867FCDD4BB"); | |
SetType(get_member_id(id, 0x1), "struct keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$41977C36FC669A496A8D84212237D94F"); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$74351EF23253E0B28D24A0867FCDD4BB"); | |
SetType(get_member_id(id, 0x0), "char[16]"); | |
SetType(get_member_id(id, 0x10), "char[16]"); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$41977C36FC669A496A8D84212237D94F"); | |
SetType(get_member_id(id, 0x0), "unsigned __int8[8]"); | |
SetType(get_member_id(id, 0x8), "char[9][16]"); | |
SetType(get_member_id(id, 0x98), "unsigned __int8[8]"); | |
id = get_struc_id("downgradeFuseData"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "unsigned int"); | |
SetType(get_member_id(id, 0x8), "unsigned int"); | |
SetType(get_member_id(id, 0xC), "unsigned int"); | |
SetType(get_member_id(id, 0x10), "unsigned int"); | |
SetType(get_member_id(id, 0x14), "unsigned int"); | |
SetType(get_member_id(id, 0x18), "unsigned int"); | |
id = get_struc_id("fuseBurnInfo"); | |
SetType(get_member_id(id, 0x0), "unsigned int"); | |
SetType(get_member_id(id, 0x4), "unsigned int"); | |
return id; | |
} | |
//------------------------------------------------------------------------ | |
// Information about type information for structure members | |
static ApplyStrucTInfos() { | |
ApplyStrucTInfos_0(); | |
} | |
static Structures_0(id) { | |
auto mid; | |
id = add_struc(-1,"AddrInfo",0); | |
id = add_struc(-1,"CryptoAddrInfo",0); | |
id = add_struc(-1,"securityEngine_t",0); | |
id = add_struc(-1,"bootloaderHeader_t",0); | |
id = add_struc(-1,"badBlockTable_t",0); | |
id = add_struc(-1,"bootloaderInfo_t",0); | |
id = add_struc(-1,"keyblob_t",0); | |
id = add_struc(-1,"BCT_t",0); | |
id = add_struc(-1,"BIT_t",0); | |
id = add_struc(-1,"keyGenerationBuffer",0); | |
id = add_struc(-1,"keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629",1); | |
id = add_struc(-1,"keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$74351EF23253E0B28D24A0867FCDD4BB",0); | |
id = add_struc(-1,"keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$41977C36FC669A496A8D84212237D94F",0); | |
id = add_struc(-1,"downgradeFuseData",0); | |
id = add_struc(-1,"fuseBurnInfo",0); | |
id = get_struc_id("AddrInfo"); | |
mid = add_struc_member(id,"address", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"size", 0X4, 0x20000400, -1, 4); | |
set_struc_align(id,2); | |
id = get_struc_id("CryptoAddrInfo"); | |
mid = add_struc_member(id,"flagsMaybe", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"addrInfo", 0X4, 0x60000400, get_struc_id("AddrInfo"), 8); | |
set_struc_align(id,2); | |
id = get_struc_id("securityEngine_t"); | |
mid = add_struc_member(id,"_0x0", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x4", 0X4, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"OPERATION_REG", 0X8, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"INT_ENABLE_REG", 0XC, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"INT_STATUS_REG", 0X10, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"CONFIG_REG", 0X14, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"IN_LL_ADDR_REG", 0X18, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002); | |
mid = add_struc_member(id,"_0x1C", 0X1C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x20", 0X20, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"OUT_LL_ADDR_REG", 0X24, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002); | |
mid = add_struc_member(id,"_0x28", 0X28, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x2C", 0X2C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"cmacOutput", 0X30, 0x000400, -1, 16); | |
mid = add_struc_member(id,"reserved0x40", 0X40, 0x000400, -1, 576); | |
mid = add_struc_member(id,"KEY_READ_DISABLE_REG", 0X280, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"KEYSLOT_FLAGS", 0X284, 0x20000400, -1, 64); | |
mid = add_struc_member(id,"reserved0x2C4", 0X2C4, 0x000400, -1, 60); | |
mid = add_struc_member(id,"_0x300", 0X300, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"CRYPTO_REG", 0X304, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"CRYPTO_CTR_REG", 0X308, 0x20000400, -1, 16); | |
mid = add_struc_member(id,"BLOCK_COUNT_REG", 0X318, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"KEYTABLE_REG", 0X31C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"KEYTABLE_DATA0_REG", 0X320, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x324", 0X324, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x328", 0X328, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x32C", 0X32C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"CRYPTO_KEYTABLE_DST_REG", 0X330, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"reserved0x334", 0X334, 0x000400, -1, 1228); | |
mid = add_struc_member(id,"FLAGS_REG", 0X800, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"ERR_STATUS_REG", 0X804, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x808", 0X808, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x80C", 0X80C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x810", 0X810, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x814", 0X814, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x818", 0X818, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x81C", 0X81C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"reserved0x820", 0X820, 0x000400, -1, 6112); | |
set_struc_align(id,2); | |
id = get_struc_id("badBlockTable_t"); | |
mid = add_struc_member(id,"numEntries", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"virtualBlockSize", 0X4, 0x000400, -1, 1); | |
mid = add_struc_member(id,"blockSize", 0X5, 0x000400, -1, 1); | |
mid = add_struc_member(id,"badBlocks", 0X6, 0x000400, -1, 512); | |
mid = add_struc_member(id,"reserved", 0X206, 0x000400, -1, 10); | |
set_struc_align(id,2); | |
id = get_struc_id("bootloaderInfo_t"); | |
mid = add_struc_member(id,"version", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"startBlock", 0X4, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"startPage", 0X8, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"length", 0XC, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"loadAddress", 0X10, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"entryPoint", 0X14, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"attribute", 0X18, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"aesMacSignature", 0X1C, 0x000400, -1, 16); | |
mid = add_struc_member(id,"rsaPssSignature", 0X2C, 0x000400, -1, 256); | |
set_struc_align(id,2); | |
id = get_struc_id("keyblob_t"); | |
mid = add_struc_member(id,"aesMac", 0, 0x000400, -1, 16); | |
mid = add_struc_member(id,"ctr", 0X10, 0x000400, -1, 16); | |
mid = add_struc_member(id,"encryptedKeys", 0X20, 0x000400, -1, 144); | |
id = get_struc_id("BCT_t"); | |
mid = add_struc_member(id,"badBlockTable", 0, 0x60000400, get_struc_id("badBlockTable_t"), 528); | |
mid = add_struc_member(id,"PKCModulus", 0X210, 0x000400, -1, 256); | |
mid = add_struc_member(id,"aesMacSignature", 0X310, 0x000400, -1, 16); | |
mid = add_struc_member(id,"rsaPssSignature", 0X320, 0x000400, -1, 256); | |
mid = add_struc_member(id,"secProvisioningKeyNumInsecure", 0X420, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"secProvisioningKey", 0X424, 0x000400, -1, 32); | |
mid = add_struc_member(id,"_0x444", 0X444, 0x000400, -1, 12); | |
mid = add_struc_member(id,"keyblob", 0X450, 0x60000400, get_struc_id("keyblob_t"), 176); | |
mid = add_struc_member(id,"_0x500", 0X500, 0x000400, -1, 8); | |
mid = add_struc_member(id,"odmData", 0X508, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"reserved0", 0X50C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"randomAesBlock", 0X510, 0x000400, -1, 16); | |
mid = add_struc_member(id,"uniqueChipId", 0X520, 0x000400, -1, 16); | |
mid = add_struc_member(id,"bootDataVersion", 0X530, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"blockSizeLog2", 0X534, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"pageSizeLog2", 0X538, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"partitionSize", 0X53C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"numParamSets", 0X540, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"devType", 0X544, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"devParams", 0X548, 0x20000400, -1, 64); | |
mid = add_struc_member(id,"numSdramSets", 0X588, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"sdramParams", 0X58C, 0x000400, -1, 7584); | |
mid = add_struc_member(id,"numBootloaders", 0X232C, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"bootloaders", 0X2330, 0x60000400, get_struc_id("bootloaderInfo_t"), 1200); | |
mid = add_struc_member(id,"enableFailBack", 0X27E0, 0x000400, -1, 1); | |
mid = add_struc_member(id,"secureDebugControl", 0X27E4, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"secProvisioningKeyNumSecure", 0X27E8, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"reserved2", 0X27EC, 0x000400, -1, 12); | |
mid = add_struc_member(id,"padding", 0X27F8, 0x000400, -1, 5); | |
set_struc_align(id,2); | |
id = get_struc_id("bootloaderHeader_t"); | |
mid = add_struc_member(id,"isActive", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_0x4", 0X4, 0x000400, -1, 20); | |
set_struc_align(id,2); | |
id = get_struc_id("BIT_t"); | |
mid = add_struc_member(id,"_0x0", 0, 0x000400, -1, 76); | |
mid = add_struc_member(id,"bct", 0X4C, 0x25500400, 0XFFFFFFFF, 4, 0XFFFFFFFF, 0, 0x000002); | |
mid = add_struc_member(id,"bootloaderHeaders", 0X50, 0x60000400, get_struc_id("bootloaderHeader_t"), 96); | |
set_struc_align(id,2); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$74351EF23253E0B28D24A0867FCDD4BB"); | |
mid = add_struc_member(id,"deviceKey", 0, 0x000400, -1, 16); | |
mid = add_struc_member(id,"keyblobKey", 0X10, 0x000400, -1, 16); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$41977C36FC669A496A8D84212237D94F"); | |
mid = add_struc_member(id,"_0x0", 0, 0x000400, -1, 8); | |
mid = add_struc_member(id,"decryptedKeys", 0X8, 0x000400, -1, 144); | |
mid = add_struc_member(id,"_0x98", 0X98, 0x000400, -1, 8); | |
id = get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629"); | |
mid = add_struc_member(id,"anonymous_0", 0, 0x60000400, get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$74351EF23253E0B28D24A0867FCDD4BB"), 32); | |
mid = add_struc_member(id,"anonymous_1", 0, 0x60000400, get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629::$41977C36FC669A496A8D84212237D94F"), 160); | |
id = get_struc_id("keyGenerationBuffer"); | |
mid = add_struc_member(id,"anonymous_0", 0, 0x60000400, get_struc_id("keyGenerationBuffer::$9228D6E392E45DCE87B284151F3CF629"), 160); | |
id = get_struc_id("downgradeFuseData"); | |
mid = add_struc_member(id,"odmFuse7", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"odmFuse6", 0X4, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"retailFusesBurntMask", 0X8, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"odmFuse6Mask", 0XC, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"devFusesBurntMask", 0X10, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"_5", 0X14, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"isRetailUnit", 0X18, 0x20000400, -1, 4); | |
set_struc_align(id,2); | |
id = get_struc_id("fuseBurnInfo"); | |
mid = add_struc_member(id,"fusesBurnt7", 0, 0x20000400, -1, 4); | |
mid = add_struc_member(id,"fusesBurnt6", 0X4, 0x20000400, -1, 4); | |
set_struc_align(id,2); | |
return id; | |
} | |
//------------------------------------------------------------------------ | |
// Information about structure types | |
static Structures(void) { | |
auto id; | |
begin_type_updating(UTP_STRUCT); | |
id = Structures_0(id); | |
patch_byte (0X40012709, 0X20); | |
patch_byte (0X4001270A, 0X1); | |
patch_byte (0X4001270B, 0X70); | |
} | |
//------------------------------------------------------------------------ | |
// Information about bytes | |
static Bytes_0(void) { | |
auto x; | |
#define id x | |
MakeStruct (0X40000000, "BIT_t"); | |
set_name (0X40000000, "BIT"); | |
set_name (0X40007000, "__stack_bottom_"); | |
update_extra_cmt (0X40010000, E_PREV + 0, "; File Name : C:\\Users\\Michael\\Documents\\istorage\\819_4.0\\nx\\package1"); | |
update_extra_cmt (0X40010000, E_PREV + 1, "; Format : Binary file"); | |
update_extra_cmt (0X40010000, E_PREV + 2, "; Base Address: 0000h Range: 40010000h - 4003C220h Loaded length: 2C220h"); | |
create_strlit (0X40010010, 0X4001001F); | |
set_name (0X40010010, "a20170921172629"); | |
create_strlit (0X40010030, 0X4001003F); | |
set_name (0X40010030, "a20170921172629_0"); | |
create_insn (x=0X40010040); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010040, "crt0"); | |
set_cmt (0X40010044, "argc", 0); | |
create_insn (x=0X40010044); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40010048); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (0X40010050); | |
create_dword (x=0X40010054); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40010058); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40010058, "argc"); | |
create_insn (0X4001005C); | |
set_name (0X4001005C, "memcmp"); | |
create_insn (0X400100A2); | |
create_insn (0X400100AE); | |
create_insn (0X400100B2); | |
create_insn (0X400100D2); | |
set_name (0X400100D2, "coreCrypto"); | |
create_insn (x=0X400100D6); | |
op_stkvar (x, 1); | |
set_cmt (0X400100E2, "address", 0); | |
create_insn (x=0X400100E2); | |
op_stkvar (x, 1); | |
set_cmt (0X400100E4, "size", 0); | |
set_cmt (0X400100E6, "cryptoAddrInfo", 0); | |
set_cmt (0X400100EC, "size", 0); | |
set_cmt (0X400100EE, "address", 0); | |
set_cmt (0X400100F0, "cryptoAddrInfo", 0); | |
create_insn (x=0X400100F0); | |
op_stkvar (x, 1); | |
create_insn (x=0X400100FA); | |
op_stkvar (x, 1); | |
set_cmt (0X400100FE, "status", 0); | |
create_insn (x=0X400100FE); | |
op_stkvar (x, 1); | |
create_insn (0X4001011A); | |
set_name (0X4001011A, "setKeyslotFlags"); | |
create_insn (0X40010128); | |
create_insn (0X40010170); | |
set_name (0X40010170, "clearKeyslot"); | |
create_insn (0X4001017C); | |
create_insn (0X400101A4); | |
set_name (0X400101A4, "decryptSingleAESECBBlock"); | |
create_insn (x=0X400101A8); | |
op_stkvar (x, 1); | |
set_cmt (0X400101C4, "dst", 0); | |
create_insn (0X400101C4); | |
set_cmt (0X400101C6, "alg", 0); | |
set_cmt (0X400101CC, "enableHash", 0); | |
set_cmt (0X400101CE, "isEncrypt", 0); | |
set_cmt (0X400101D0, "keySlot", 0); | |
set_cmt (0X400101D6, "addressIn", 0); | |
create_insn (x=0X400101D6); | |
op_stkvar (x, 1); | |
set_cmt (0X400101D8, "sizeIn", 0); | |
set_cmt (0X400101DA, "sizeOut", 0); | |
set_cmt (0X400101DC, "addressOut", 0); | |
create_insn (0X400101EA); | |
set_name (0X400101EA, "performAESMAC"); | |
create_insn (x=0X400101EC); | |
op_stkvar (x, 1); | |
set_cmt (0X400101EE, "address_in", 0); | |
create_insn (x=0X400101EE); | |
op_stkvar (x, 1); | |
set_cmt (0X400101F0, "keySlot", 0); | |
set_cmt (0X400101F2, "zero", 0); | |
set_cmt (0X400101F4, "size_in", 0); | |
create_insn (x=0X400101F4); | |
op_stkvar (x, 1); | |
create_insn (0X40010200); | |
set_name (0X40010200, "coreCryptoFinalBlock"); | |
create_insn (x=0X4001021A); | |
op_stkvar (x, 1); | |
set_cmt (0X40010220, "size", 0); | |
set_cmt (0X40010222, "src", 0); | |
create_insn (x=0X40010228); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001022E); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010236); | |
op_stkvar (x, 1); | |
set_cmt (0X4001023C, "addressOut", 0); | |
set_cmt (0X40010240, "sizeOut", 0); | |
set_cmt (0X40010242, "sizeIn", 0); | |
create_insn (x=0X40010242); | |
op_stkvar (x, 1); | |
set_cmt (0X40010244, "addressIn", 0); | |
set_cmt (0X40010246, "status", 0); | |
create_insn (x=0X4001024C); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010252); | |
op_stkvar (x, 1); | |
set_cmt (0X40010258, "src", 0); | |
set_cmt (0X4001025A, "size", 0); | |
set_cmt (0X4001025C, "dst", 0); | |
create_insn (0X4001026A); | |
set_name (0X4001026A, "decryptDataIntoKeyslot"); | |
create_insn (0X40010284); | |
set_cmt (0X4001028A, "dst", 0); | |
set_cmt (0X4001028C, "alg", 0); | |
set_cmt (0X40010292, "enableHash", 0); | |
set_cmt (0X40010294, "isEncrypt", 0); | |
set_cmt (0X40010296, "keySlot", 0); | |
set_cmt (0X4001029C, "_DWORD", 0); | |
set_cmt (0X400102AC, "sizeOut", 0); | |
set_cmt (0X400102AE, "addressIn", 0); | |
create_insn (x=0X400102AE); | |
op_stkvar (x, 1); | |
set_cmt (0X400102B0, "addressOut", 0); | |
set_cmt (0X400102B2, "status", 0); | |
set_cmt (0X400102B4, "sizeIn", 0); | |
create_insn (x=0X400102B4); | |
op_stkvar (x, 1); | |
create_insn (0X400102C2); | |
set_name (0X400102C2, "encryptSingleAESECBBlock"); | |
create_insn (x=0X400102C6); | |
op_stkvar (x, 1); | |
create_insn (x=0X400102C8); | |
op_stkvar (x, 1); | |
set_cmt (0X400102E2, "dst", 0); | |
create_insn (0X400102E2); | |
set_cmt (0X400102E4, "alg", 0); | |
set_cmt (0X400102EA, "enableHash", 0); | |
set_cmt (0X400102EC, "isEncrypt", 0); | |
set_cmt (0X400102EE, "keySlot", 0); | |
set_cmt (0X400102F4, "configHigh", 0); | |
create_insn (x=0X400102F4); | |
op_stkvar (x, 1); | |
set_cmt (0X400102FA, "addressOut", 0); | |
create_insn (x=0X400102FA); | |
op_stkvar (x, 1); | |
set_cmt (0X400102FC, "sizeIn", 0); | |
set_cmt (0X400102FE, "addressIn", 0); | |
set_cmt (0X40010300, "sizeOut", 0); | |
create_insn (0X4001030E); | |
set_name (0X4001030E, "setCTR"); | |
set_cmt (0X4001031E, "offset", 0); | |
set_cmt (0X40010320, "dword", 0); | |
set_cmt (0X4001032E, "offset", 0); | |
set_cmt (0X40010330, "dword", 0); | |
set_cmt (0X4001033E, "offset", 0); | |
set_cmt (0X40010340, "dword", 0); | |
set_cmt (0X4001034E, "offset", 0); | |
set_cmt (0X40010350, "dword", 0); | |
create_insn (0X4001035E); | |
set_name (0X4001035E, "rotl128XorRb"); | |
create_insn (0X40010384); | |
set_name (0X40010384, "selectKeyslot"); | |
create_insn (0X400103A2); | |
set_name (0X400103A2, "setNumBlocks"); | |
create_insn (0X400103BA); | |
set_name (0X400103BA, "setSecurityEngineConfigHigh"); | |
create_insn (0X400103D4); | |
set_name (0X400103D4, "performAESMACInternal"); | |
set_cmt (0X400103D6, "size_in", 0); | |
create_insn (x=0X400103D8); | |
op_stkvar (x, 1); | |
create_insn (x=0X400103DA); | |
op_stkvar (x, 1); | |
create_insn (0X400103E4); | |
create_insn (x=0X400103FC); | |
op_stkvar (x, 1); | |
create_insn (x=0X400103FE); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010400); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010402); | |
op_stkvar (x, 1); | |
set_cmt (0X40010404, "size_out", 0); | |
set_cmt (0X40010406, "address_out", 0); | |
create_insn (x=0X40010406); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001040C); | |
op_stkvar (x, 1); | |
set_cmt (0X40010414, "result", 0); | |
create_insn (x=0X40010414); | |
op_stkvar (x, 1); | |
set_cmt (0X4001041E, "result", 0); | |
create_insn (x=0X4001041E); | |
op_stkvar (x, 1); | |
set_cmt (0X40010424, "dst", 0); | |
set_cmt (0X40010426, "alg", 0); | |
set_cmt (0X4001042C, "keySlot", 0); | |
create_insn (x=0X4001042C); | |
op_stkvar (x, 1); | |
set_cmt (0X4001042E, "enableHash", 0); | |
set_cmt (0X40010430, "isEncrypt", 0); | |
set_cmt (0X40010436, "configHigh", 0); | |
create_insn (x=0X40010436); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010442); | |
op_stkvar (x, 1); | |
set_cmt (0X40010466, "_DWORD", 0); | |
set_cmt (0X4001046C, "sizeOut", 0); | |
set_cmt (0X4001046E, "sizeIn", 0); | |
create_insn (x=0X4001046E); | |
op_stkvar (x, 1); | |
set_cmt (0X40010470, "addressIn", 0); | |
create_insn (x=0X40010470); | |
op_stkvar (x, 1); | |
set_cmt (0X40010472, "addressOut", 0); | |
set_cmt (0X40010474, "status", 0); | |
set_cmt (0X4001048A, "_DWORD", 0); | |
create_insn (x=0X40010492); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010498); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001049A); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001049C); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001049E); | |
op_stkvar (x, 1); | |
create_insn (x=0X400104A4); | |
op_stkvar (x, 1); | |
set_cmt (0X400104A6, "size", 0); | |
set_cmt (0X400104AA, "src", 0); | |
set_cmt (0X400104AC, "dst", 0); | |
create_insn (x=0X400104B4); | |
op_stkvar (x, 1); | |
set_cmt (0X400104C6, "sizeOut", 0); | |
set_cmt (0X400104C8, "sizeIn", 0); | |
create_insn (x=0X400104C8); | |
op_stkvar (x, 1); | |
set_cmt (0X400104CA, "addressOut", 0); | |
set_cmt (0X400104CC, "status", 0); | |
set_cmt (0X400104CE, "addressIn", 0); | |
create_insn (x=0X400104CE); | |
op_stkvar (x, 1); | |
create_insn (x=0X400104D4); | |
op_stkvar (x, 1); | |
create_insn (x=0X400104D6); | |
op_stkvar (x, 1); | |
create_insn (0X400104E6); | |
create_insn (0X400104EA); | |
set_cmt (0X400104EE, "value", 0); | |
set_cmt (0X400104F0, "address", 0); | |
create_insn (0X40010504); | |
set_name (0X40010504, "setAESConfig"); | |
create_insn (0X40010524); | |
set_name (0X40010524, "createCryptoAddressInfo"); | |
create_insn (0X40010532); | |
create_insn (0X40010538); | |
set_name (0X40010538, "setKeyslot"); | |
create_insn (0X4001054C); | |
create_insn (x=0X40010556); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010566); | |
op_stkvar (x, 1); | |
set_cmt (0X4001056E, "dword", 0); | |
create_insn (x=0X4001056E); | |
op_stkvar (x, 1); | |
create_insn (0X40010586); | |
set_name (0X40010586, "isUnitTypeNonZero"); | |
create_insn (0X40010598); | |
set_name (0X40010598, "isUnitTypeNonZeroDuplicate"); | |
create_insn (0X400105AA); | |
set_name (0X400105AA, "panic2"); | |
create_insn (0X400105AE); | |
set_name (0X400105AE, "writeOdmFuse"); | |
set_cmt (0X400105BE, "fuseNum", 0); | |
set_cmt (0X400105CA, "fuseNum", 0); | |
set_cmt (0X400105CC, "fuseVal", 0); | |
set_cmt (0X400105D8, "fuseVal", 0); | |
create_insn (0X400105D8); | |
set_name (0X400105D8, "writeOdmFuse7"); | |
set_cmt (0X400105DC, "fuseNum", 0); | |
set_cmt (0X400105E8, "fuseVal", 0); | |
create_insn (0X400105E8); | |
set_name (0X400105E8, "writeOdmFuse6"); | |
set_cmt (0X400105EC, "fuseNum", 0); | |
create_insn (0X400105F8); | |
set_name (0X400105F8, "writeFuse"); | |
set_cmt (0X40010600, "fuseIndexRaw", 0); | |
set_cmt (0X40010606, "fuseVal", 0); | |
set_cmt (0X40010608, "fuseIndexRaw", 0); | |
create_insn (0X40010614); | |
set_name (0X40010614, "getOdmFuse4Type"); | |
set_cmt (0X40010616, "a1", 0); | |
create_insn (0X4001064C); | |
create_insn (0X40010650); | |
create_insn (0X40010654); | |
create_insn (0X40010658); | |
set_name (0X40010658, "getUnitType"); | |
set_cmt (0X4001065A, "a1", 0); | |
create_insn (0X4001067E); | |
create_insn (0X40010682); | |
create_insn (0X40010686); | |
set_name (0X40010686, "checkSku"); | |
create_insn (0X40010694); | |
create_insn (0X4001069A); | |
set_name (0X4001069A, "checkOdmFuse6"); | |
create_insn (0X400106AA); | |
create_insn (0X400106AE); | |
set_name (0X400106AE, "checkBCTBootloadeVersion"); | |
create_insn (0X400106CA); | |
create_insn (0X400106E4); | |
set_name (0X400106E4, "checkConfigFuses"); | |
create_insn (0X4001071E); | |
create_insn (0X40010724); | |
set_name (0X40010724, "checkOdmFuse7"); | |
create_insn (0X40010730); | |
create_insn (0X40010734); | |
set_name (0X40010734, "decryptAndParsePK11"); | |
set_cmt (0X40010736, "sizeOut", 0); | |
create_insn (x=0X4001074A); | |
op_stkvar (x, 1); | |
set_cmt (0X4001074E, "addressIn", 0); | |
set_cmt (0X40010750, "keySlot", 0); | |
set_cmt (0X40010752, "addressOut", 0); | |
set_cmt (0X40010754, "sizeIn", 0); | |
create_insn (x=0X40010754); | |
op_stkvar (x, 1); | |
set_cmt (0X4001075A, "keySlot", 0); | |
set_cmt (0X40010760, "a2", 0); | |
set_cmt (0X40010762, "package_11_hdr", 0); | |
create_insn (0X40010778); | |
create_insn (0X4001077C); | |
set_name (0X4001077C, "getFuseDataMatchesExpectation"); | |
create_insn (0X40010786); | |
create_insn (0X4001079E); | |
create_insn (0X400107A2); | |
set_name (0X400107A2, "generateKeys"); | |
set_cmt (0X400107A6, "flags", 0); | |
set_cmt (0X400107A8, "keyslot", 0); | |
set_cmt (0X400107AE, "flags", 0); | |
set_cmt (0X400107B0, "keyslot", 0); | |
set_cmt (0X400107B6, "flags", 0); | |
set_cmt (0X400107B8, "keyslot", 0); | |
set_cmt (0X400107BE, "flags", 0); | |
set_cmt (0X400107C0, "keyslot", 0); | |
set_cmt (0X400107C6, "BIT", 0); | |
set_cmt (0X400107CC, "flags", 0); | |
set_cmt (0X400107CE, "keyslot", 0); | |
set_cmt (0X400107D4, "flags", 0); | |
set_cmt (0X400107D6, "keyslot", 0); | |
create_insn (0X400107E2); | |
set_name (0X400107E2, "memclear"); | |
create_insn (0X400107EE); | |
set_name (0X400107EE, "read32"); | |
create_insn (x=0X400107F0); | |
op_stkvar (x, 1); | |
create_insn (x=0X400107F2); | |
op_stkvar (x, 1); | |
create_insn (0X4001080E); | |
set_name (0X4001080E, "write32"); | |
create_insn (x=0X40010810); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010814); | |
op_stkvar (x, 1); | |
create_insn (0X40010828); | |
set_name (0X40010828, "launchPackage11"); | |
create_insn (0X4001083E); | |
set_name (0X4001083E, "launchFunction"); | |
create_insn (0X40010840); | |
set_name (0X40010840, "branchToR4"); | |
create_insn (0X40010842); | |
set_name (0X40010842, "nullsub_2"); | |
create_insn (0X40010844); | |
set_name (0X40010844, "j_panic"); | |
make_array (0X40010846, 0X2); | |
create_insn (x=0X40010848); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010848, "panic"); | |
create_dword (x=0X40010850); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010854); | |
set_name (0X40010854, "constTimeMemcmp"); | |
make_array (0X40010856, 0X2); | |
create_insn (0X40010858); | |
set_name (0X40010858, "__32constTimeMemcmp"); | |
create_insn (0X40010868); | |
create_insn (0X400108A0); | |
set_name (0X400108A0, "pivotStackLaunchFunction"); | |
create_insn (0X400108A4); | |
set_name (0X400108A4, "memcpy2"); | |
make_array (0X400108A6, 0X2); | |
create_insn (0X400108A8); | |
set_name (0X400108A8, "__32memcpy2"); | |
create_insn (x=0X400108B0); | |
op_hex (x, 1); | |
set_cmt (0X400108CC, "src", 0); | |
set_cmt (0X400108D4, "size", 0); | |
create_insn (x=0X400108DC); | |
op_hex (x, 1); | |
create_insn (0X4001091C); | |
create_insn (0X4001093C); | |
create_insn (0X4001097C); | |
set_name (0X4001097C, "memcpy"); | |
make_array (0X4001097E, 0X2); | |
create_insn (0X40010980); | |
set_name (0X40010980, "__32memcpy"); | |
create_insn (0X400109E4); | |
set_name (0X400109E4, "memclear3"); | |
make_array (0X400109E6, 0X2); | |
create_insn (0X400109E8); | |
set_name (0X400109E8, "__32memclear3"); | |
create_insn (x=0X400109F4); | |
op_hex (x, 1); | |
create_insn (0X40010A14); | |
create_insn (0X40010A28); | |
set_name (0X40010A28, "memclear2"); | |
make_array (0X40010A2A, 0X2); | |
create_insn (0X40010A2C); | |
set_name (0X40010A2C, "__32memclear2"); | |
create_insn (x=0X40010A74); | |
op_hex (x, 1); | |
create_insn (x=0X40010A80); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010A80, "verifySecurityEngineNotBusy"); | |
create_insn (0X40010A96); | |
create_dword (x=0X40010A9C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010AA0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010AA0, "disableSecurityEngineReads"); | |
create_dword (x=0X40010AC0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X40010AC4); | |
create_insn (0X40010AC8); | |
set_name (0X40010AC8, "AESCTRCrypt"); | |
create_insn (x=0X40010ACC); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010ACE); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010ADA); | |
op_stkvar (x, 1); | |
create_insn (0X40010AE4); | |
create_insn (x=0X40010AEE); | |
op_stkvar (x, 1); | |
set_cmt (0X40010AF8, "alg", 0); | |
set_cmt (0X40010AFC, "dst", 0); | |
set_cmt (0X40010B04, "keySlot", 0); | |
create_insn (x=0X40010B04); | |
op_stkvar (x, 1); | |
set_cmt (0X40010B06, "enableHash", 0); | |
set_cmt (0X40010B08, "isEncrypt", 0); | |
set_cmt (0X40010B0E, "ctr", 0); | |
create_insn (x=0X40010B0E); | |
op_stkvar (x, 1); | |
set_cmt (0X40010B18, "_DWORD", 0); | |
set_cmt (0X40010B1E, "addressIn", 0); | |
create_insn (x=0X40010B1E); | |
op_stkvar (x, 1); | |
set_cmt (0X40010B20, "addressOut", 0); | |
create_insn (x=0X40010B20); | |
op_stkvar (x, 1); | |
set_cmt (0X40010B22, "sizeOut", 0); | |
set_cmt (0X40010B24, "status", 0); | |
set_cmt (0X40010B26, "sizeIn", 0); | |
create_insn (x=0X40010B26); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010B2C); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010B3A); | |
op_stkvar (x, 1); | |
create_insn (x=0X40010B44); | |
op_stkvar (x, 1); | |
set_cmt (0X40010B46, "sizeOut", 0); | |
create_insn (x=0X40010B48); | |
op_stkvar (x, 1); | |
set_cmt (0X40010B4A, "addressIn", 0); | |
create_insn (x=0X40010B4C); | |
op_stkvar (x, 1); | |
set_cmt (0X40010B4E, "addressOut", 0); | |
create_dword (0X40010B5C); | |
create_insn (x=0X40010B60); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010B60, "getSecurityEngine"); | |
create_dword (x=0X40010B68); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010B6C); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010B6C, "setSecurityEngineAddress"); | |
create_dword (x=0X40010B74); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010B78); | |
set_name (0X40010B78, "checkSecurityEngineOperationSuceeded"); | |
create_insn (0X40010B9E); | |
create_dword (0X40010BA4); | |
create_insn (0X40010BA8); | |
set_name (0X40010BA8, "setOperationStatus"); | |
create_dword (0X40010BC4); | |
create_insn (0X40010BC8); | |
set_name (0X40010BC8, "clearSecurityEngine"); | |
create_insn (x=0X40010BCA); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010C08); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010C0C); | |
set_name (0X40010C0C, "enableDeviceClkRst"); | |
create_insn (x=0X40010C0E); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010C80); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010C84); | |
set_name (0X40010C84, "disableDeviceClkRst"); | |
create_insn (x=0X40010C86); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010CB8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010CBC); | |
set_name (0X40010CBC, "enableSEClkRst"); | |
set_cmt (0X40010CBE, "a1", 0); | |
create_insn (x=0X40010CBE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010CC8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010CCC); | |
set_name (0X40010CCC, "enableSor0ClkRst"); | |
set_cmt (0X40010CCE, "a1", 0); | |
create_insn (x=0X40010CCE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010CD8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010CDC); | |
set_name (0X40010CDC, "enableSor1ClkRst"); | |
set_cmt (0X40010CDE, "a1", 0); | |
create_insn (x=0X40010CDE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010CE8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010CEC); | |
set_name (0X40010CEC, "enableTsecClkRst"); | |
set_cmt (0X40010CEE, "a1", 0); | |
create_insn (x=0X40010CEE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010CF8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010CFC); | |
set_name (0X40010CFC, "disableSor0ClkRst"); | |
set_cmt (0X40010CFE, "a1", 0); | |
create_insn (x=0X40010CFE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010D08); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010D0C); | |
set_name (0X40010D0C, "disableSor1ClkRst"); | |
set_cmt (0X40010D0E, "a1", 0); | |
create_insn (x=0X40010D0E); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010D18); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010D1C); | |
set_name (0X40010D1C, "disableTsecClkRst"); | |
set_cmt (0X40010D1E, "a1", 0); | |
create_insn (x=0X40010D1E); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010D28); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010D2C); | |
set_name (0X40010D2C, "enableKFuseClkRst"); | |
create_insn (x=0X40010D2E); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40010D4C, "result", 0); | |
set_cmt (0X40010D58, "result", 0); | |
create_dword (x=0X40010D64); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010D68); | |
set_name (0X40010D68, "disableKFuseClkRst"); | |
set_cmt (0X40010D6A, "a1", 0); | |
create_insn (x=0X40010D6A); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010D74); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010D78); | |
set_name (0X40010D78, "enableHost1XClkRst"); | |
set_cmt (0X40010D7A, "a1", 0); | |
create_insn (x=0X40010D7A); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010D84); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010D88); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010D88, "enableMiscClk"); | |
create_dword (x=0X40010DA0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010DA4); | |
set_name (0X40010DA4, "disableHost1xClkRst"); | |
set_cmt (0X40010DA6, "a1", 0); | |
create_insn (x=0X40010DA6); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010DB0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010DB4); | |
set_name (0X40010DB4, "enableSorSafeClkRst"); | |
set_cmt (0X40010DB6, "a1", 0); | |
create_insn (x=0X40010DB6); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010DC0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010DC4); | |
set_name (0X40010DC4, "disableSorSafeClkRst"); | |
set_cmt (0X40010DC6, "a1", 0); | |
create_insn (x=0X40010DC6); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010DD0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010DD4); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010DD4, "setPMCRegAfterFuseWriting"); | |
set_cmt (0X40010DEA, "result", 0); | |
set_cmt (0X40010DF6, "result", 0); | |
create_dword (x=0X40010E04); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010E08); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010E08, "setPMCRegBeforeFuseWriting"); | |
set_cmt (0X40010E1E, "result", 0); | |
set_cmt (0X40010E2A, "result", 0); | |
create_dword (x=0X40010E38); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010E3C); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010E3C, "reboot"); | |
create_dword (x=0X40010E68); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X40010E6C); | |
create_dword (0X40010E70); | |
create_insn (x=0X40010E74); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010E74, "disableFuseWriteAccess"); | |
create_dword (x=0X40010E90); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010E94); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010E94, "readOdmReservedFuse"); | |
create_dword (x=0X40010EA4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010EA8); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010EA8, "getSku"); | |
create_dword (x=0X40010EB4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010EB8); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010EB8, "getODMReservedFuse7"); | |
create_dword (x=0X40010EC4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010EC8); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010EC8, "getODMReservedFuse6"); | |
create_dword (x=0X40010ED4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010ED8); | |
set_name (0X40010ED8, "writeFuseInternal"); | |
create_insn (x=0X40010EDC); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40010EFA, "result", 0); | |
create_insn (0X40010F0E); | |
create_dword (x=0X40010F14); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010F18); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010F18, "getBootromPatchVersion"); | |
create_dword (x=0X40010F28); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010F2C); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010F2C, "checkFuseCtrlBusy"); | |
create_insn (0X40010F3E); | |
create_dword (x=0X40010F44); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010F48); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010F48, "disableFuseProgramming"); | |
create_dword (x=0X40010F54); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010F58); | |
set_name (0X40010F58, "prepareToBurnFuses"); | |
create_insn (x=0X40010F5A); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40010F64, "result", 0); | |
create_insn (0X40010F7E); | |
create_dword (x=0X40010F9C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40010FA0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40010FA0, "isEKSProvisioned"); | |
create_dword (x=0X40010FB4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40010FB8); | |
set_name (0X40010FB8, "clearStack"); | |
set_cmt (0X40010FBC, "a1", 0); | |
create_insn (x=0X40010FBC); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40010FCC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40010FCC, "a1"); | |
create_insn (0X40010FD0); | |
set_name (0X40010FD0, "enableHwDevices"); | |
set_cmt (0X40011006, "result", 0); | |
set_cmt (0X40011096, "result", 0); | |
create_dword (x=0X40011140); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011144); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011148); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X4001114C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011150); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011154); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011158); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X4001115C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011160); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011164); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X40011168); | |
create_dword (0X4001116C); | |
create_dword (0X40011170); | |
create_dword (0X40011174); | |
create_dword (0X40011178); | |
create_dword (x=0X4001117C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X40011180); | |
create_dword (x=0X40011184); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40011188); | |
set_name (0X40011188, "clearStage2Payload"); | |
set_cmt (0X4001118A, "a2", 0); | |
set_cmt (0X4001118C, "a1", 0); | |
create_insn (x=0X4001118C); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (0X40011198); | |
set_name (0X40011198, "a2"); | |
create_dword (x=0X4001119C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X400111A0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (0X400111A8); | |
create_dword (x=0X400111C8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X400111CC); | |
set_name (0X400111CC, "downgradeFuseCheck"); | |
set_cmt (0X400111D0, "src", 0); | |
create_insn (x=0X400111D0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X400111D2, "size", 0); | |
set_cmt (0X400111D4, "dst", 0); | |
create_insn (x=0X400111DE); | |
op_stkvar (x, 1); | |
create_insn (x=0X400111E4); | |
op_stkvar (x, 1); | |
create_insn (x=0X400111EC); | |
op_stkvar (x, 1); | |
set_cmt (0X400111EE, "a1", 0); | |
set_cmt (0X400111F8, "a1", 0); | |
set_cmt (0X40011216, "downgradeData", 0); | |
set_cmt (0X40011218, "fuseBurnInfo", 0); | |
create_insn (x=0X40011218); | |
op_stkvar (x, 1); | |
create_insn (0X4001122A); | |
set_cmt (0X4001122E, "val", 0); | |
create_insn (x=0X4001122E); | |
op_stkvar (x, 1); | |
set_cmt (0X40011234, "val", 0); | |
create_insn (x=0X40011234); | |
op_stkvar (x, 1); | |
create_insn (0X40011248); | |
create_dword (x=0X40011258); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40011258, "src"); | |
create_dword (x=0X4001125C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011260); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40011264); | |
set_name (0X40011264, "generateKeysFromBITAddress"); | |
set_cmt (0X4001126C, "keyAreaAddress", 0); | |
create_insn (x=0X4001126E); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011270); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011272, "secondKeySeed", 0); | |
create_insn (x=0X40011272); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011276, "secondKeySeedSize", 0); | |
create_insn (x=0X40011276); | |
op_stkvar (x, 1); | |
create_insn (x=0X40011278); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X4001127A); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X4001127C, "masterStaticKeySeedSize", 0); | |
set_cmt (0X4001127E, "masterStaticKeySeed", 0); | |
create_insn (x=0X4001127E); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X4001128C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011290); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40011290, "secondKeySeed"); | |
create_dword (x=0X40011294); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011298); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40011298, "masterStaticKeySeed"); | |
create_insn (0X4001129C); | |
set_name (0X4001129C, "isValidPK11Header"); | |
set_cmt (0X400112A2, "a3", 0); | |
create_insn (x=0X400112A4); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (0X400112E4); | |
create_strlit (0X400112E8, 0X400112ED); | |
set_name (0X400112E8, "aPk11"); | |
create_insn (0X400112F0); | |
set_name (0X400112F0, "generateKeysFromKeyblobAndKeyseeds"); | |
set_cmt (0X400112FA, "deviceKeySize", 0); | |
set_cmt (0X400112FC, "deviceKeyOut", 0); | |
create_insn (x=0X400112FC); | |
op_stkvar (x, 1); | |
set_cmt (0X40011302, "keySize", 0); | |
set_cmt (0X40011304, "keyslotNum", 0); | |
set_cmt (0X40011306, "key", 0); | |
create_insn (x=0X40011306); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001130C); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X4001130E); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011310, "address_in", 0); | |
set_cmt (0X40011314, "size_in", 0); | |
create_insn (x=0X40011314); | |
op_stkvar (x, 1); | |
set_cmt (0X40011316, "keyslot", 0); | |
set_cmt (0X40011318, "size_out", 0); | |
set_cmt (0X4001131A, "address_out", 0); | |
create_insn (x=0X4001131A); | |
op_stkvar (x, 1); | |
set_cmt (0X40011320, "keySize", 0); | |
set_cmt (0X40011322, "keySlot", 0); | |
set_cmt (0X40011324, "keySlotToSet", 0); | |
set_cmt (0X40011326, "encryptedKey", 0); | |
create_insn (x=0X40011326); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001132C); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X4001132E); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011330, "address_in", 0); | |
set_cmt (0X40011334, "size_in", 0); | |
create_insn (x=0X40011334); | |
op_stkvar (x, 1); | |
set_cmt (0X40011336, "keyslot", 0); | |
set_cmt (0X40011338, "size_out", 0); | |
set_cmt (0X4001133A, "address_out", 0); | |
create_insn (x=0X4001133A); | |
op_stkvar (x, 1); | |
set_cmt (0X40011340, "keySize", 0); | |
set_cmt (0X40011342, "keySlot", 0); | |
set_cmt (0X40011344, "keySlotToSet", 0); | |
set_cmt (0X40011346, "encryptedKey", 0); | |
create_insn (x=0X40011346); | |
op_stkvar (x, 1); | |
set_cmt (0X4001134C, "keySlot", 0); | |
create_insn (x=0X40011352); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011354); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011356, "encryptedKey", 0); | |
set_cmt (0X40011358, "keySize", 0); | |
set_cmt (0X4001135A, "keySlot", 0); | |
set_cmt (0X4001135C, "keySlotToSet", 0); | |
set_cmt (0X40011366, "address_in", 0); | |
set_cmt (0X40011368, "sizeIn", 0); | |
create_insn (x=0X40011368); | |
op_stkvar (x, 1); | |
set_cmt (0X4001136C, "keySlot", 0); | |
set_cmt (0X4001136E, "size_out", 0); | |
set_cmt (0X40011370, "address_out", 0); | |
create_insn (x=0X40011370); | |
op_stkvar (x, 1); | |
set_cmt (0X40011376, "size", 0); | |
set_cmt (0X40011378, "b", 0); | |
set_cmt (0X4001137A, "a", 0); | |
create_insn (x=0X4001137A); | |
op_stkvar (x, 1); | |
set_cmt (0X40011386, "sizeOut", 0); | |
set_cmt (0X4001138E, "ctrSize", 0); | |
create_insn (x=0X4001138E); | |
op_stkvar (x, 1); | |
set_cmt (0X40011390, "addressIn", 0); | |
set_cmt (0X40011392, "keySlot", 0); | |
set_cmt (0X40011394, "addressOut", 0); | |
create_insn (x=0X40011394); | |
op_stkvar (x, 1); | |
set_cmt (0X4001139A, "keySize", 0); | |
set_cmt (0X4001139C, "keyslotNum", 0); | |
set_cmt (0X4001139E, "key", 0); | |
create_insn (x=0X4001139E); | |
op_stkvar (x, 1); | |
set_cmt (0X400113A4, "keySize", 0); | |
set_cmt (0X400113A6, "keyslotNum", 0); | |
set_cmt (0X400113A8, "key", 0); | |
create_insn (x=0X400113A8); | |
op_stkvar (x, 1); | |
set_cmt (0X400113AE, "a2", 0); | |
set_cmt (0X400113B0, "a1", 0); | |
create_insn (x=0X400113B0); | |
op_stkvar (x, 1); | |
set_cmt (0X400113B6, "keySize", 0); | |
create_insn (x=0X400113B6); | |
op_stkvar (x, 1); | |
set_cmt (0X400113B8, "encryptedKey", 0); | |
set_cmt (0X400113BA, "keySlot", 0); | |
set_cmt (0X400113BC, "keySlotToSet", 0); | |
set_cmt (0X400113C2, "keySlot", 0); | |
set_cmt (0X400113C4, "encryptedKey", 0); | |
create_insn (x=0X400113C4); | |
op_stkvar (x, 1); | |
set_cmt (0X400113C6, "keySize", 0); | |
set_cmt (0X400113C8, "keySlotToSet", 0); | |
create_insn (x=0X400113CE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400113D0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X400113D2, "encryptedKey", 0); | |
set_cmt (0X400113D4, "keySize", 0); | |
set_cmt (0X400113D6, "keySlot", 0); | |
set_cmt (0X400113D8, "keySlotToSet", 0); | |
create_insn (x=0X400113DE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400113E0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X400113E2, "encryptedKey", 0); | |
set_cmt (0X400113E4, "keySize", 0); | |
set_cmt (0X400113E6, "keySlot", 0); | |
set_cmt (0X400113E8, "keySlotToSet", 0); | |
create_insn (0X400113F6); | |
create_dword (x=0X400113FC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011400); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40011400, "address_in"); | |
create_dword (x=0X40011404); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011408); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X4001140C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011410); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40011410, "encryptedKey"); | |
create_dword (x=0X40011414); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011418); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X4001141C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011420); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40011424); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40011424, "clearDataAndBSS"); | |
create_insn (x=0X40011426); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X4001142A, "a2", 0); | |
set_cmt (0X4001142C, "result", 0); | |
create_insn (x=0X4001142C); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011432); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011434); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011436, "a2", 0); | |
set_cmt (0X40011438, "result", 0); | |
create_insn (x=0X40011438); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X40011444); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011448); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40011448, "result"); | |
create_dword (x=0X4001144C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011450); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40011454); | |
set_name (0X40011454, "enableMemoryControllers"); | |
set_cmt (0X40011492, "result", 0); | |
create_dword (x=0X400114C4); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400114C8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400114CC); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X400114D0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X400114D4); | |
create_insn (0X400114D8); | |
set_name (0X400114D8, "getDeviceKeyFromFalcon"); | |
create_insn (x=0X40011518); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011528, "a3", 0); | |
set_cmt (0X4001152A, "a2", 0); | |
set_cmt (0X4001152C, "a1", 0); | |
create_insn (0X4001156A); | |
create_insn (x=0X40011580); | |
op_stkvar (x, 1); | |
create_insn (x=0X40011588); | |
op_stkvar (x, 1); | |
create_insn (x=0X4001158E); | |
op_stkvar (x, 1); | |
create_insn (x=0X40011594); | |
op_stkvar (x, 1); | |
create_insn (x=0X400115A2); | |
op_stkvar (x, 1); | |
create_insn (x=0X400115A4); | |
op_stkvar (x, 1); | |
create_insn (x=0X400115A8); | |
op_stkvar (x, 1); | |
create_insn (x=0X400115AA); | |
op_stkvar (x, 1); | |
set_cmt (0X400115B0, "size", 0); | |
set_cmt (0X400115B2, "dst", 0); | |
set_cmt (0X400115B4, "src", 0); | |
create_insn (0X400115DA); | |
create_dword (x=0X400115E8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X400115EC); | |
create_dword (x=0X400115F0); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X400115F4); | |
create_dword (x=0X400115F8); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (0X400115FC); | |
create_dword (0X40011600); | |
create_dword (x=0X40011604); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40011608); | |
set_name (0X40011608, "waitFalconDmaIdle"); | |
create_insn (0X40011616); | |
create_insn (0X40011628); | |
create_dword (0X40011630); | |
create_dword (x=0X40011634); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40011638); | |
set_name (0X40011638, "loadFalconFirm"); | |
create_insn (0X4001165A); | |
create_dword (x=0X40011660); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40011664); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40011664, "readTimer"); | |
create_dword (x=0X4001166C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (x=0X40011670); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_name (0X40011670, "wait"); | |
create_insn (0X4001167A); | |
create_dword (x=0X40011684); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_insn (0X40011688); | |
set_name (0X40011688, "main"); | |
create_insn (x=0X4001168A); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X4001168C); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X4001168E); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X40011692); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X40011694); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X40011696); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X40011698); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X4001169A); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X4001169C); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X4001169E); | |
op_plain_offset (x, 1, 0X6000F200); | |
op_plain_offset (x, 129, 0X6000F200); | |
create_insn (x=0X400116A0); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (0X400116B2); | |
create_insn (x=0X400116BC); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400116BE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (0X400116C2); | |
set_cmt (0X400116C4, "a1", 0); | |
set_cmt (0X400116D8, "_DWORD", 0); | |
set_cmt (0X400116DE, "securityEngine", 0); | |
create_insn (x=0X400116DE); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_insn (x=0X400116E8); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X400116F4, "BIT", 0); | |
set_cmt (0X40011702, "BIT", 0); | |
set_cmt (0X40011708, "package11", 0); | |
create_insn (x=0X40011708); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X4001170E, "a3", 0); | |
create_insn (x=0X4001170E); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
set_cmt (0X40011710, "void (__fastcall *)(void *)", 0); | |
create_insn (x=0X40011710); | |
op_plain_offset (x, 1, 0); | |
op_plain_offset (x, 129, 0); | |
create_dword (x=0X4001171C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011720); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011724); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011728); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X4001172C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011730); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011734); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40011738); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40011738, "package11"); | |
create_dword (x=0X4001173C); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X4001173C, "a3"); | |
create_dword (x=0X40011740); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
MakeStruct (0X40011744, "downgradeFuseData"); | |
set_name (0X40011744, "__rodata_start_"); | |
set_name (0X40011760, "host1XClkRstOffset"); | |
set_name (0X40011770, "kFuseClkRstOffset"); | |
set_name (0X40011780, "SeClkRstOffset"); | |
set_name (0X40011790, "sor0ClkRstOffset"); | |
set_name (0X400117A0, "sor1ClkRstOffset"); | |
set_name (0X400117B0, "sorSafeClkRstOffset"); | |
set_name (0X400117C0, "tsecClkRstOffset"); | |
set_name (0X40011800, "falconFirmware"); | |
create_dword (x=0X40012700); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40012700, "__data_start_"); | |
create_dword (x=0X40012704); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40012704, "fuseCtrlOffset"); | |
create_dword (x=0X40012708); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
set_name (0X40012708, "securityEngineAddress"); | |
create_dword (x=0X40012710); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40012714); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_dword (x=0X40012718); | |
op_plain_offset (x, 0, 0); | |
op_plain_offset (x, 128, 0); | |
create_byte (0X4001271C); | |
make_array (0X4001271C, 0X10); | |
set_name (0X4001271C, "keyD1_deviceKeyAndSBKProtected"); | |
create_byte (0X4001272C); | |
make_array (0X4001272C, 0X10); | |
set_name (0X4001272C, "keyD2_keyD1Protected"); | |
set_name (0X4001273C, "masterStaticKeyseedRetail"); | |
set_name (0X4001274C, "secondStaticKeySeed"); | |
create_byte (x=0X4001275C); | |
make_array (x, 0X10); | |
op_hex (x, 0); | |
set_name (0X4001275C, "keyblobKeySeed4"); | |
set_name (0X4001276C, "keyD3_keyD1Protected"); | |
set_name (0X4001277C, "aesMacKey_keyD1Protected"); | |
set_name (0X4001278C, "__bss_start_"); | |
set_name (0X40013FE0, "stage2PayloadSize"); | |
create_dword (0X60005010); | |
set_name (0X60005010, "NV_PA_TMRUS_BASE"); | |
create_dword (0X6000F200); | |
set_name (0X6000F200, "VECTOR_RESET"); | |
create_dword (0X6000F204); | |
set_name (0X6000F204, "VECTOR_UNDEF"); | |
create_dword (0X6000F208); | |
set_name (0X6000F208, "VECTOR_SWI"); | |
create_dword (0X6000F20C); | |
set_name (0X6000F20C, "VECTOR_PREFETCH_ABORT"); | |
create_dword (0X6000F210); | |
set_name (0X6000F210, "VECTOR_DATA_ABORT"); | |
create_dword (0X6000F214); | |
set_name (0X6000F214, "VECTOR_UNK"); | |
create_dword (0X6000F218); | |
set_name (0X6000F218, "VECTOR_IRQ"); | |
create_dword (0X6000F21C); | |
set_name (0X6000F21C, "VECTOR_FIQ"); | |
set_name (0X7000F800, "FUSE_CTRL"); | |
set_name (0X7000F804, "FUSE_REG_ADDR"); | |
set_name (0X7000F80C, "FUSE_REG_WRITE"); | |
set_name (0X7000F81C, "FUSE_TIME_PGM2"); | |
set_name (0X7000F82C, "FUSE_DIS_PGM"); | |
set_name (0X7000F830, "FUSE_WRITE_ACCESS"); | |
set_name (0X7000F910, "FUSE_SKU_INFO"); | |
set_name (0X7000F9E0, "FUSE_RESERVED_ODM6"); | |
set_name (0X7000F9E4, "FUSE_RESERVED_ODM7"); | |
set_name (0X7000FB94, "FUSE_SPARE_BIT_5"); | |
MakeStruct (0X70012000, "securityEngine_t"); | |
set_name (0X70012000, "securityEngine"); | |
} | |
static Functions_0(void) { | |
add_func (0X40010040,0X40010050); | |
set_func_flags(0X40010040,0x401); | |
SetType(0X40010040, "void __fastcall __noreturn crt0();"); | |
add_func (0X4001005C,0X400100D2); | |
set_func_flags(0X4001005C,0x400); | |
SetType(0X4001005C, "int __fastcall memcmp(_DWORD *a1, _DWORD *a2, unsigned int a3);"); | |
set_frame_size(0X4001005C, 0X4, 0, 0); | |
add_func (0X400100D2,0X4001011A); | |
set_func_flags(0X400100D2,0x400); | |
SetType(0X400100D2, "void __fastcall coreCrypto(int status, char *addressOut, int sizeOut, const char *addressIn, int sizeIn);"); | |
set_frame_size(0X400100D2, 0X40, 0, 0); | |
define_local_var(0X400100D2, 0X4001011A, "[bp-0X40]", "inputAddrInfo"); | |
define_local_var(0X400100D2, 0X4001011A, "[bp-0X34]", "outputAddrInfo"); | |
define_local_var(0X400100D2, 0X4001011A, "[bp-0X24]", "status"); | |
define_local_var(0X400100D2, 0X4001011A, "[bp-0X18]", "address"); | |
define_local_var(0X400100D2, 0X4001011A, "[bp+0]", "sizeIn"); | |
add_func (0X4001011A,0X40010170); | |
set_func_flags(0X4001011A,0x400); | |
SetType(0X4001011A, "void __fastcall setKeyslotFlags(KEYSLOT_TYPE keyslot, int flags);"); | |
set_frame_size(0X4001011A, 0X10, 0, 0); | |
add_func (0X40010170,0X400101A4); | |
set_func_flags(0X40010170,0x400); | |
SetType(0X40010170, "void __fastcall clearKeyslot(KEYSLOT_TYPE keySlot);"); | |
set_frame_size(0X40010170, 0X8, 0, 0); | |
add_func (0X400101A4,0X400101EA); | |
set_func_flags(0X400101A4,0x400); | |
SetType(0X400101A4, "void __fastcall decryptSingleAESECBBlock(char *address_out, int size_out, KEYSLOT_TYPE keyslot, const char *address_in, int size_in);"); | |
set_frame_size(0X400101A4, 0X28, 0, 0); | |
define_local_var(0X400101A4, 0X400101EA, "[bp-0X18]", "addressIn"); | |
define_local_var(0X400101A4, 0X400101EA, "[bp+0]", "size_in"); | |
add_func (0X400101EA,0X40010200); | |
set_func_flags(0X400101EA,0x400); | |
SetType(0X400101EA, "void __fastcall performAESMAC(char *address_out, int size_out, KEYSLOT_TYPE keySlot, const char *address_in, int size_in);"); | |
set_frame_size(0X400101EA, 0X10, 0, 0); | |
define_local_var(0X400101EA, 0X40010200, "[bp-0X10]", "address_in"); | |
define_local_var(0X400101EA, 0X40010200, "[bp+0]", "size_in"); | |
add_func (0X40010200,0X4001026A); | |
set_func_flags(0X40010200,0x400); | |
SetType(0X40010200, "void __fastcall coreCryptoFinalBlock(char *addressOut, int sizeOut, const char *addressIn, int sizeIn);"); | |
set_frame_size(0X40010200, 0X30, 0, 0); | |
define_local_var(0X40010200, 0X4001026A, "[bp-0X30]", "sizeIn"); | |
add_func (0X4001026A,0X400102C2); | |
set_func_flags(0X4001026A,0x400); | |
SetType(0X4001026A, "void __fastcall decryptDataIntoKeyslot(KEYSLOT_TYPE keySlotToSet, KEYSLOT_TYPE keySlot, const char *encryptedKey, unsigned int keySize);"); | |
set_frame_size(0X4001026A, 0X28, 0, 0); | |
define_local_var(0X4001026A, 0X400102C2, "[bp-0X28]", "sizeIn"); | |
define_local_var(0X4001026A, 0X400102C2, "[bp-0X1C]", "addressIn"); | |
add_func (0X400102C2,0X4001030E); | |
set_func_flags(0X400102C2,0x400); | |
SetType(0X400102C2, "void __fastcall encryptSingleAESECBBlock(char *address_out, int size_out, KEYSLOT_TYPE keyslot, const char *address_in, int size_in);"); | |
set_frame_size(0X400102C2, 0X28, 0, 0); | |
define_local_var(0X400102C2, 0X4001030E, "[bp-0X24]", "addressOut"); | |
define_local_var(0X400102C2, 0X4001030E, "[bp-0X1C]", "configHigh"); | |
define_local_var(0X400102C2, 0X4001030E, "[bp+0]", "size_in"); | |
add_func (0X4001030E,0X4001035E); | |
set_func_flags(0X4001030E,0x400); | |
SetType(0X4001030E, "void __fastcall setCTR(const char *ctr);"); | |
set_frame_size(0X4001030E, 0X10, 0, 0); | |
add_func (0X4001035E,0X40010384); | |
set_func_flags(0X4001035E,0x400); | |
SetType(0X4001035E, "void __fastcall rotl128XorRb(char *result);"); | |
set_frame_size(0X4001035E, 0X4, 0, 0); | |
add_func (0X40010384,0X400103A2); | |
set_func_flags(0X40010384,0x400); | |
SetType(0X40010384, "void __fastcall selectKeyslot(KEYSLOT_TYPE keySlot, CORE_CRYPT_TYPE isEncrypt, CORE_HASH_TYPE enableHash);"); | |
set_frame_size(0X40010384, 0X10, 0, 0); | |
add_func (0X400103A2,0X400103BA); | |
set_func_flags(0X400103A2,0x400); | |
SetType(0X400103A2, "void __fastcall setNumBlocks(_DWORD);"); | |
set_frame_size(0X400103A2, 0X8, 0, 0); | |
add_func (0X400103BA,0X400103D4); | |
set_func_flags(0X400103BA,0x400); | |
SetType(0X400103BA, "void __fastcall setSecurityEngineConfigHigh(int configHigh);"); | |
set_frame_size(0X400103BA, 0X8, 0, 0); | |
add_func (0X400103D4,0X40010504); | |
set_func_flags(0X400103D4,0x400); | |
SetType(0X400103D4, "void __fastcall performAESMACInternal(char *address_out, int size_out, int zero, KEYSLOT_TYPE keySlot, const char *address_in, int size_in);"); | |
set_frame_size(0X400103D4, 0X50, 0, 0); | |
define_local_var(0X400103D4, 0X40010504, "[bp-0X50]", "sizeIn"); | |
define_local_var(0X400103D4, 0X40010504, "[bp-0X48]", "K1"); | |
define_local_var(0X400103D4, 0X40010504, "[bp-0X38]", "lastBlock"); | |
define_local_var(0X400103D4, 0X40010504, "[bp-0X1C]", "configHigh"); | |
define_local_var(0X400103D4, 0X40010504, "[bp-0X18]", "keySlot"); | |
define_local_var(0X400103D4, 0X40010504, "[bp+0]", "address_in"); | |
define_local_var(0X400103D4, 0X40010504, "[bp+0X4]", "size_in"); | |
add_func (0X40010504,0X40010524); | |
set_func_flags(0X40010504,0x400); | |
SetType(0X40010504, "void __fastcall setAESConfig(ALG_TYPE alg, DST_TYPE dst);"); | |
set_frame_size(0X40010504, 0X10, 0, 0); | |
add_func (0X40010524,0X40010538); | |
set_func_flags(0X40010524,0x400); | |
SetType(0X40010524, "void __fastcall createCryptoAddressInfo(CryptoAddrInfo *cryptoAddrInfo, unsigned int address, unsigned int size);"); | |
add_func (0X40010538,0X40010586); | |
set_func_flags(0X40010538,0x400); | |
SetType(0X40010538, "void __fastcall setKeyslot(KEYSLOT_TYPE keyslotNum, const char *key, unsigned int keySize);"); | |
set_frame_size(0X40010538, 0X28, 0, 0); | |
define_local_var(0X40010538, 0X40010586, "[bp-0X28]", "CTRL_REG"); | |
define_local_var(0X40010538, 0X40010586, "[bp-0X1C]", "dword"); | |
add_func (0X40010586,0X40010598); | |
set_func_flags(0X40010586,0x400); | |
SetType(0X40010586, "bool isUnitTypeNonZero(void);"); | |
set_frame_size(0X40010586, 0X8, 0, 0); | |
add_func (0X40010598,0X400105AA); | |
set_func_flags(0X40010598,0x400); | |
SetType(0X40010598, "bool isUnitTypeNonZeroDuplicate(void);"); | |
set_frame_size(0X40010598, 0X8, 0, 0); | |
add_func (0X400105AA,0X400105AE); | |
set_func_flags(0X400105AA,0x401); | |
SetType(0X400105AA, "void __noreturn panic2(void);"); | |
add_func (0X400105AE,0X400105D8); | |
set_func_flags(0X400105AE,0x400); | |
SetType(0X400105AE, "void __fastcall writeOdmFuse(int fuseNum, unsigned int fuseVal);"); | |
set_frame_size(0X400105AE, 0X10, 0, 0); | |
add_func (0X400105D8,0X400105E8); | |
set_func_flags(0X400105D8,0x400); | |
SetType(0X400105D8, "void __fastcall writeOdmFuse7(unsigned int val);"); | |
set_frame_size(0X400105D8, 0X8, 0, 0); | |
add_func (0X400105E8,0X400105F8); | |
set_func_flags(0X400105E8,0x400); | |
SetType(0X400105E8, "void __fastcall writeOdmFuse6(unsigned int val);"); | |
set_frame_size(0X400105E8, 0X8, 0, 0); | |
add_func (0X400105F8,0X40010614); | |
set_func_flags(0X400105F8,0x400); | |
SetType(0X400105F8, "void __fastcall writeFuse(unsigned int fuseIndexRaw, unsigned int fuseVal);"); | |
set_frame_size(0X400105F8, 0X10, 0, 0); | |
add_func (0X40010614,0X40010658); | |
set_func_flags(0X40010614,0x400); | |
SetType(0X40010614, "int __cdecl getOdmFuse4Type();"); | |
set_frame_size(0X40010614, 0X4, 0, 0); | |
add_func (0X40010658,0X40010686); | |
set_func_flags(0X40010658,0x400); | |
SetType(0X40010658, "unsigned int __fastcall getUnitType();"); | |
set_frame_size(0X40010658, 0X4, 0, 0); | |
add_func (0X40010686,0X4001069A); | |
set_func_flags(0X40010686,0x400); | |
SetType(0X40010686, "void __cdecl checkSku();"); | |
set_frame_size(0X40010686, 0X8, 0, 0); | |
add_func (0X4001069A,0X400106AE); | |
set_func_flags(0X4001069A,0x400); | |
SetType(0X4001069A, "bool __fastcall checkOdmFuse6(downgradeFuseData *fuseData);"); | |
add_func (0X400106AE,0X400106E4); | |
set_func_flags(0X400106AE,0x400); | |
SetType(0X400106AE, "void __fastcall checkBCTBootloadeVersion(BIT_t *BIT);"); | |
set_frame_size(0X400106AE, 0X8, 0, 0); | |
add_func (0X400106E4,0X40010724); | |
set_func_flags(0X400106E4,0x400); | |
SetType(0X400106E4, "void __cdecl checkConfigFuses();"); | |
set_frame_size(0X400106E4, 0X10, 0, 0); | |
add_func (0X40010724,0X40010734); | |
set_func_flags(0X40010724,0x400); | |
SetType(0X40010724, "bool __fastcall checkOdmFuse7(downgradeFuseData *fuseData);"); | |
add_func (0X40010734,0X4001077C); | |
set_func_flags(0X40010734,0x400); | |
SetType(0X40010734, "char *__fastcall decryptAndParsePK11(char *package11);"); | |
set_frame_size(0X40010734, 0X18, 0, 0); | |
define_local_var(0X40010734, 0X4001077C, "[bp-0X18]", "sizeIn"); | |
add_func (0X4001077C,0X400107A2); | |
set_func_flags(0X4001077C,0x400); | |
SetType(0X4001077C, "bool __fastcall getFuseDataMatchesExpectation(fuseBurnInfo *fuseBurnInfo, downgradeFuseData *downgradeData);"); | |
add_func (0X400107A2,0X400107E2); | |
set_func_flags(0X400107A2,0x400); | |
SetType(0X400107A2, "void __fastcall generateKeys(BIT_t *BIT);"); | |
set_frame_size(0X400107A2, 0X8, 0, 0); | |
add_func (0X400107E2,0X400107EE); | |
set_func_flags(0X400107E2,0x400); | |
SetType(0X400107E2, "void __fastcall memclear(char *a1, unsigned int a2);"); | |
set_frame_size(0X400107E2, 0X8, 0, 0); | |
add_func (0X400107EE,0X4001080E); | |
set_func_flags(0X400107EE,0x400); | |
SetType(0X400107EE, "unsigned int __fastcall read32(const char *dword, unsigned int offset);"); | |
set_frame_size(0X400107EE, 0X4, 0, 0); | |
add_func (0X4001080E,0X40010828); | |
set_func_flags(0X4001080E,0x400); | |
SetType(0X4001080E, "void __fastcall write32(char *address, int offset, unsigned int value);"); | |
set_frame_size(0X4001080E, 0X4, 0, 0); | |
add_func (0X40010828,0X4001083E); | |
set_func_flags(0X40010828,0x401); | |
SetType(0X40010828, "void __cdecl __noreturn launchPackage11();"); | |
set_frame_size(0X40010828, 0X8, 0, 0); | |
add_func (0X4001083E,0X40010840); | |
set_func_flags(0X4001083E,0x480); | |
SetType(0X4001083E, "void __fastcall launchFunction(void (__fastcall *a1)(void *));"); | |
add_func (0X40010840,0X40010842); | |
set_func_flags(0X40010840,0x480); | |
SetType(0X40010840, "int __cdecl branchToR4(void (__fastcall *)(void *));"); | |
add_func (0X40010842,0X40010844); | |
set_func_flags(0X40010842,0x440); | |
SetType(0X40010842, "void __cdecl nullsub_2();"); | |
add_func (0X40010844,0X40010848); | |
set_func_flags(0X40010844,0x4c1); | |
SetType(0X40010844, "void __cdecl __noreturn j_panic();"); | |
add_func (0X40010848,0X40010850); | |
set_func_flags(0X40010848,0x400); | |
SetType(0X40010848, "void __cdecl panic();"); | |
add_func (0X40010854,0X40010858); | |
set_func_flags(0X40010854,0x480); | |
SetType(0X40010854, "bool __fastcall constTimeMemcmp(const char *a, const char *b, unsigned int size);"); | |
add_func (0X40010858,0X400108A0); | |
set_func_flags(0X40010858,0x400); | |
SetType(0X40010858, "bool __fastcall _32constTimeMemcmp(unsigned __int8 *a, unsigned __int8 *b, unsigned int size);"); | |
set_frame_size(0X40010858, 0XC, 0, 0); | |
add_func (0X400108A0,0X400108A4); | |
set_func_flags(0X400108A0,0x401); | |
SetType(0X400108A0, "void __cdecl __noreturn pivotStackLaunchFunction(void *a1, void (__fastcall *)(void *), void *a3);"); | |
add_func (0X400108A4,0X400108A8); | |
set_func_flags(0X400108A4,0x480); | |
SetType(0X400108A4, "void __fastcall memcpy2(char *dst, const char *src, unsigned int size);"); | |
add_func (0X400108A8,0X4001097C); | |
set_func_flags(0X400108A8,0x400); | |
SetType(0X400108A8, "void __fastcall _32memcpy2(char *dst, const char *src, unsigned int size);"); | |
add_func (0X4001097C,0X40010980); | |
set_func_flags(0X4001097C,0x480); | |
SetType(0X4001097C, "void __fastcall memcpy(char *dst, const char *src, unsigned int size);"); | |
add_func (0X40010980,0X400109E4); | |
set_func_flags(0X40010980,0x400); | |
SetType(0X40010980, "void __fastcall _32memcpy(char *dst, const char *src, unsigned int size);"); | |
set_frame_size(0X40010980, 0X8, 0, 0); | |
add_func (0X400109E4,0X400109E8); | |
set_func_flags(0X400109E4,0x480); | |
SetType(0X400109E4, "void __fastcall memclear3(_BYTE *result, unsigned int a2);"); | |
add_func (0X400109E8,0X40010A28); | |
set_func_flags(0X400109E8,0x400); | |
SetType(0X400109E8, "void __fastcall _32memclear3(_BYTE *result, unsigned int a2);"); | |
add_func (0X40010A28,0X40010A2C); | |
set_func_flags(0X40010A28,0x480); | |
SetType(0X40010A28, "void __fastcall memclear2(_BYTE *a1, int a2);"); | |
add_func (0X40010A2C,0X40010A80); | |
set_func_flags(0X40010A2C,0x400); | |
SetType(0X40010A2C, "void __fastcall _32memclear2(_BYTE *a1, int a2);"); | |
set_frame_size(0X40010A2C, 0X4, 0, 0); | |
add_func (0X40010A80,0X40010A9C); | |
set_func_flags(0X40010A80,0x400); | |
SetType(0X40010A80, "void __cdecl verifySecurityEngineNotBusy();"); | |
set_frame_size(0X40010A80, 0X8, 0, 0); | |
add_func (0X40010AA0,0X40010AC0); | |
set_func_flags(0X40010AA0,0x400); | |
SetType(0X40010AA0, "void __cdecl disableSecurityEngineReads();"); | |
add_func (0X40010AC8,0X40010B5C); | |
set_func_flags(0X40010AC8,0x400); | |
SetType(0X40010AC8, "void __fastcall AESCTRCrypt(char *addressOut, unsigned int sizeOut, KEYSLOT_TYPE keySlot, const char *addressIn, unsigned int sizeIn, const char *ctr, int ctrSize);"); | |
set_frame_size(0X40010AC8, 0X30, 0, 0); | |
define_local_var(0X40010AC8, 0X40010B5C, "[bp-0X30]", "remainingBytes2"); | |
define_local_var(0X40010AC8, 0X40010B5C, "[bp-0X2C]", "remainingBytes"); | |
define_local_var(0X40010AC8, 0X40010B5C, "[bp-0X24]", "addressOut"); | |
define_local_var(0X40010AC8, 0X40010B5C, "[bp-0X1C]", "keySlot"); | |
define_local_var(0X40010AC8, 0X40010B5C, "[bp-0X18]", "addressIn"); | |
define_local_var(0X40010AC8, 0X40010B5C, "[bp+0]", "sizeIn"); | |
define_local_var(0X40010AC8, 0X40010B5C, "[bp+0X4]", "ctr"); | |
define_local_var(0X40010AC8, 0X40010B5C, "[bp+0X8]", "ctrSize"); | |
add_func (0X40010B60,0X40010B66); | |
set_func_flags(0X40010B60,0x400); | |
SetType(0X40010B60, "securityEngine_t *__cdecl getSecurityEngine();"); | |
add_func (0X40010B6C,0X40010B72); | |
set_func_flags(0X40010B6C,0x400); | |
SetType(0X40010B6C, "void __fastcall setSecurityEngineAddress(securityEngine_t *securityEngine);"); | |
add_func (0X40010B78,0X40010BA4); | |
set_func_flags(0X40010B78,0x400); | |
SetType(0X40010B78, "void __cdecl checkSecurityEngineOperationSuceeded();"); | |
set_frame_size(0X40010B78, 0X8, 0, 0); | |
add_func (0X40010BA8,0X40010BC4); | |
set_func_flags(0X40010BA8,0x400); | |
SetType(0X40010BA8, "void __fastcall setOperationStatus(unsigned int status);"); | |
set_frame_size(0X40010BA8, 0X8, 0, 0); | |
add_func (0X40010BC8,0X40010C08); | |
set_func_flags(0X40010BC8,0x400); | |
SetType(0X40010BC8, "void __cdecl clearSecurityEngine();"); | |
set_frame_size(0X40010BC8, 0X8, 0, 0); | |
add_func (0X40010C0C,0X40010C7E); | |
set_func_flags(0X40010C0C,0x400); | |
SetType(0X40010C0C, "void __fastcall enableDeviceClkRst(_BYTE *a1);"); | |
set_frame_size(0X40010C0C, 0X10, 0, 0); | |
add_func (0X40010C84,0X40010CB8); | |
set_func_flags(0X40010C84,0x400); | |
SetType(0X40010C84, "void __fastcall disableDeviceClkRst(_BYTE *a1);"); | |
set_frame_size(0X40010C84, 0XC, 0, 0); | |
add_func (0X40010CBC,0X40010CC8); | |
set_func_flags(0X40010CBC,0x400); | |
SetType(0X40010CBC, "void __cdecl enableSEClkRst();"); | |
set_frame_size(0X40010CBC, 0X4, 0, 0); | |
add_func (0X40010CCC,0X40010CD8); | |
set_func_flags(0X40010CCC,0x400); | |
SetType(0X40010CCC, "void __cdecl enableSor0ClkRst();"); | |
set_frame_size(0X40010CCC, 0X4, 0, 0); | |
add_func (0X40010CDC,0X40010CE8); | |
set_func_flags(0X40010CDC,0x400); | |
SetType(0X40010CDC, "void __cdecl enableSor1ClkRst();"); | |
set_frame_size(0X40010CDC, 0X4, 0, 0); | |
add_func (0X40010CEC,0X40010CF8); | |
set_func_flags(0X40010CEC,0x400); | |
SetType(0X40010CEC, "void __cdecl enableTsecClkRst();"); | |
set_frame_size(0X40010CEC, 0X4, 0, 0); | |
add_func (0X40010CFC,0X40010D08); | |
set_func_flags(0X40010CFC,0x400); | |
SetType(0X40010CFC, "void __cdecl disableSor0ClkRst();"); | |
set_frame_size(0X40010CFC, 0X4, 0, 0); | |
add_func (0X40010D0C,0X40010D18); | |
set_func_flags(0X40010D0C,0x400); | |
SetType(0X40010D0C, "void __cdecl disableSor1ClkRst();"); | |
set_frame_size(0X40010D0C, 0X4, 0, 0); | |
add_func (0X40010D1C,0X40010D28); | |
set_func_flags(0X40010D1C,0x400); | |
SetType(0X40010D1C, "void __cdecl disableTsecClkRst();"); | |
set_frame_size(0X40010D1C, 0X4, 0, 0); | |
add_func (0X40010D2C,0X40010D64); | |
set_func_flags(0X40010D2C,0x400); | |
SetType(0X40010D2C, "void __cdecl enableKFuseClkRst();"); | |
set_frame_size(0X40010D2C, 0X10, 0, 0); | |
add_func (0X40010D68,0X40010D74); | |
set_func_flags(0X40010D68,0x400); | |
SetType(0X40010D68, "void __cdecl disableKFuseClkRst();"); | |
set_frame_size(0X40010D68, 0X4, 0, 0); | |
add_func (0X40010D78,0X40010D84); | |
set_func_flags(0X40010D78,0x400); | |
SetType(0X40010D78, "void __cdecl enableHost1XClkRst();"); | |
set_frame_size(0X40010D78, 0X4, 0, 0); | |
add_func (0X40010D88,0X40010D9E); | |
set_func_flags(0X40010D88,0x400); | |
SetType(0X40010D88, "void __fastcall enableMiscClk(_DWORD);"); | |
add_func (0X40010DA4,0X40010DB0); | |
set_func_flags(0X40010DA4,0x400); | |
SetType(0X40010DA4, "void __cdecl disableHost1xClkRst();"); | |
set_frame_size(0X40010DA4, 0X4, 0, 0); | |
add_func (0X40010DB4,0X40010DC0); | |
set_func_flags(0X40010DB4,0x400); | |
SetType(0X40010DB4, "void __cdecl enableSorSafeClkRst();"); | |
set_frame_size(0X40010DB4, 0X4, 0, 0); | |
add_func (0X40010DC4,0X40010DD0); | |
set_func_flags(0X40010DC4,0x400); | |
SetType(0X40010DC4, "void __cdecl disableSorSafeClkRst();"); | |
set_frame_size(0X40010DC4, 0X4, 0, 0); | |
add_func (0X40010DD4,0X40010E02); | |
set_func_flags(0X40010DD4,0x400); | |
SetType(0X40010DD4, "void __cdecl setPMCRegAfterFuseWriting();"); | |
set_frame_size(0X40010DD4, 0X8, 0, 0); | |
add_func (0X40010E08,0X40010E36); | |
set_func_flags(0X40010E08,0x400); | |
SetType(0X40010E08, "void __cdecl setPMCRegBeforeFuseWriting();"); | |
set_frame_size(0X40010E08, 0X8, 0, 0); | |
add_func (0X40010E3C,0X40010E68); | |
set_func_flags(0X40010E3C,0x401); | |
SetType(0X40010E3C, "void __noreturn reboot(void);"); | |
add_func (0X40010E74,0X40010E8E); | |
set_func_flags(0X40010E74,0x400); | |
SetType(0X40010E74, "void __cdecl disableFuseWriteAccess();"); | |
set_frame_size(0X40010E74, 0X8, 0, 0); | |
add_func (0X40010E94,0X40010EA4); | |
set_func_flags(0X40010E94,0x400); | |
SetType(0X40010E94, "unsigned int __fastcall readOdmReservedFuse(int a1);"); | |
add_func (0X40010EA8,0X40010EB4); | |
set_func_flags(0X40010EA8,0x400); | |
SetType(0X40010EA8, "unsigned int __cdecl getSku();"); | |
add_func (0X40010EB8,0X40010EC4); | |
set_func_flags(0X40010EB8,0x400); | |
SetType(0X40010EB8, "int getODMReservedFuse7(void);"); | |
add_func (0X40010EC8,0X40010ED4); | |
set_func_flags(0X40010EC8,0x400); | |
SetType(0X40010EC8, "int __cdecl getODMReservedFuse6();"); | |
add_func (0X40010ED8,0X40010F12); | |
set_func_flags(0X40010ED8,0x400); | |
SetType(0X40010ED8, "void __fastcall writeFuseInternal(unsigned int fuseIndex, unsigned int fuseVal);"); | |
set_frame_size(0X40010ED8, 0X10, 0, 0); | |
add_func (0X40010F18,0X40010F28); | |
set_func_flags(0X40010F18,0x400); | |
SetType(0X40010F18, "unsigned __int8 __cdecl getBootromPatchVersion();"); | |
add_func (0X40010F2C,0X40010F42); | |
set_func_flags(0X40010F2C,0x400); | |
SetType(0X40010F2C, "bool checkFuseCtrlBusy(void);"); | |
add_func (0X40010F48,0X40010F52); | |
set_func_flags(0X40010F48,0x400); | |
SetType(0X40010F48, "void __fastcall disableFuseProgramming();"); | |
add_func (0X40010F58,0X40010F9C); | |
set_func_flags(0X40010F58,0x400); | |
SetType(0X40010F58, "void prepareToBurnFuses(void);"); | |
set_frame_size(0X40010F58, 0X10, 0, 0); | |
add_func (0X40010FA0,0X40010FB2); | |
set_func_flags(0X40010FA0,0x400); | |
SetType(0X40010FA0, "bool __fastcall isEKSProvisioned();"); | |
add_func (0X40010FB8,0X40010FCA); | |
set_func_flags(0X40010FB8,0x400); | |
SetType(0X40010FB8, "void __fastcall clearStack();"); | |
set_frame_size(0X40010FB8, 0X8, 0, 0); | |
add_func (0X40010FD0,0X4001113E); | |
set_func_flags(0X40010FD0,0x400); | |
SetType(0X40010FD0, "void __cdecl enableHwDevices();"); | |
set_frame_size(0X40010FD0, 0X18, 0, 0); | |
add_func (0X40011188,0X40011198); | |
set_func_flags(0X40011188,0x400); | |
SetType(0X40011188, "void __cdecl clearStage2Payload();"); | |
set_frame_size(0X40011188, 0X8, 0, 0); | |
add_func (0X400111CC,0X40011258); | |
set_func_flags(0X400111CC,0x400); | |
SetType(0X400111CC, "void __fastcall downgradeFuseCheck();"); | |
set_frame_size(0X400111CC, 0X38, 0, 0); | |
define_local_var(0X400111CC, 0X40011258, "[bp-0X38]", "downgradeData"); | |
define_local_var(0X400111CC, 0X40011258, "[bp-0X1C]", "fuseBurnInfo"); | |
add_func (0X40011264,0X4001128A); | |
set_func_flags(0X40011264,0x400); | |
SetType(0X40011264, "void __fastcall generateKeysFromBITAddress(BIT_t *BIT);"); | |
set_frame_size(0X40011264, 0X8, 0, 0); | |
define_local_var(0X40011264, 0X4001128A, "[bp-0X8]", "secondKeySeedSize"); | |
add_func (0X4001129C,0X400112E8); | |
set_func_flags(0X4001129C,0x400); | |
SetType(0X4001129C, "bool __fastcall isValidPK11Header(_DWORD *package11Header, unsigned int package11Size);"); | |
set_frame_size(0X4001129C, 0X10, 0, 0); | |
add_func (0X400112F0,0X400113FA); | |
set_func_flags(0X400112F0,0x400); | |
SetType(0X400112F0, "void __fastcall generateKeysFromKeyblobAndKeyseeds(const keyblob_t *keyAreaAddress, const char *masterStaticKeySeed, int masterStaticKeySeedSize, const char *secondKeySeed, int secondKeySeedSize);"); | |
set_frame_size(0X400112F0, 0XC0, 0, 0); | |
define_local_var(0X400112F0, 0X400113FA, "[bp-0XC0]", "size_in"); | |
define_local_var(0X400112F0, 0X400113FA, "[bp-0XBC]", "address_out"); | |
define_local_var(0X400112F0, 0X400113FA, "[bp-0XB8]", "ctrSize"); | |
define_local_var(0X400112F0, 0X400113FA, "[bp-0XB4]", "decryptedKeyArea"); | |
define_local_var(0X400112F0, 0X400113FA, "[bp-0XAC]", "deviceKeyOut"); | |
define_local_var(0X400112F0, 0X400113FA, "[bp-0X34]", "package11Key"); | |
define_local_var(0X400112F0, 0X400113FA, "[bp-0X20]", "encryptedKey"); | |
define_local_var(0X400112F0, 0X400113FA, "[bp+0]", "keySize"); | |
add_func (0X40011424,0X40011444); | |
set_func_flags(0X40011424,0x400); | |
SetType(0X40011424, "void __fastcall clearDataAndBSS();"); | |
set_frame_size(0X40011424, 0X8, 0, 0); | |
add_func (0X40011454,0X400114C4); | |
set_func_flags(0X40011454,0x400); | |
SetType(0X40011454, "void __cdecl enableMemoryControllers();"); | |
set_frame_size(0X40011454, 0X8, 0, 0); | |
add_func (0X400114D8,0X400115E6); | |
set_func_flags(0X400114D8,0x400); | |
SetType(0X400114D8, "void __fastcall getDeviceKeyFromFalcon(char *deviceKeyOut, unsigned int deviceKeySize);"); | |
set_frame_size(0X400114D8, 0X30, 0, 0); | |
define_local_var(0X400114D8, 0X400115E6, "[bp-0X30]", "deviceKey"); | |
define_local_var(0X400114D8, 0X400115E6, "[bp-0X20]", "defaultDeviceKeySize"); | |
add_func (0X40011608,0X4001162E); | |
set_func_flags(0X40011608,0x400); | |
SetType(0X40011608, "void __cdecl waitFalconDmaIdle();"); | |
set_frame_size(0X40011608, 0X10, 0, 0); | |
add_func (0X40011638,0X4001165E); | |
set_func_flags(0X40011638,0x400); | |
SetType(0X40011638, "void __fastcall loadFalconFirm(int a1, int a2, int a3);"); | |
set_frame_size(0X40011638, 0X8, 0, 0); | |
add_func (0X40011664,0X4001166C); | |
set_func_flags(0X40011664,0x400); | |
SetType(0X40011664, "unsigned int __cdecl readTimer();"); | |
add_func (0X40011670,0X40011684); | |
set_func_flags(0X40011670,0x400); | |
SetType(0X40011670, "unsigned int __fastcall wait(unsigned int result);"); | |
add_func (0X40011688,0X40011716); | |
set_func_flags(0X40011688,0x401); | |
SetType(0X40011688, "void __cdecl main();"); | |
set_frame_size(0X40011688, 0X10, 0, 0); | |
} | |
//------------------------------------------------------------------------ | |
// Information about functions | |
static Functions(void) { | |
Functions_0(); | |
} | |
//------------------------------------------------------------------------ | |
// Information about segment registers | |
static SegRegs(void) { | |
split_sreg_range(0X40000000,"T",0,3); | |
split_sreg_range(0X40006000,"T",0,3); | |
split_sreg_range(0X40007000,"T",0,3); | |
split_sreg_range(0X40010000,"T",0,3); | |
split_sreg_range(0X40010050,"T",0,3); | |
split_sreg_range(0X4001005C,"T",0X1,3); | |
split_sreg_range(0X40010066,"T",0X1,3); | |
split_sreg_range(0X4001009E,"T",0X1,3); | |
split_sreg_range(0X400100A2,"T",0X1,3); | |
split_sreg_range(0X400100AE,"T",0X1,3); | |
split_sreg_range(0X400100B2,"T",0X1,3); | |
split_sreg_range(0X400100BE,"T",0X1,3); | |
split_sreg_range(0X400100CE,"T",0X1,3); | |
split_sreg_range(0X400100D2,"T",0X1,3); | |
split_sreg_range(0X40010108,"T",0X1,3); | |
split_sreg_range(0X4001011A,"T",0X1,3); | |
split_sreg_range(0X40010128,"T",0X1,3); | |
split_sreg_range(0X4001014A,"T",0X1,3); | |
split_sreg_range(0X4001016A,"T",0X1,3); | |
split_sreg_range(0X40010170,"T",0X1,3); | |
split_sreg_range(0X4001017C,"T",0X1,3); | |
split_sreg_range(0X4001018E,"T",0X1,3); | |
split_sreg_range(0X400101A4,"T",0X1,3); | |
split_sreg_range(0X400101C0,"T",0X1,3); | |
split_sreg_range(0X400101C4,"T",0X1,3); | |
split_sreg_range(0X400101E2,"T",0X1,3); | |
split_sreg_range(0X400101EA,"T",0X1,3); | |
split_sreg_range(0X40010200,"T",0X1,3); | |
split_sreg_range(0X4001026A,"T",0X1,3); | |
split_sreg_range(0X40010280,"T",0X1,3); | |
split_sreg_range(0X40010284,"T",0X1,3); | |
split_sreg_range(0X400102C2,"T",0X1,3); | |
split_sreg_range(0X400102DE,"T",0X1,3); | |
split_sreg_range(0X400102E2,"T",0X1,3); | |
split_sreg_range(0X40010306,"T",0X1,3); | |
split_sreg_range(0X4001030E,"T",0X1,3); | |
split_sreg_range(0X4001035E,"T",0X1,3); | |
split_sreg_range(0X40010364,"T",0X1,3); | |
split_sreg_range(0X40010380,"T",0X1,3); | |
split_sreg_range(0X40010384,"T",0X1,3); | |
split_sreg_range(0X400103A2,"T",0X1,3); | |
split_sreg_range(0X400103BA,"T",0X1,3); | |
split_sreg_range(0X400103D4,"T",0X1,3); | |
split_sreg_range(0X400103E4,"T",0X1,3); | |
split_sreg_range(0X400103FA,"T",0X1,3); | |
split_sreg_range(0X40010424,"T",0X1,3); | |
split_sreg_range(0X40010452,"T",0X1,3); | |
split_sreg_range(0X4001048A,"T",0X1,3); | |
split_sreg_range(0X400104A4,"T",0X1,3); | |
split_sreg_range(0X400104B6,"T",0X1,3); | |
split_sreg_range(0X400104E6,"T",0X1,3); | |
split_sreg_range(0X400104EA,"T",0X1,3); | |
split_sreg_range(0X400104F8,"T",0X1,3); | |
split_sreg_range(0X40010504,"T",0X1,3); | |
split_sreg_range(0X40010524,"T",0X1,3); | |
split_sreg_range(0X40010532,"T",0X1,3); | |
split_sreg_range(0X40010538,"T",0X1,3); | |
split_sreg_range(0X40010548,"T",0X1,3); | |
split_sreg_range(0X4001054C,"T",0X1,3); | |
split_sreg_range(0X40010566,"T",0X1,3); | |
split_sreg_range(0X4001057A,"T",0X1,3); | |
split_sreg_range(0X40010586,"T",0X1,3); | |
split_sreg_range(0X40010592,"T",0X1,3); | |
split_sreg_range(0X40010598,"T",0X1,3); | |
split_sreg_range(0X400105A4,"T",0X1,3); | |
split_sreg_range(0X400105AA,"T",0X1,3); | |
split_sreg_range(0X400105AE,"T",0X1,3); | |
split_sreg_range(0X400105C4,"T",0X1,3); | |
split_sreg_range(0X400105D2,"T",0X1,3); | |
split_sreg_range(0X400105D8,"T",0X1,3); | |
split_sreg_range(0X400105E8,"T",0X1,3); | |
split_sreg_range(0X400105F8,"T",0X1,3); | |
split_sreg_range(0X40010614,"T",0X1,3); | |
split_sreg_range(0X40010648,"T",0X1,3); | |
split_sreg_range(0X4001064C,"T",0X1,3); | |
split_sreg_range(0X40010650,"T",0X1,3); | |
split_sreg_range(0X40010654,"T",0X1,3); | |
split_sreg_range(0X40010658,"T",0X1,3); | |
split_sreg_range(0X4001067A,"T",0X1,3); | |
split_sreg_range(0X4001067E,"T",0X1,3); | |
split_sreg_range(0X40010682,"T",0X1,3); | |
split_sreg_range(0X40010686,"T",0X1,3); | |
split_sreg_range(0X40010694,"T",0X1,3); | |
split_sreg_range(0X4001069A,"T",0X1,3); | |
split_sreg_range(0X400106A6,"T",0X1,3); | |
split_sreg_range(0X400106AA,"T",0X1,3); | |
split_sreg_range(0X400106AE,"T",0X1,3); | |
split_sreg_range(0X400106B4,"T",0X1,3); | |
split_sreg_range(0X400106C6,"T",0X1,3); | |
split_sreg_range(0X400106CA,"T",0X1,3); | |
split_sreg_range(0X400106E4,"T",0X1,3); | |
split_sreg_range(0X4001071A,"T",0X1,3); | |
split_sreg_range(0X4001071E,"T",0X1,3); | |
split_sreg_range(0X40010724,"T",0X1,3); | |
split_sreg_range(0X40010730,"T",0X1,3); | |
split_sreg_range(0X40010734,"T",0X1,3); | |
split_sreg_range(0X40010778,"T",0X1,3); | |
split_sreg_range(0X4001077C,"T",0X1,3); | |
split_sreg_range(0X40010786,"T",0X1,3); | |
split_sreg_range(0X40010788,"T",0X1,3); | |
split_sreg_range(0X4001079A,"T",0X1,3); | |
split_sreg_range(0X4001079E,"T",0X1,3); | |
split_sreg_range(0X400107A2,"T",0X1,3); | |
split_sreg_range(0X400107E2,"T",0X1,3); | |
split_sreg_range(0X400107EE,"T",0X1,3); | |
split_sreg_range(0X4001080E,"T",0X1,3); | |
split_sreg_range(0X40010828,"T",0X1,3); | |
split_sreg_range(0X4001083E,"T",0X1,3); | |
split_sreg_range(0X40010840,"T",0X1,3); | |
split_sreg_range(0X40010842,"T",0X1,3); | |
split_sreg_range(0X40010844,"T",0X1,3); | |
split_sreg_range(0X40010848,"T",0,3); | |
split_sreg_range(0X40010854,"T",0X1,3); | |
split_sreg_range(0X40010858,"T",0,3); | |
split_sreg_range(0X40010868,"T",0,3); | |
split_sreg_range(0X40010884,"T",0,3); | |
split_sreg_range(0X400108A0,"T",0X1,3); | |
split_sreg_range(0X400108A4,"T",0X1,3); | |
split_sreg_range(0X400108A8,"T",0,3); | |
split_sreg_range(0X400108DC,"T",0,3); | |
split_sreg_range(0X400108FC,"T",0,3); | |
split_sreg_range(0X4001091C,"T",0,3); | |
split_sreg_range(0X4001093C,"T",0,3); | |
split_sreg_range(0X4001095C,"T",0,3); | |
split_sreg_range(0X4001097C,"T",0X1,3); | |
split_sreg_range(0X40010980,"T",0,3); | |
split_sreg_range(0X4001098C,"T",0,3); | |
split_sreg_range(0X400109A4,"T",0,3); | |
split_sreg_range(0X400109E4,"T",0X1,3); | |
split_sreg_range(0X400109E8,"T",0,3); | |
split_sreg_range(0X40010A14,"T",0,3); | |
split_sreg_range(0X40010A28,"T",0X1,3); | |
split_sreg_range(0X40010A2C,"T",0,3); | |
split_sreg_range(0X40010A30,"T",0,3); | |
split_sreg_range(0X40010A44,"T",0,3); | |
split_sreg_range(0X40010A80,"T",0X1,3); | |
split_sreg_range(0X40010A96,"T",0X1,3); | |
split_sreg_range(0X40010AA0,"T",0X1,3); | |
split_sreg_range(0X40010AC8,"T",0X1,3); | |
split_sreg_range(0X40010AE0,"T",0X1,3); | |
split_sreg_range(0X40010AE4,"T",0X1,3); | |
split_sreg_range(0X40010B2C,"T",0X1,3); | |
split_sreg_range(0X40010B46,"T",0X1,3); | |
split_sreg_range(0X40010B54,"T",0X1,3); | |
split_sreg_range(0X40010B60,"T",0X1,3); | |
split_sreg_range(0X40010B6C,"T",0X1,3); | |
split_sreg_range(0X40010B78,"T",0X1,3); | |
split_sreg_range(0X40010B9A,"T",0X1,3); | |
split_sreg_range(0X40010B9E,"T",0X1,3); | |
split_sreg_range(0X40010BA8,"T",0X1,3); | |
split_sreg_range(0X40010BC8,"T",0X1,3); | |
split_sreg_range(0X40010BD4,"T",0X1,3); | |
split_sreg_range(0X40010BEA,"T",0X1,3); | |
split_sreg_range(0X40010C0C,"T",0X1,3); | |
split_sreg_range(0X40010C52,"T",0X1,3); | |
split_sreg_range(0X40010C84,"T",0X1,3); | |
split_sreg_range(0X40010CBC,"T",0X1,3); | |
split_sreg_range(0X40010CCC,"T",0X1,3); | |
split_sreg_range(0X40010CDC,"T",0X1,3); | |
split_sreg_range(0X40010CEC,"T",0X1,3); | |
split_sreg_range(0X40010CFC,"T",0X1,3); | |
split_sreg_range(0X40010D0C,"T",0X1,3); | |
split_sreg_range(0X40010D1C,"T",0X1,3); | |
split_sreg_range(0X40010D2C,"T",0X1,3); | |
split_sreg_range(0X40010D68,"T",0X1,3); | |
split_sreg_range(0X40010D78,"T",0X1,3); | |
split_sreg_range(0X40010D88,"T",0X1,3); | |
split_sreg_range(0X40010DA4,"T",0X1,3); | |
split_sreg_range(0X40010DB4,"T",0X1,3); | |
split_sreg_range(0X40010DC4,"T",0X1,3); | |
split_sreg_range(0X40010DD4,"T",0X1,3); | |
split_sreg_range(0X40010E08,"T",0X1,3); | |
split_sreg_range(0X40010E3C,"T",0X1,3); | |
split_sreg_range(0X40010E66,"T",0X1,3); | |
split_sreg_range(0X40010E74,"T",0X1,3); | |
split_sreg_range(0X40010E94,"T",0X1,3); | |
split_sreg_range(0X40010EA8,"T",0X1,3); | |
split_sreg_range(0X40010EB8,"T",0X1,3); | |
split_sreg_range(0X40010EC8,"T",0X1,3); | |
split_sreg_range(0X40010ED8,"T",0X1,3); | |
split_sreg_range(0X40010F00,"T",0X1,3); | |
split_sreg_range(0X40010F0E,"T",0X1,3); | |
split_sreg_range(0X40010F18,"T",0X1,3); | |
split_sreg_range(0X40010F2C,"T",0X1,3); | |
split_sreg_range(0X40010F3E,"T",0X1,3); | |
split_sreg_range(0X40010F48,"T",0X1,3); | |
split_sreg_range(0X40010F58,"T",0X1,3); | |
split_sreg_range(0X40010F74,"T",0X1,3); | |
split_sreg_range(0X40010F7E,"T",0X1,3); | |
split_sreg_range(0X40010FA0,"T",0X1,3); | |
split_sreg_range(0X40010FB8,"T",0X1,3); | |
split_sreg_range(0X40010FD0,"T",0X1,3); | |
split_sreg_range(0X40011188,"T",0X1,3); | |
split_sreg_range(0X400111A0,"T",0,3); | |
split_sreg_range(0X400111A8,"T",0X1,3); | |
split_sreg_range(0X400111C2,"T",0X1,3); | |
split_sreg_range(0X400111CC,"T",0X1,3); | |
split_sreg_range(0X40011216,"T",0X1,3); | |
split_sreg_range(0X40011226,"T",0X1,3); | |
split_sreg_range(0X4001122A,"T",0X1,3); | |
split_sreg_range(0X40011248,"T",0X1,3); | |
split_sreg_range(0X40011250,"T",0X1,3); | |
split_sreg_range(0X40011264,"T",0X1,3); | |
split_sreg_range(0X4001129C,"T",0X1,3); | |
split_sreg_range(0X400112DC,"T",0X1,3); | |
split_sreg_range(0X400112DE,"T",0X1,3); | |
split_sreg_range(0X400112E4,"T",0X1,3); | |
split_sreg_range(0X400112F0,"T",0X1,3); | |
split_sreg_range(0X400113F6,"T",0X1,3); | |
split_sreg_range(0X40011424,"T",0X1,3); | |
split_sreg_range(0X40011454,"T",0X1,3); | |
split_sreg_range(0X4001147C,"T",0X1,3); | |
split_sreg_range(0X400114D8,"T",0X1,3); | |
split_sreg_range(0X40011528,"T",0X1,3); | |
split_sreg_range(0X4001156A,"T",0X1,3); | |
split_sreg_range(0X400115B0,"T",0X1,3); | |
split_sreg_range(0X400115DA,"T",0X1,3); | |
split_sreg_range(0X400115DE,"T",0X1,3); | |
split_sreg_range(0X400115E2,"T",0X1,3); | |
split_sreg_range(0X40011608,"T",0X1,3); | |
split_sreg_range(0X40011616,"T",0X1,3); | |
split_sreg_range(0X40011620,"T",0X1,3); | |
split_sreg_range(0X40011628,"T",0X1,3); | |
split_sreg_range(0X40011638,"T",0X1,3); | |
split_sreg_range(0X40011642,"T",0X1,3); | |
split_sreg_range(0X4001165A,"T",0X1,3); | |
split_sreg_range(0X40011664,"T",0X1,3); | |
split_sreg_range(0X40011670,"T",0X1,3); | |
split_sreg_range(0X4001167A,"T",0X1,3); | |
split_sreg_range(0X4001167C,"T",0X1,3); | |
split_sreg_range(0X40011688,"T",0X1,3); | |
split_sreg_range(0X400116B2,"T",0X1,3); | |
split_sreg_range(0X400116B8,"T",0X1,3); | |
split_sreg_range(0X400116C2,"T",0X1,3); | |
split_sreg_range(0X400116CC,"T",0X1,3); | |
split_sreg_range(0X40011744,"T",0X1,3); | |
split_sreg_range(0X40012514,"T",0X1,3); | |
split_sreg_range(0X400125B4,"T",0X1,3); | |
split_sreg_range(0X40012700,"T",0X1,3); | |
split_sreg_range(0X4001270C,"T",0X1,3); | |
split_sreg_range(0X4001271C,"T",0X1,3); | |
split_sreg_range(0X4001278C,"T",0X1,3); | |
split_sreg_range(0X40013FE0,"T",0X1,3); | |
split_sreg_range(0X60005000,"T",0,3); | |
split_sreg_range(0X6000F200,"T",0,3); | |
split_sreg_range(0X7000F800,"T",0,3); | |
split_sreg_range(0X70012000,"T",0,3); | |
split_sreg_range(0X40000000,"DS",0X1,3); | |
split_sreg_range(0X40006000,"DS",0X1,3); | |
split_sreg_range(0X40007000,"DS",0X1,3); | |
split_sreg_range(0X40010000,"DS",0,3); | |
split_sreg_range(0X4001147C,"DS",0X1,3); | |
split_sreg_range(0X40011744,"DS",0X1,3); | |
split_sreg_range(0X40012514,"DS",0X1,3); | |
split_sreg_range(0X400125B4,"DS",0X1,3); | |
split_sreg_range(0X40012700,"DS",0X1,3); | |
split_sreg_range(0X4001270C,"DS",0X1,3); | |
split_sreg_range(0X4001271C,"DS",0X1,3); | |
split_sreg_range(0X4001278C,"DS",0X1,3); | |
split_sreg_range(0X40013FE0,"DS",0X1,3); | |
split_sreg_range(0X60005000,"DS",0X1,3); | |
split_sreg_range(0X6000F200,"DS",0X1,3); | |
split_sreg_range(0X7000F800,"DS",0X1,3); | |
split_sreg_range(0X70012000,"DS",0X1,3); | |
} | |
//------------------------------------------------------------------------ | |
// Information about all patched bytes: | |
static Patches(void) { | |
} | |
//------------------------------------------------------------------------ | |
// Call all byte feature functions: | |
static Bytes(void) { | |
Bytes_0(); | |
end_type_updating(UTP_STRUCT); | |
} | |
// End of file. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment