Enable iOS 5 Multitasking Gestures on iPad 1

Now that iOS 5 has been released, it’s easy to enable multitasking gestures on the iPad 1, using the same trick as before for display mirroring.

Edit the /System/Library/CoreServices/Springboard.app/K48AP.plist file and add a boolean key multitasking-gestures in the capabilities dict, and set its value to true. You can add both display mirroring and multitasking gestures to the iPad 1 using this method.

That’s it!

Alternatively you can use Cydia or redsn0w to do this for you.

Stop iPhone Backup Encryption

Before the days when you could easily opt to use a “complex” passcode from the iPhone Settings, you had to manually use the iPhone Configuration Utility (iPCU). When I created a profile to use a complex passcode, I inadvertently forced my iPhone backups to be encrypted and now that the “Encrypt iPhone backup” checkbox is grayed out, I can’t stop encrypting my backups.

But after I jailbroke my phone (because the baseband died), I had the option of mucking around with the system files to see if it could be undone. Backup encryption happens on the phone, so the phone must know your password, and where are (most) passwords stored? In /var/Keychains/keychain-2.db of course.

Download the file using iPhone Explorer (or whichever tool you prefer), and execute sqlite3 keychain-2.db. Poke around. Hmmm this looks interesting:

sqlite> select * from genp where svce = 'BackupAgent';
rowid = 10
cdat =
prot =
acct = BackupPassword
svce = BackupAgent
gena =
data =
agrp = apple
pdmn = aku

Let’s see what happens when I remove it (of course after I made a backup first):

sqlite> delete from genp where svce = 'BackupAgent';

Now upload the file back to the iPhone.

By removing the BackupPassword, the next time you sync/backup to iTunes, it will prompt you to enter your password to “unlock” your backups or something similar. It should be pre-filled from your keychain if you had opted to save it.

After that, it creates an unencrypted backup and the “Encrypt iPhone backup” checkbox can now be unchecked. I’m using iOS 4.3.2 by the way. The table names or fields could be different in other iOS versions.

On the flipside, your passwords will no longer be carried over when you restore the backup into a new device.

5 iOS Features I’d Love

WWDC 2011 kicked off yesterday with Steve Jobs taking the stage as usual. Sadly, there wasn’t a new iPhone announced (because I’m waiting to replace mine). Nevertheless, I’m still looking forward to iOS 5. Here’s some of the features I thought were great:

1. Notification Center

I think this has been on everyone’s wishlist for a really long time. If you have no time to respond to the missed calls or SMSes, notifications are now shown on the lock screen so you can see what you’ve missed at a glance.

2. Camera Quick Access

I cannot stress how much I (am going to) love this feature! Because I’m paranoid, I have a complex password setup (which consists of numbers, letters and symbols) on my iPhone. By the time I unlock my phone, the moment is lost – it has happened so many times before. I hope the shortcut would still be available with a passcode set (and yet prevent unauthorized access to my photos).

3. Split Keyboard (iPad)

It’s really difficult to type on the iPad while holding it with both hands. Split keyboard allows you to thumb-type, it seems. I’d have to try this for myself.

4. Safari Reading List

I have been using Read It Later and it’s been really good. I’m not sure if Safari’s Reading List can be saved for offline reading, but having a “Read Later” button there would be really handy. I use Read It Later via a bookmarklet and it always takes a while to load the Javascript file from their servers.

5. iMessage

I use SMS more than I call on my phone. Currently, WhatsApp fills this void for me, and it has been doing a great job so far. The problem is, it doesn’t allow you to use it on the iPad. Even if it did, my chat history would be all over the place. Let’s hope iMessage can do a better job.


[Images from apple.com]

iPhone 3GS Baseband Issues

How can you tell when your iPhone baseband dies?

Take a look at the top-left corner where the network status is displayed. The SIM card was inserted, the SIM PIN was entered, but it remains unconnected to the network.

As you can see from the iTunes icon, this is a newer version of iOS (4.2.1). The older version sported a different iTunes icon and when you clicked the circled i, the IMEI is unknown. At least they “fixed” handling of baseband errors in the newer iOS version.

Trying to restore version 3.1.3 of the firmware will cause iTunes to abort with an error after the iPhone has rebooted. On the version 4 iOS, this does not happen.

Still, in this state, it is impossible to activate the phone, which means it can’t be used without the network. I have tried jailbreaking the phone but it results in an endless reboot loop. My next hope would be to try some carrier unlock software of some kind.

Update 10-Jun-2011: I’ve used PwnageTool to jailbreak my phone for the first time. PwnageTool will take the ipsw, make changes and ask you to put your phone into DFU mode. It will then upload the exploit, allowing you to use iTunes to upload the modified ipsw. Since iTunes is doing the uploading, it will verify the SHSH for that firmware version.

Remember to also check the “Activate baseband” option in PwnageTool. Since the baseband has died and is unable to connect to the network, the phone cannot be activate normally.

At this point,  my iPhone 3GS behaves like an expensive iPod Touch with a better camera, and I can connect using WiFi to use my apps, but the battery drain is quite bad.

Apple’s RAOP is Cracked

For a long time now, apps can stream high-quality audio to an Airport Express or an Apple TV using the RAOP protocol. However, the reverse cannot be done due to the fact that the protocol uses asymmetric encryption, which means the private key is baked into the firmware of the Apple (or Apple-licensed) device.

Finally, someone has done something about it. James Laird dumped the ROM of his Airport Express and extracted the private key. He posted the private key to the vlc-devel mailing list.

And now, the site on which he hosts his implementation called shairport is returning HTTP 500.

Update 13-Apr-2011: The link to shairport and his site is back up.