Difference between revisions of "8900 File Format"

From The iPhone Wiki
Jump to: navigation, search
(New page: This is the file format used by the S5L8900 ==Header== typedef struct { uchar magic[4]; // string "8900" uchar version[3]; // string "1.0" uint8 form...)
 
(Redirect to S5L File Formats#8900.)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
  +
#REDIRECT [[S5L File Formats#8900]]
This is the file format used by the [[S5L8900]]
 
 
==Header==
 
typedef struct {
 
uchar magic[4]; // string "8900"
 
uchar version[3]; // string "1.0"
 
uint8 format; // plaintext format is 0x4, encrypted format is 0x3
 
uint32 unknown1;
 
uint32 sizeOfData; // size of data (ie, filesize - header(0x800) - footer signature(0x80) - footer certificate(0xC0A))
 
uint32 footerSignatureOffset; // offset to footer signature
 
uint32 footerCertOffset; // offset to footer certificate, from end of header (0x800)
 
uint32 footerCertLen;
 
uchar salt[0x20]; // a seemingly random salt (an awfully big one though... needs more attention)
 
uint16 unknown2;
 
uint16 epoch; // the security epoch of the file
 
uchar headerSignature[0x10]; // encrypt(sha1(header[0:0x40])[0:0x10], key_0x837, zero_iv)
 
uchar padding[0x7B0];
 
} Apple8900Header;
 
 
==Resources==
 
[http://wikee.iphwn.org/s5l8900:8900_format The dev team's wiki page on the topic]
 

Latest revision as of 19:39, 24 August 2010