Breaking Into iPhone UNIX Files: My Journey and Survival

Recently, I decided to delve deeper into the world of iPhone customization. Following these instructions from HackTheiPhone.com, I managed to navigate through the iPhone’s UNIX file system using a jailbreak tool.

The process was not straightforward initially. Lacking direct access to the jailbreak source, which was compiled for i386 machines, I switched from my 733 G4 to a Mac mini. My primary OS X 10.4.8 setup was inadequate for the task, and I opted not to upgrade it due to my ongoing Apple TV modifications. Instead, I booted from a secondary partition that had OS X 10.4.10 or later with Intel support.

My initial attempts were unsuccessful due to forgetting to reinsert my SIM card and to exit iTunes—both critical steps for the jailbreak to work.

My early efforts resulted in the following:

Macintosh:phonedmg ericasadun$ ./jailbreak 
[jailbreak 1.0] by ziel w/ special thanks to GeoHot and the rest of the #iphone-dev crew.

Looking for iPhone...
Sending Files...

*** If iTunes is running, please close it.
*** Hold the POWER and HOME buttons for approximately 25s.
*** Release when the display says 'Please Connect to iTunes'.

Sending More Files...
Booting iPhone...

Waiting for iPhone to finish booting...
Moving files into place...
Problem with Ditto: 6

Sorry, apparently things just didn't work out.
Look on the bright side, if jail was that good for Paris maybe you should give it a second chance. ;)

Eventually, I managed to successfully jailbreak the device:

Macintosh:phonedmg ericasadun$ ./jailbreak 
[jailbreak 1.0] by ziel w/ special thanks to GeoHot and the rest of the #iphone-dev crew.

Looking for iPhone...
Sending Files...

*** If iTunes is running, please close it.
*** Hold the POWER and HOME buttons for approximately 25s.
*** Release when the display says 'Please Connect to iTunes'.

Sending More Files...
Booting iPhone...

Waiting for iPhone to finish booting...
Moving files into place...
Cleaning up...
Rebooting iPhone...

Enjoy your newfound freedom. Thank the devs at #iphone next time you see them for making this all possible.
p.s. Like most other useful tools, this one may be dangerous if used carelessly. Always remember -- You brick it, you bought it.

p.p.s.

I have no idea how 'My Humps' could possibly have gotten set as your ringtone. ;)

Once inside, I explored the iPhone’s file system using iPhoneInterface. The UNIX installation was surprisingly minimal, lacking many utilities like sftp and sbin, and the thought of compiling these for the ARM processor was daunting.

Macintosh:phonedmg ericasadun$ ./iPhoneInterface 
iPhoneInterface v0.3.3 built on Jul 11 2007

Waiting for phone... established.
iPhone state: Activated
type "help" for help
iPhone:/# ls
.
..
Applications
Library
System
bin
com.apple.itunes.lock_sync
cores
dev
etc
iTunes_Control
mach
private
sbin
tmp
usr
var
iPhone:/# ls sbin
.
..
fsck
fsck_hfs
fstyp
fstyp_hfs
kextload
launchd
mount
mount_hfs
iPhone:/# ls tmp
.
..
MediaCache
MobileSyncRunning.lock
com.apple.Bookmarks.lock
com.apple.MailAccounts.lock
launchd
iPhone:/# ls usr
.
..
bin
lib
libexec
sbin
share
iPhone:/# ls usr/bin
.
..
simulatecrash
iPhone:/#

After exploring for about an hour, I reconnected the semi-cracked iPhone to iTunes, which then recognized only about 50 megabytes of the 4GB available. I eventually opted to restore the iPhone, a process that took roughly 30 minutes, mostly to download the restoration data from Apple.

Chris

Kevin is a dedicated writer for TUAW, where he brings the latest Apple news to life. With a keen eye for detail, Kevin covers everything from the newest iPhone releases to the latest updates on macOS. His insightful articles help readers stay informed about their favorite Apple products, including the iPad, Apple Watch, and MacBook. Kevin’s commitment to delivering accurate and engaging content makes him a trusted voice in the Apple community.