Installing XPwn Custom Apple IPSW Generator

Here a basic guide on how to install XPwn custom IPSW generator along with some of the other XPwn related projects. Note that they can be executed only on Debian based systems. One shouldn’t consider them as a substitution to GNU/Linux programming environment experience but we can assume this as a starting point. Just in case – XPwn is a command line materialization of planetbeing’s PwnageTool. It’s cross-platform and currently supported by Linux, Windows and Mac OS X.


XPwn Packages:

  1. ipsw – a complex tool that can regenerate customized IPSWs which can be later restored after XPwn or some other pwnage-based utility usage.  That’s actually very important because this is the part of initial jailbreaking process.
  2. itunespwn – utility for Windows called to replace a file in your %APPDATA%\Apple Computer\Device Support folder. Afterwards, when you put iPhone into DFU mode and connect it to iTunes, the exploit file will be automatically uploaded to your device allowing it to accept custom firmware as long as it is turned off. That allows users to restore any desired IPSW from the version they choose by restoring device through iTunes while in the DFU mode.
  3. idevice – a replacement for Windows dfu-util, bypassing the requirement of libusb. Provides a lot more user-friendly way for entering DFU mode)

Package includes those three utilities together with PwnageTool’s bundles and FirmwareBundles and ramdisk by Turbo autopwn.

Required Libraries:

  • bsdiff
  • libibooter
  • libbzip2
  • libcrypto (from OpenSSL)
  • libpng
  • libusb
  • libz

Installing XPwn (Ubuntu 11.10)

Step One: installing dependencies

sudo apt-get install build-essential

Step Two: Install some prerequisites libraries required by xpwn:

sudo apt-get install libcryptsetup-dev curl libcurl4-openssl-dev libusb-dev zlib1g-dev libbz2-dev libssl-dev libpng12-dev

Step Three: Install cmake. It’s better if you get the required build from the official cmake website, as versions higher than 2.6.0 are preferred.

sudo apt-get install cmake


tar zxvf cmake-2.6.2.tar.gz
cd cmake-2.6.2
sudo make install

Step Four: It’s time for you to build XPwn. Do not create builds in the same folder where the sources are to avoid problems during compilation.

Step Five: Create a build folder

cd ~
mkdir build
cd build

Step Six: Create Makefiles

cmake ~/xpwn

Step Seven: Building


Step Eight: Package

make package

That’s all, you are done.

Example of usage:

./ipsw <input.ipsw> <output.ipsw> [-b <bootimage.png>] [-nowipe] \

Implementation by great hacker Planetbeing