diff options
| author | 2010-05-23 03:53:02 -0400 | |
|---|---|---|
| committer | 2010-05-23 03:53:02 -0400 | |
| commit | ab1f7cb3c283b468235562b0b85db498b0a93766 (patch) | |
| tree | 8a75406d3433afaa80eb3a037bc6b218f7137def /src/img3.h | |
| parent | ead23ad2b1bcfff151fd7f476fa32f949d509c6a (diff) | |
| download | idevicerestore-ab1f7cb3c283b468235562b0b85db498b0a93766.tar.gz idevicerestore-ab1f7cb3c283b468235562b0b85db498b0a93766.tar.bz2 | |
More work on img3.c/h done, implemented basic img3 file parsing and img3 element parsing
Diffstat (limited to 'src/img3.h')
| -rw-r--r-- | src/img3.h | 37 | 
1 files changed, 29 insertions, 8 deletions
| @@ -38,6 +38,7 @@ typedef enum {      kChipElement = 0x43484950, // CHIP      kProdElement = 0x50524F44, // PROD      kSdomElement = 0x53444F4D, // SDOM +    kVersElement = 0x56455253, // VERS      kBordElement = 0x424F5244, // BORD      kSepoElement = 0x5345504F, // SEPO      kEcidElement = 0x45434944  // ECID @@ -45,23 +46,43 @@ typedef enum {  typedef struct {      unsigned int signature; -    unsigned int fullSize; -    unsigned int dataSize; -    unsigned int shshOffset; -    unsigned int imageType; +    unsigned int full_size; +    unsigned int data_size; +    unsigned int shsh_offset; +    unsigned int image_type;  } img3_header;  typedef struct {      unsigned int signature; -    unsigned int fullSize; -    unsigned int dataSize; +    unsigned int full_size; +    unsigned int data_size;  } img3_element_header;  typedef struct { +	img3_element_header* header; +	img3_element_type type;  	unsigned char* data; +} img3_element; + +typedef struct { +	char* data; +	img3_header* header; +	img3_element* type_element; +	img3_element* data_element; +	img3_element* vers_element; +	img3_element* sepo_element; +	img3_element* bord_element; +	img3_element* kbag1_element; +	img3_element* kbag2_element; +	img3_element* ecid_element; +	img3_element* shsh_element; +	img3_element* cert_element;  } img3_file; -img3_file* img3_parse_file(unsigned char* data, unsigned int size); -void img3_free(img3_file* file); +img3_file* img3_parse_file(unsigned char* data, int size); +img3_element* img3_parse_element(char* data); +void img3_replace_signature(img3_file* image, char* signature); +void img3_free(img3_file* image); +char* img3_get_data(img3_file* image);  #endif | 
