Contents
- 1. File Format
So called due to both their magic number and their use on the S5L8900 processor, 8900 files are very basic. Their usage was, as far as is known, to simply provide a wrapper for IMG2 and DMG files. They can only be parsed by iBoot-304 (iPhone OS 2.0 beta 3) or earlier and the S5L8900. Later processors have no support for this format.
File Format
Apple8900 { 0 u8[4] magic // '8900' in big endian 4 u8[3] version // '1.0' in big endian 7 u8 format // 1: boot payload encrypted with UID key // 2: unencrypted boot payload // 3: generic payload encrypted with key 0x837 // 4: unencrypted generic payload 8 u32 --unknown C u32 payloadLength 10 u32 footerSigOffset // ignoring header 14 u32 footerCertOffset // ignoring header 18 u32 footerCertLength 1C u8[32] salt 3C u16 --unknown 3E u16 epoch 40 u8[16] headerSignature // SHA1 hash of first 0x40 bytes, truncated to 16 bytes (drop last four) // AES-128-CBC of above hash with key 0x837 and a zero IV 50 u8[0x7B0] padding 800 u8[] payload // typically an IMG2 or DMG file ???? u8[] footerSignature // `footerCertOffset - footerSigOffset` bytes ???? u8[] footerCertificate // `footerCertLength` bytes }