I am looking to design a program in Microsoft Visual Studio 2008 in C# obviously in Windows that will read an iPhone backup folder and display some of the main contents, for example the SMS's and the call history.

The main problem I face I think is interpreting the file names and being able to get to the databases because actually reading the SQLite database should be pretty easy

iTunes stores the backup here

\Users\USERNAME\AppData\Roaming\Apple Computer\MobileSync\Backup

I know that iTunes stores the backup files with hex-encoded SHA1 hashes and I don't know how to interoperate this.

For example from the main backup folder there are all the device backups and then the files contained within that backup.



Backup Folder --------- Backup Name ------------- A file from in the backup (SMS location)

\Backup\Dan's iPhone4\sms.db (and the other files in that directory)

Above is the location of the SMS database but obviously I cannot read that without interoperating the SHA1 hashes of the file

The other important files contained within the backup are

What files do I parse and how to do this?

Sorry if this doesn't make sense to anyone else but it makes sense to me so I can't simplify if without further questions.

Is anyone able to assist me with this?

I greatly appreciate all and any help to writing this program



Can you define the word "interoperating" in this context? Do you mean, "interpreting"? SHA-1 is a one-way hashing algorithm. You can't convert it back to its "original" string.

sorry yes I do mean interpreting - spelling mistake on my part there

I know you can't convert the SHA1 back, doesn't work like that but In one of the main .plist files in the backup all of these hashes and their original names / directories / domains are stored.

If you have even used an iPhone backup recovery tool (or seen) you may understand what I need to do better

This is a screen shot of when the backup looks like in a mac (looks the same in windows just with windows look)

These are a few screen shots from a basic Mac backup reader

This is the sort of thing I'm looking to create, just don't know where to start with coding the reading of the files