I had my MacBook Pro stolen the other day, and now need to sync my iPhone with my new MacBook Pro. Unfortunately I cannot use the "Backup iPhone" trick because the backups are encrypted and the encryption checkbox is force checked.
So, here's my procedure:
Use a Windows machine to run iPhoneBrowser (is there an OSX equivalent?)
Downloads - iphonebrowser - Project Hosting on Google Code
Browse to the [root]/iTunes_Control/iTunes folder on the phone.
Right click on the file "iTunesPrefs" (not "iTunesPrefs.plist") and select "save as".
Use a hex editor (I prefer XVI32 when on Windows) to read bytes 12-19 in that file. This is the Persistent ID in reverse order.
Freeware Hex Editor XVI32
On the new computer, get HexEdit (or if your new computer is Windows, you can keep using XVI32)
Download HexEdit from SourceForge.net
Edit your "iTunes Music Library.xml" file (on OSX, that is in ~/Music/iTunes) to replace the "Library Persistent ID" value with the value you obtained from the iPhone. (copy the old value from this file for use in a find+replace in the next step)
Finally, use find+replace on your "iTunes Library" file (in HEX mode!) to replace the old Persistent ID you saw in the xml file with your new one.
And then try the phone sync, and it should accept your iPhone
