Filename extension | .ipsw |
---|---|
Magic number | 504B0304 |
Developed by | Apple |
Type of format | Archive |
IPSW is a file format used in iTunes to install iOS firmware. All Apple devices share the same IPSW file format for iOS firmware, allowing users to flash their devices through iTunes on OS X and Windows.
The .ipsw file itself is a compressed archive file (similar to a Zip archive) containing three Apple Disk Image files with one containing the root file system of iOS and two ram disks for restore and update.
The file also holds a "Firmware" folder in which contains iBSS, iBEC, DFU, Battery Images (low. full, charging), and also the baseband firmware files in .bbfw format (Baseband firmware).
There are two more files named "Build Manifest" and "Restore Manifest", both in Apple Proprietary List (.plist) format that checks the compatibility, holds the hashes in base64 format and instructs the device where to find the specific Firmware parts during the restore.
BuildManifest.plist is sent to Apple TSS server and checked in order to obtain SHSH blob at every restore. Without SHSH blobs, the firmware will refuse to restore, thus making downgrades impossible in official fashion, due to Apple's limitation.
The archive is not password protected, but the DMG images inside it are encrypted with AES. While Apple doesn't release these keys, they can be extracted using different iBoot or bootloader exploits, such as limera1n (created by George Hotz, more commonly known as geohot). Since then, many tools were created for the decryption and modification of the root file system.