hi folks!

i have had a little bit of time today, so i was experimenting with my iphone. i wanted to gain access to the pictures on it without jailbraking [1]. and, clear and brief, it works! here are the necessary steps [2,3] on a ubuntu system …

  • install libplist [4]

    getting the sources: git clone git://github.com/JonathanBeck/libplist.git

    installing necessary packages (on ubuntu/debian systems): apt-get install build-essential cmake libglib2.0-dev libxml2-dev \
    python-dev swig

    to compile run: mkdir build cd build cmake .. make && make install

    linking the libplist: cd /usr/lib ln -s /usr/local/lib/libplist.so.0.0.10 . ln -s libplist.so.0.0.10 libplist.so.0 ln -s libplist.so.0 libplist.so

  • install libiphone (first the old one [3], and then the new one [2,5])

    getting the sources of the old version (necessary for libiphone-initconf): git clone http://git.matt.colyer.name/2008/libiphone/

    installing necessary packages (on ubuntu/debian systems): apt-get install build-essential automake autoconf libtool libgnutls-dev \
    libusb-dev libfuse-dev libglib2.0-dev libxml2-dev \
    libreadline5-dev

    to compile run: ./autogen.sh ./configure make && make install

    and now everything again with the new version (its the simpliest way): git clone git://github.com/MattColyer/libiphone.git

  • install ifuse [6]

    getting the sources: git clone git://github.com/MattColyer/ifuse.git

    installing necessary packages (on ubuntu/debian systems): apt-get install build-essential automake autoconf \
    libfuse-dev libglib2.0-dev

    to compile run: ./autogen.sh ./configure make && make install

  • start libiphone-initconf [2,3]

    run their utility to generate keys for iphone communication as the user you want to connect later: libiphone-initconf

  • mount the iphone [2,3]

    mount the iphone’s root filesystem including the media partition: mount.fuse.ifuse -afc2 none /media/iPhone

    or mount the iphone’s media partition only: mount.fuse.ifuse none /media/iPhone

if you want it in a automatic way, do the following:

  • edit /etc/fstab

    add following line: none /media/iPhone fuse.mount.fuse.ifuse rw,nosuid,nodev,afc2,allow_other 0 0

  • edit /etc/hal/fdi/preprobe/10-iphone.fdi

    write those lines into the file:

after those steps its very easy: plugin the usb-cable and for example nautilus will show you a “Apple, Inc. iPhone” device. if you want to see all the information i used to setup everything right, here are some links:

[1] ifuse main page [2] easy installing [3] older references [4] github libplist [5] github libiphone [6] github ifuse