Chapter 1. Breaking Into and Setting Up the iPhone The iPhone is a closed device. We can’t say this enough. Up to and including version 2.x of the iPhone software, users have been locked out of the operating system and developers have been exiled to a tiny sandbox running in user land. This doesn’t seem to deter a majority of iPhone consumers from breaking free from these chains, but does make it more difficult to get started. Before hacking of any kind can take place, the iPhone must be broken free from its jail—literally. The iPhone’s interfacing with software, such as iTunes, is run in a chrooted environment, where no user or desktop application—even iTunes—can see into the operating system; this is commonly known in the Unix world as a chroot jail.
This jail (and the fact that you can’t simply yank out the hard drive) is the only thing standing in the way of the iPhone functioning as a complete, portable Mac OS X computer. Fortunately, many free tools have been written to make the jailbreaking process simple.
In this chapter, you’ll stage your iPhone for software development in such a way that you’ll be able to access files outside this jail, and your applications will be able to run outside of their restrictive sandbox. This includes breaking free from the chroot jail (called jailbreaking) so you can access the filesystem. You’ll also install a BSD Unix world, which is a set of common Unix binaries, such as ls and cp. This allows you to navigate and manage the iPhone’s operating system, which is believed to be a version of Mac OS X 10.5 (Leopard) for the ARM processor. Finally, you’ll get a secure login command environment, SSH, up and running. This is useful for copying files to and from your iPhone, and we’ll use them to install applications and run examples.
Jailbreak Procedures How you jailbreak your iPhone depends largely on what version of the software you are running. There is a lag time of a few weeks between new iPhone software releases and public hacks to jailbreak them. Small changes are generally introduced in new versions to make breaking into it a little bit harder each time. The good news is that once a new jailbreak has been written, all of the free tools available are updated to make it possible for just about anyone to go through the process. INdependence, (v1.0.0–1.1.4) iNdependence is a utility for Mac OS X that performs jailbreak, activation, SSH installation, and even installation of ringtones, wallpaper, and third-party applications on the iPhone.
INdependence is under the GPL, and the author has made a library available called libPhoneInteraction, allowing developers to write other tools to communicate with the iPhone. AppSnapp, (v1.1.1 only) Users running version 1.1.1 of the iPhone firmware can navigate to this website using their iPhones and have the entire jailbreak process performed remotely. AppSnapp takes advantage of a vulnerability in one of the iPhone’s image libraries to break into the phone. What’s cool about this site is that it not only jailbreaks your phone, but it also fixes the vulnerability so that nobody else can maliciously take advantage of the phone. Versions 1.1.1 and later of AppSnapp also patch the iPhone software to allow third-party applications, and install AppTapp, the NullRiver installer, which can then be used to stage your iPhone for development. AppTapp, (v1.0.0–1.0.2) Nullriver is a software manufacturer out of Ontario, Canada, and the designer of a package installer for the iPhone. The installer allows you to install any application on your iPhone that is included in their repository using a few easy taps.
The installer software itself works with most versions of the iPhone software, but the installer’s installer (if that makes sense) is capable only of jailbreaking iPhone firmware v1.0.x. The previous tool in this list, AppSnapp, automatically installs AppTapp on v1.1.1 devices. AppTapp is also useful for the software downgrade procedure, explained next. ZiPhone, (v1.0.0–1.1.4) ZiPhone is a jailbreak technique developed by the iPhone Dev Team. It was kept under a heavy shroud of secrecy in anticipation of the Apple SDK, but it was eventually leaked by one of the dev team’s former members.
Putting Installer.app (AppTapp) on your jailbroken 1.1.1 iPhone. Putting Installer.app (AppTapp) on your jailbroken 1.1.1 iPhone. Several readers have inquired how to put Installer.app -- the.
Both the embedded zip files have source code for their respective software. The individual Zip files are password protected. Honeywell vista software.
ZiPhone has since been developed beyond a simple jailbreak technique, and many other utilities have been added to it, including a full unlock for all iPhones up to OTB (Out-of-the-Box) v1.1.4. Pwnage, (v1.0.0–2.x) Pwnage was the first tool on the scene to support firmware v2.0 and the iPhone 3G. Pwnage operates by allowing the user to build his own custom firmware bundle containing the community software installer, named Cydia, and other third-party software packages.