Why iBooks doesn't play nicely with Jailbreak

If you launch iBooks on a Jailbroken iPhone there's a good chance you'll get an error message and not be able to open any of your legitimately purchased iBooks content. This is NOT a new problem -- many of us here at TiPb have been having this problem for a while and with older versions of iBooks. Some thought it was a bug with iBooks or an issue with certain releases of redsn0w or greenpois0n Jailbreak tools, but iPhone dev-team member @comex finally figured out what was causing it.

It seems that before opening a DRMed book, iBooks drops an improperly signed binary, tries to execute it, and if it works concludes that the device is jailbroken and refuses to open the book.

This is what the binary does:

int main() { return 42; }

The complete message you get is:

There is a problem with the configuration of your iPhone. Please restore with iTunes and reinstall iBooks.

If you do restore your iPhone you will, of course, lose your Jailbreak. If you're an avid iBooks user and can't live it without it that's a choice you'll have to make. Why Apple is only choosing to do this with iBooks and not other iTunes content, like media and apps is unknown.

Again, this is not a new problem but with iOS 4.2.1 getting an untethered Jailbreak courtesy of greenpois0n (and iOS 4.2.6 for the Verizon iPhone), it's probably something more and more people have noticed and been complaining about. Hopefully the Jailbreak community comes up with a fix, otherwise Apple and iBooks might lose a lot of #TeamJailbreak customers to Amazon's Kindle store...

Have you had trouble using iBooks on your Jailbroken iPhone? Does it bother you enough that you'll restore or just stop using iBooks?

[@comex]