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.

Contents

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
manifest.plist An XML file that gives basic info about the Firmware. Probably for iTunes.
N58s.bootloader.release.rb3 This is a very interesting new file that should be checked out! At the end there are clusters of strings that mention things like "Apple iPod Certification Authority", "S5L8720", and "Secure Boot". This means that the 4G uses the S5L8720 processor, the exact same as the iPod Touch 2G. It is also likely that the 4G Nano uses the same Secure Boot technology as iPhone's and iPod Touch's.

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

Personal tools
Namespaces
Variants
Actions
Navigation
Info
Software
Basic skills
Reverse engineering Results
Exploiting
Hardware
Toolbox