2012年4月3日火曜日

IPSW File Format

IPSW File Format

IPSW (iPod¹ SoftWare) Files have the Magic Number 504B0304 (PK\003\004) and thus are ZIP Archives. They can be modified with typical zip/unzip tools (i.e. change extension to .zip and double click). An IPSW File is used to deliver the iPod touch/iPhone/iPad/Apple TV firmware to the end-user.

1The IPSW files are used starting from the iPod 1G, even though they have a different format than iOS-based devices.

IPSW Contents

  • Restore Ramdisk
  • Update Ramdisk (Some firmwares don't contain this because of various reasons- Error 3002 represents no update ramdisk when pressing Shift+Check for updates)
  • Filesystem Ramdisk (the largest .dmg file)
  • kernelcache.release.XXXXXXX file (application processor specific i.e S5L8900, S5L8920, S5L8720, S5L8922, S5L8930, S5L8940)
  • BuildManifest.plist (first appeared in firmware 3.0?)
  • Restore.plist file
  • Firmware\
    • all_flash\
      • all_flash.XXXXX.production\ (hardware specific i.e. M68ap, N82ap, etc.)
    • \dfu (Folder)
      • iBEC.XXXXX.DFU (hardware specific i.e. M68ap, N82ap, etc.)
      • iBSS.XXXXX.DFU (hardware specific i.e. M68ap, N82ap, etc.)
      • WTF.XXXXX.DFU (hardware specific i.e. M68ap, N82ap, N45ap, N72ap - currently not present in firmwares for the iPhone 3GS and later, because it is mostly used to patch issues with the DFU mode that was burned into the bootrom)
    • ICE3_XX.XX.XX_BOOT_02.06.Release.bbfw (Contains the baseband and the bootloader. X stands for a number. This is the baseband version. 02.06 is the bootloader. Only in the iPhone 4 firmware.)

Example

This is a ls -alR of an extracted iPhone 3GS 3.0 Firmware IPSW.

total 608400 drwx------@ 11 m  staff        374 17 Jun 07:11 . drwxrwxrwx   5 m  staff        170 18 Jul 07:34 .. -rw-r--r--@  1 m  admin  281214976 22 Mai 17:10 018-5302-002.dmg -rw-r--r--@  1 m  admin   12769604 22 Mai 16:59 018-5304-002.dmg -rw-r--r--@  1 m  admin   12777796 22 Mai 16:59 018-5306-002.dmg -rw-r--r--   1 m  admin      21097 22 Mai 17:29 BuildManifest.plist drwxr-xr-x@  5 m  staff        170 17 Jun 07:11 Firmware -rw-r--r--   1 m  admin       1763 22 Mai 17:10 Restore.plist -rw-r--r--@  1 m  staff    4695492 22 Mai 14:32 kernelcache.release.s5l8920x  ./Firmware: total 16 drwxr-xr-x@  5 m  staff   170 17 Jun 07:11 . drwx------@ 11 m  staff   374 17 Jun 07:11 .. drwxr-xr-x@  4 m  staff   136 18 Jun 02:10 all_flash drwxr-xr-x@  4 m  staff   136 22 Mai 13:39 dfu  ./Firmware/all_flash: total 16 drwxr-xr-x@  4 m  staff   136 18 Jun 02:10 . drwxr-xr-x@  5 m  staff   170 17 Jun 07:11 .. drwxr-xr-x@ 16 m  staff   544 22 Mai 13:43 all_flash.n88ap.production  ./Firmware/all_flash/all_flash.n88ap.production: total 1320 drwxr-xr-x@ 16 m  staff     544 22 Mai 13:43 . drwxr-xr-x@  4 m  staff     136 18 Jun 02:10 .. -rw-r--r--@  1 m  staff   44996 22 Mai 13:08 DeviceTree.n88ap.img3 -rw-r--r--@  1 m  staff   67908 22 Mai 13:12 LLB.n88ap.RELEASE.img3 -rw-r--r--@  1 m  staff    9604 22 Mai 13:15 applelogo.s5l8920x.img3 -rw-r--r--@  1 m  staff   19716 22 Mai 13:15 batterycharging0.s5l8920x.img3 -rw-r--r--@  1 m  staff   24900 22 Mai 13:16 batterycharging1.s5l8920x.img3 -rw-r--r--@  1 m  staff   76100 22 Mai 13:16 batteryfull.s5l8920x.img3 -rw-r--r--@  1 m  staff   56772 22 Mai 13:16 batterylow0.s5l8920x.img3 -rw-r--r--@  1 m  staff   65348 22 Mai 13:17 batterylow1.s5l8920x.img3 -rw-r--r--@  1 m  staff   20356 22 Mai 13:17 glyphcharging.s5l8920x.img3 -rw-r--r--@  1 m  staff   19332 22 Mai 13:18 glyphplugin.s5l8920x.img3 -rw-r--r--@  1 m  staff  178500 22 Mai 13:21 iBoot.n88ap.RELEASE.img3 -rw-r--r--@  1 m  staff     341 22 Mai 13:43 manifest -rw-r--r--@  1 m  staff   20484 22 Mai 13:24 needservice.s5l8920x.img3 -rw-r--r--@  1 m  staff   47876 22 Mai 13:24 recoverymode.s5l8920x.img3  ./Firmware/dfu: total 416 drwxr-xr-x@ 4 m  staff     136 22 Mai 13:39 . drwxr-xr-x@ 5 m  staff     170 17 Jun 07:11 .. -rw-r--r--@ 1 m  staff  104772 22 Mai 13:30 iBEC.n88ap.RELEASE.dfu -rw-r--r--@ 1 m  staff  104772 22 Mai 13:36 iBSS.n88ap.RELEASE.dfu

0 件のコメント:

コメントを投稿