iPhone hacking for the rest of us

Like others of my writerly ilk, I’m engaged in writing a book about the iPhone, specifically The iPhone Pocket Guide. There are two tricks to writing such a book:
1) Writing comprehensible and helpful prose and
2) Accompanying that prose with appropriate and legible graphics.

I was up to the first part, but the second had me stumped.

The reason? The iPhone has no screen capture utility and it’s damned difficult to photograph without also picking up ugly moiré patterns. Some have tried and mostly succeeded. I’ve seen some pretty good photographs of the iPhone’s interface, but they’re not as perfect as what Apple provides on its website. And the fact that Apple can get those pictures hinted to me that such captures were possible, it was simply a matter of finding out how.

Clue One came when TUAW’s Erica Sadun announced that she had created an iPhone screenshot utility. Regrettably, while her post was intriguing and the sample screenshot captivating, she provided few details about how to install or use it. I emailed her for details and received a single-sentence reply:

“It just has to be run from the command line on the iPhone.”

Uh, right . Though accurate, her response left far too many questions for a person of my limited skills.

“How do I install a Terminal application on the iPhone?”

“Once I do, how do I invoke the screenshot application?”

“Once I do that, how do I tell the application to wait a certain number of seconds before snapping the screen I want?”

And on and on. Clearly I was in way over my head.

So I turned to Macworld frequent contributor, photographer, and friend, Ben Long. Initially Ben was going to take photographs of the iPhone’s screen for me but after taking some external shots, he mentioned, “I might be able to help you hack the iPhone so you can use Erica’s application to capture screens.”

“Really? That would be great! And how hard could it be?”

36 hours later, we found out.

I won’t provide the ugly details here—you’ll find complete instructions for hacking your iPhone as well as links to the files you need at our own iPhone Central. No, my goal here is to provide a few glimpses into what it was like playing Watson to Ben’s Holmes—watching and offering mostly unhelpful advice as he traversed and synthesized the many, sometimes-conflicting instructions for cracking this iPhone nut.

Seeking answers

Bear in mind that the iPhone is just over a month old and efforts to hack it have begun in earnest only in the past three weeks. When we began hacking my iPhone a little over a week ago, hacking techniques and tools seemed to change by the hour. Searching for the proper techniques required finding a few key sites that provided up-to-the-minute instructions. Regrettably, it was far too easy to glom onto one set of instructions, believing that they were the latest and greatest, only to get a couple of hours into the hack and realize that the way was blocked. We spent half of our first day of hacking on one such futile journey.

We finally settled on a couple of different sources. Jeremy Johnstone’s Howto: Run custom apps on iPhone parts 1 and 2 proved to be a terrific source of information, offering a walkthrough of hacking the iPhone to enable copying files to the iPhone as well as installing important commands and applications.

The iPhone Dev Wiki (http://iphone.fiveforty.net/wiki) is one of the main sources for up-to-the-minute information.

Finally, one of the lead hackers in this effort, a person known as NerveGas, has a page that includes many of the tools you need to break into and modify the iPhone.

Sifting through answers

You’d think with such solid sources hacking the iPhone would be simple. Not so. Some of the necessary files were outdated (by as much as 14 hours—these people move very quickly) or were compiled for a different processor and either didn’t work on our Mac or with files that we had updated. Much of the time we spent bouncing around from one site to another, seeking updated tools and hints about what to do when confronted with one arcane error message or another.

Fortunately, the #iphone IRC channel was available. This is a gathering place for people involved in hacking the iPhone. By logging on with an IRC client, Ben was able to ask the right questions when we hit a wall. For example, one helpful participant told us that we were seeing a particular error because one set of tools we were using was out of date. (We’d downloaded the “most recent” tools the night before at 10 PM. By 2 PM the next day, two new versions had been created.)

The #iphone channel was a great help, but it’s not something you want to abuse. These people are busy and don’t have time to walk you through the complete process for hacking your iPhone. Had I waltzed in and asked “So, I hear you can take screenshots from the iPhone. How do you do that?” I would have received, at best, the same kind of single-sentence reply I got from Erica. In short, “If this single sentence isn’t useful to you, there’s a very good chance you shouldn’t be attempting this in the first place. This is for the big kids.”

Our solution

Throughout our eventually successful process I kept thinking, “Why on earth hasn’t anyone pulled all this information together into one location and linked to a solid set of tools for hacking the iPhone—a source that even Unix-dopes like me could find helpful?”

Well, we have. If, like me, you long to hack into the innards of your iPhone to install applications and move files in and out of Apple’s wondrous phone, Ben shows the way.

If the warnings in those instructions don’t make you wary enough, let me offer a few of my own. If you’re not comfortable working in the Terminal, this may not be for you. There are very few tools in this process that include a GUI—you’ll be copying and pasting commands into the Terminal and switching from one Unix tool to another in the process. It’s easy to get lost and, if you’re not careful, enter the wrong command. And if you receive an error message and don’t know how to back out, you could be in for a frustrating time.

The good news is that after rehacking my phone and doing things wrong time and again, I never destroyed anything. At the very worst I had to use iTunes to restore it, thus wiping out all the data on it as well as any hacks I’d managed to get on the phone. Fortunately, iTunes makes a backup of your iPhone’s data when you sync it (not the hacks, just the media and information it places on it) so if you sync your phone before beginning the hacks, you should be okay.

Ready to dive in? You sure? Okay, follow the link and best of luck.

Related:
  
Shop Tech Products at Amazon