In the latest version of the iBooks e-reading app, Apple took an innovative step to prevent users from opening books on jailbroken iPhones… and honestly, it’s pretty neat.
According to the iPhone Dev Team’s Comex, here’s how iBooks’ 1.2.1 jailbreak protection scheme works.
What “jailbreaking” a phone does is allow it to run unsigned code… code that hasn’t been approved by Apple, or “signed” by a unique secret key that tells an iPhone the code is okay to run. If you try to run a Cydia app on an unjailbroken iPhone, for example, it simply won’t run, because it doesn’t report itself using that unique key.
What Apple’s iBooks protection method does is tries to open its own unsigned app whenever a new ebook is loaded. If that unsigned app actually runs, iBooks knows that the device is jailbroken and quits out.
Presumably, Apple’s doing this for DRM reasons: opening iBooks on a jailbroken iPhone would make it easier for people to read e-books where the DRM had already been stripped out.
Given that there are easier ways of stripping DRM out of ebooks, we’re not quite sure why Cupertino’s bothering, but we have to admit by at least being fascinated by their approach to detecting jailbreaks: by trying to run jailbreak code themselves!.