Dumping firmware

From freemyipod.org
Jump to: navigation, search

The first step to examining iPod's firmware is getting an image of it. You can retrieve either retrieve an image from the iPod or from the internet.

From the iPod

Getting a firmware dump of a nano 2g is very easy in Linux. Just:

  1. Make sure the iPod is plugged in.
  2. Type "dd if=/dev/sdX1 of=dump.img" in the terminal, but make sure you edit the drive to match your configuration.
  3. A dump.img file should be created after a while. If you have a lot of data on your iPod, it can take a very long time.

To dump the firmware of any iPod classic or iPod nano from version 3 on you need to run own code on the device to be able to dump the flash with the firmware code on it.

From the internet

You can download pretty much every firmware version from http://www.felixbruns.de/iPod/firmware/. These files are called .ipsw files, but they are really .zip files in disguise. Open the .ipsw file as a .zip file, and you can view it's contents:

1G-3G Nano firmware structure

Filename Description
Firmware-XX.X.X.X The actual firmware file
manifest.plist An XML file that gives basic info about the Firmware. Probably for iTunes.

4G Nano firmware structure

The 4G Nanos seem to have a different structure with an interesting new file:

Filename Description
Firmware.MSE The actual firmware file containing encrypted osos, etc.
manifest.plist An XML file that gives basic info about the Firmware. Probably for iTunes.
N58s.bootloader.release.rb3 IMG1 containing encrypted bootloader.

You can copy over the firmware file and that is the same as extracting a dump.img file from the iPod.

Helpful pages

http://home.gna.org/linux4nano/download/crypto_synth-1.0.pdf

http://www.ipodlinux.org/wiki/Firmware

http://www.trejan.com/projects/ipod/phobos.html#REGFIRMWARE