How to fetch app data from iPhone with full backup

A lot of people use iPhone, and we know that the app is run in sandbox in iPhone, and it’s difficult to get data from the app, but I find…

How to fetch app data from iPhone with full backup

A lot of people use iPhone, and we know that the app is run in sandbox in iPhone, and it’s difficult to get data from the app, but I find that we can get the app data through full backup.

I know that we can get the data from iPhone through full backup the iPhone, but I didn’t do it for a long time, and recently one of my friend said that she use an app a lot for several years, and there are a lot of data that she kept, but the app was took down by the developer, and because she upgrade the iOS system, so the app needs to upgrade and can’t open again. She even contact with the owner of the app, and they said that they have no idea. So I thought about help to to get the app data with full backup, if the app’s data was not encrypted, then I will get them.

After do a full backup, I try to find the bundle and search the files in the backup, and finally I help her get the data back.

How to get the data

Here is what I have done, after full backup, please make sure use the no encryption option. The backup folder is under ~/Library/Application Support/MobileSync/Backup , there was a uuid of backup, under the backup folder, there was a file named Manifest.db , copy it to other directory such as ~/Downloads and open it with a sqlite client, there are two tables in the database, Files and Properties , we can find the data from the Files table.

The schema for the Files table

CREATE TABLE Files (fileID TEXT PRIMARY KEY, domain TEXT, relativePath TEXT, flags INTEGER, file BLOB); 
CREATE INDEX FilesDomainIdx ON Files(domain); 
CREATE INDEX FilesRelativePathIdx ON Files(relativePath); 
CREATE INDEX FilesFlagsIdx ON Files(flags);

After search the record in the Files table, we can find the fileID and relativePath, if the relativePath is a file, then we can find the file with fileID, it was under the folder start with the first two letter.

For example the fileID is aabf6805c3ab397d6dc0e1a7380ede734ada02a2 the file should under folder aa , and we can copy the file to other directory with the real name in the relativePath.

Hope you can find your files from the mobile full backup when needed.