While performing forensic testing on an 3G iPhone using the techniques outlined by Jonathan Zdziarski in his book “iPhone Forensics“, I discovered the xpwn tool (by planetbeing) pre-compiled for OS X was not up to date (missing many of the firmware bundles which contain the encryption key and initialization vectors to uncompress the RAM disk .dmg images). I switched over to the Linux workstation however the Linux pre-compiled binaries of xpwn complained about my version of GLIBC with the following error:
/home/ahoog/src/XPwn-0.5.5-Linux.broke/xpwntool: /lib32/libc.so.6: version `GLIBC_2.4′ not found (required by /home/ahoog/src/XPwn-0.5.5-Linux.broke/xpwntool)
So I figured I would just build from source. Planetbeing was nice enough to write up build directions however for my Debian Etch, I had to do a few different things to get it to compile and work. Below are the steps I took to make everything work, adapted from Planetbeing’s direction:
- apt-get install build-essential
- apt-get install libz-dev libusb-dev libssl-dev libbz2-dev libpng12-dev (changes from planetbeing’s BUILD doc listed below)
- libssl-dev instead of libcrypt-dev
- libbz2-dev instead of libbz2-dev3
- added libpng12-dev
- Install git-core and associated files to download the source (GitHub kept failing with a 404 when trying to download from the website link)
- apt-get install git-core git-arch git-cvs git-svn git-email git-daemon-run gitk gitweb cogito git-doc rsync curl
- git clone git://github.com/planetbeing/xpwn.git
- install cmake (per BUILD)
- wget http://www.cmake.org/files/v2.6/cmake-2.6.2.tar.gz
- tar zxvf cmake-2.6.2.tar.gz
- cd cmake-2.6.2
- ./configure
- make
- sudo make install
- Create and cd to build folder
- cmake ~/xpwn
- make
- make package
- executables and files located in ~/build/_CPack_Packages/Linux/TBZ2/XPwn-0.5.5-Linux
Hope this helps Debian/iPhone folks out.
