Created
February 16, 2022 15:48
-
-
Save saidelike/ec1395d95a6fc6e02023890aeab8d9e9 to your computer and use it in GitHub Desktop.
This file contains 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
typedef struct { | |
unsigned int Version; | |
unsigned int Identifier; | |
unsigned int Trusted; | |
unsigned int IssueDate; | |
unsigned int OEMUniqueID; | |
} VERSION_I; | |
typedef struct { | |
unsigned int Reserved[5]; | |
unsigned int BootFlashSign; | |
} FLASH_I, *pFLASH_I; | |
// Constant part of the header | |
typedef struct { | |
{ | |
VERSION_I VersionBind; | |
FLASH_I FlashInfo; | |
unsigned int NumImages; | |
unsigned int NumKeys; | |
unsigned int SizeOfReserved; | |
} CTIM, *pCTIM; | |
typedef struct { | |
uint32_t ImageID; // Indicate which Image | |
uint32_t NextImageID; // Indicate next image in the chain | |
uint32_t FlashEntryAddr; // Block numbers for NAND | |
uint32_t LoadAddr; | |
uint32_t ImageSize; | |
uint32_t ImageSizeToHash; | |
HASHALGORITHMID_T HashAlgorithmID; // See HASHALGORITHMID_T | |
uint32_t Hash[16]; // Reserve 512 bits for the hash | |
uint32_t PartitionNumber; | |
} IMAGE_INFO_3_4_0, *pIMAGE_INFO_3_4_0; // 0x60 bytes | |
typedef struct { | |
unsigned intKeyID; | |
unsigned int HashAlgorithmID; | |
unsigned int ModulusSize; | |
unsigned int PublicKeySize; | |
unsigned int RSAPublicExponent[64]; | |
unsigned int RSAModulus[64]; | |
unsigned int KeyHash[8]; | |
} KEY_MOD, *pKEY_MOD; | |
typedef struct { | |
pCTIM pConsTIM; // Constant part | |
pIMAGE_INFO pImg; // Pointer to Images (v 3.4.0) | |
pKEY_MOD pKey; // Pointer to Keys | |
unsigned int *pReserved; // Pointer to Reserved Area | |
pPLAT_DS pTBTIM_DS; // Pointer to Digital Signature | |
} TIM; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment