The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "IMG3 File Format"
(New page: This is the replacement for the IMG2 File Format in 2.0 firmware. ==Header== struct Img3 { unsigned int magic; unsigned int dataLenPad; unsigned int u1; // offSet to 20 byte fo...) |
|||
Line 25: | Line 25: | ||
SHSH: RSA encrypted SHA1 hash of the file |
SHSH: RSA encrypted SHA1 hash of the file |
||
CERT: Certificate |
CERT: Certificate |
||
+ | |||
+ | ==Encryption== |
||
+ | Apple got smarter this time, requiring the Hardware AES engine to be run per file. <b>De</b>crypt the KBAG tag data with the hardware AES engine and get the 0x10 byte IV and the 0x10 byte KEY. |
||
==Resources== |
==Resources== |
||
− | + | [http://www.iphonelinux.org/img3.tar.gz cmw's IMG3 Unpacker] |
Revision as of 23:35, 27 July 2008
This is the replacement for the IMG2 File Format in 2.0 firmware.
Contents
Header
struct Img3 { unsigned int magic; unsigned int dataLenPad; unsigned int u1; // offSet to 20 byte footer unsigned int certOffset; unsigned int name; unsigned int type; unsigned int nameOffset; unsigned int dataLen; } typedef Img3;
Tag Format
unsigned int magic; unsigned int total_length; //data_length+0xC unsigned int data_length;
Tags
VERS: Version SEPO: Unknown BORD: Board to be used with KBAG: contains the KEY and IV required to decrypt encrypted with the GID-key SHSH: RSA encrypted SHA1 hash of the file CERT: Certificate
Encryption
Apple got smarter this time, requiring the Hardware AES engine to be run per file. Decrypt the KBAG tag data with the hardware AES engine and get the 0x10 byte IV and the 0x10 byte KEY.