List of Files and Their Roles in iTunes Backups, and How to Use Them

Discussion in 'iOS Jailbreak & Cydia' started by ValleyForge, Jul 22, 2012.

  1. ValleyForge

    ValleyForge Well-Known Member

    Joined:
    May 25, 2011
    Messages:
    11,075
    Likes Received:
    2,064
    Device:
    Nexus 4
    Introduction
    When syncing your device, iTunes occasionally makes a backup of your device's settings and some media. You can manually make a back up (or update your existing backup) so everything is current by right-clicking on your device in iTunes and choosing "Back Up". A backup's contents are stored in files of random hex strings, so to read them we have to use a program such as iBackupBot. With this program, we can browse through an iTunes backup and edit, import, and export files inside it. It contains a built-in plist editor, image viewer, sqlite database editor, and hex viewer. I have gone through my iTunes backups, examining their contents and their files' contents, and have accumulated a list of them and their purposes.

    How Do I Use This?
    With this list, you can know which files do what in your iDevice, and how you can restore certain settings to your device from a backup you have. This is useful for restoring settings from a backup made from a higher iOS version to a lower one, such as iOS 6 beta > iOS 5.1.1. One important thing to note when doing this is the "Version" of the file (shown in the right in iBackupBot), since, as iOS is updated, it uses newer formats and ways of storing things. So, when restoring files from a backup of a higher iOS version to a lower one, make sure the version number on the file is lower than or equal to that of the device you are restoring it to. You can check this be looking at your device's current backup, and comparing it to the backup you are restoring files from.
    Also, restoring your device completely to an iTunes backup can slow down your device, especially when jailbroken. Restoring only the individual settings that you need back to your device this way is much better.

    Procedure
    With iBackupBot, select the backup you want to get files from, and sort them by Path by clicking on the "Path" bar at the top.
    iBackupBot1.png

    To extract file(s), check the one(s) you want and export them to a location on your computer.
    iBackupBot2.png

    Once you have the files you want, you can use a program such as WinSCP or iFunbox to transfer them to their original locations on your device. Instead of overwriting the original file, you should first rename the original file with a .bak or .orig extension so you have a backup. If the file you replace it with is not compatible (eg. from too much later of an iOS than the current iOS) and causes a problem (eg. Contacts app crashes, or you have a respring loop), you can delete it and rename the original's extension from .bak or .orig to what it was previously.
    Or, you can import the file back into the current backup of your device (if you left "Export with backup information, for import to another backup" checked), and then "Restore to backup..." your device to its backup. This will work fine (and doesn't need a jailbreak) but it will overwrite the old file, and if it causes a problem because of file incompatibilities you won't be able to revert back.

    That said, here is the list of things stored in the iTunes backup and which files you will need to copy to your device for each. Please post any suggestions and/or additions you may have.

    The path generally starts as /var/mobile/, and continues as Library/something or Media/something. This is the way iBackupBot lists them.

    Accessibility settings - Settings > General > Accessibility
    Library/Preferences/com.apple.Accessibility.plist

    Airplane Mode, WiFi, and Bluetooth - Also memorized WiFi networks
    Library/Preferences/com.apple.preferences.network
    Library/Preferences/com.apple.network.eapclient.tls.TrustExceptions.plist
    SystemConfiguration/com.apple.network.identification.plist
    SystemConfiguration/com.apple.wifi.plist
    SystemConfiguration/preferences.plist

    Calendar
    Library/Calendar/* <-The asterisk (*) means all files inside that folder
    Library/Preferences/com.apple.mobilecal*

    Call History
    Library/CallHistory/*

    Clock - Includes the current timezone, and World cities, timers, alarms, stopwatches
    Library/Preferences/com.apple.mobiletimer.plist
    Library/Preferences.com.apple.preferences.datetime.plist

    Contacts
    Library/AddressBook/*

    Device name
    SystemConfiguration/com.apple.mobilegestalt

    FaceTime
    Library/Preferences/com.apple.conference*

    Keyboard Shortcuts - Settings > General > Keyboard > Shortcuts
    Library/Keyboard/*

    Language/Keyboard languages
    Library/Preferences/.GlobalPreferences.plist
    Library/Preferences/com.apple.Preferences.plist
    Library/Preferences/com.apple.purplebuddy.plist

    Location Services - Settings > Location Services
    Library/locationd/*
    Library/Preferences/com.apple.locationd.plist

    Maps
    Library/Maps/*
    Library/Preferences/com.apple.Maps.plist

    Music settings
    Library/Preferences/com.apple.mobileipod.plist

    Notes
    Library/Notes/*
    Library/Preferences/com.apple.mobilenotes.plist

    Notification Center/Push Notification settings - Settings > Notifications
    Library/BullitenBoard/*
    Library/SpringBoard/PushStore/*
    Library/SpringBoard/applicationstate.plist
    Library/Preferences/com.apple.springboard.plist

    Camera Roll - When replacing, you should delete all files in the respected folders first
    Media/DCIM/*
    Media/PhotoData/*
    Library/Preferences/com.apple.mobileslideshow.plist

    Homescreen icon layout - Note that this will be a different file if using a tweak like InfiniFolders
    Library/SpringBoard/IconState.plist

    Restrictions settings - Settings > General > Restrictions. NOTE: This declares what is allowed by restrictions. If you are trying to bypass restrictions that have been set on you, just turn certain things to <true/>
    Library/ConfigurationProfiles/PublicInfo/EffectiveUserSettings.plist
    Library/ConfigurationProfiles/UserSettings.plist
    Library/Preferences/com.apple.springboard.plist

    Safari - Cookies, history, bookmarks, settings
    Library/Cookies/Cookies.binarycookies
    Library/Safari/*
    Library/Preferences/com.apple.WebFoundation.plist

    Safari homescreen bookmarks
    Library/WebClips/*

    Siri
    Library/Preferences/com.apple.assistant*

    SMS, MMS, iMessages, and iMessage/FaceTime settings
    Library/Preferences/com.apple.imservice*
    Library/Preferences/com.apple.madrid.plist
    Library/Preferences/com.apple.MobileSMS.plist
    Library/SMS/*

    Sounds - Settings > Sounds
    Library/Preferences/com.apple.preferences.sounds.plist
    Library/Preferences/com.apple.springboard.plist

    Stocks
    Library/Preferences/com.apple.stocks.plist

    Voice Memos
    Media/Recordings/*

    Voicemail
    Library/Voicemail/*

    Wallpaper - The HomeBackground files only exist if different from the LockBackground. CPBitmaps can be converted to PNG or JPEG with this handy website: http://cpbitmap.cleverbyte.com.au/
    Library/SpringBoard/LockBackground.cpbitmap
    Library/SpringBoard/LockBackgroundThumbnail.jpg
    Library/SpringBoard/HomeBackground.cpbitmap
    Library/SpringBoard/HomeBackgroundThumbnail.jpg

    Weather - Celcius/Fahrenheit, current city
    Library/Preferences/com.apple.weather.plist


    Here is some slightly more detailed information on each file for those that are interested.

    keychain-backup.plist - Probably a backup of data stored in keychains-2.db, which stores various passwords such as WiFi, Passcode Lock, etc. (encrypted)
    Library/AddressBook/AddressBook.sqlitedb - Contacts. These are the contacts which are in the "On my i[Pad/Phone/Pod touch]" group and are synced with iCloud, and are independent from contacts synced from mail accounts
    Library/AddressBook/AddressBookImages.sqlitedb - Contact images
    Library/Accounts/Accounts3.sqlite - Account info for the Calendars, Contacts, AppStore, and iTunes apps
    Library/BullitenBoard/ClearedSections.plist - Logs the sections in Notification Center that have been recently "Clear"ed
    Library/BullitenBoard/SectionInfo.plist - Notification settings for individual apps (Settings app > Notifications > [app name])
    Library/BullitenBoard/SectionOrder.plist - The order of the items in Notification Center (Settings > Notifications)
    Library/Caches/com.apple.WebAppCache/ApplicationCache.db - Related to data cached by websites
    Library/Caches/locationd/clients.plist - Location settings for apps and System Services (Settings > Location Services)
    Library/Caches/locationd/GyroCal.db - Gyroscope calibration
    Library/Calendar/Calendar.sqlitedb - Calendar in its entirety
    Library/Calendar/Extras.db - Extras for calendar
    Library/CallHistory/call_history.db - Call history, including Phone and FaceTime
    Library/ConfigurationProfiles/PublicInfo/EffectiveUserSettings.plist - Restrictions settings, such as which abilities are enabled (if restrictions are on)
    Library/ConfigurationProfiles/UserSettings.plist - Appears to mirror EffectiveUserSettings.plist
    Library/Cookies/com.apple.dataaccessd.[random string associated with an email account].binarycookies - Binary cookies for a specific email account
    Library/Cookies/com.apple.itunesstored.2.sqlitedb - iTunes/App Store cookies
    Library/Cookies/Cookies.binarycookies - Safari's binary cookies
    Library/DataAccess/AccountInformation.plist - Email data sync info
    Library/DataAccess/ASFolders-[random string associated with an email account] - Plist containing folder info for a specific email account
    Library/DataAccess/iCloud-[iCloud email account name]/.mboxCache.plist - iCloud email info
    Library/DataAccess/iCloud-[iCloud email account name]/.OfflineCache/[number] - iCloud emails cached for offline
    Library/itunesstored/itunesstored2.sqlitedb - iTunes/App Store payment and download info
    Library/itunesstored/itunesstored_private.sqlitedb - iTunes/App Store info
    Library/Keyboard/dynamic-text.dat - Appears to be a keylog, and then an alphabetical list of full words.
    Library/Keyboard/UserDictionary.sqlite - User-managed autocorrections (Settings > General > Keyboard > Shortcuts)
    Library/Keyboard/UserDictionaryWordKeyPairs.plist - Mirrors UserDictionary.sqlite in a different format and as a plist
    Library/Mail/AutoFetchEnabled - Plist containing one true/false value of whether Fetch is enabled for Mail
    Library/Maps/Bookmarks.plist - Maps bookmarks
    Library/Maps/History.plist - Maps history
    Library/Notes/notes.idx - Notes
    Library/Notes/notes.sqlite - Notes
    Library/Preferences/.GlobalPreferences.plist - International settings
    Library/Preferences/AppBackup/ - Created by AppBackup (a Cydia app for backing upp app data) if you use it, and contains app data backed up by it
    Library/Preferences/com.[name of company].[name of service].plist - Settings for that service. These range from preferences in the Settings app to Cydia apps.
    Library/Safari/Bookmarks.db - Safari bookmarks
    Library/Safari/History.plist - Safari history
    Library/Safari/SuspendState.plist - Suspended state of Safari, its multitasking is handled differently from most apps
    Library/SMS/Attachments/[random string associated with an MMS]/[MMS file name].[extension] - An MMS file
    Library/SMS/Attachments/[random string associated with an MMS]/[MMS file name]-preview-left.jpg - A preview/thumbnail of an MMS file
    Library/SMS/sms.db - Messages, be they iMessages or texts
    Library/SpringBoard/applicationstate.plist - App settings
    Library/SpringBoard/DesiredIconState.plist - The current organization state of the icons on the home screen
    Library/SpringBoard/IconState.plist - The last organization state of the home screen since boot, and is affected by DesiredIconState.plist and whatever is contained in /Applications and /var/mobile/Applications at boot
    Library/SpringBoard/IconSupportState.plist - Acts as IconState.plist if you have IconSupport installed
    Library/SpringBoard/LockBackground.cpbitmap - The lockscreen background, in the form of CPBitmap. Also used for the homescreen background if they are the same.
    Library/SpringBoard/LockBackgroundThumbnail.jpg - Thumbnail of the lockscreen background, used in Settings > Wallpaper. Also used for the homescreen background thumbnail if they are the same.
    Library/SpringBoard/HomeBackground.cpbitmap - The homescreen background, in the form of CPBitmap. Only exists if it is different from the lockscreen background.
    Library/SpringBoard/HomeBackgroundThumbnail.jpg - Thumbnail of the homescreen background, used in Settings > Wallpaper. Only exists if HomeBackground.cpbitmap exists.
    Library/SpringBoard/PushStore/com.[name of company].[name of app].pushstore - Plist containing push notification data for that app
    Library/Voicemail/voicemail.db - Voicemail data
    Library/WebClips/[random string associated with a homescreen bookmark].webclip/icon.png - Icon for a homescreen bookmark
    Library/WebClips/[random string associated with a homescreen bookmark].webclip/Info.plist - Properties of a homescreen bookmark
    Library/WebClips/[random string associated with a homescreen bookmark].webclip/startup.png - Splashscreen of a homescreen bookmark
    Media/DCIM/[number1]APPLE/IMG_[number2].[extension] - Media file in the Camera Roll, be it photo, screenshot, video, or saved from elsewhere. Number1 is the number of the Camera Roll, which depends on how many Camera Rolls you've had and ranges from 100-999. Number2 is the chronological number of the file in the Camera Roll, which ranges from 0001-9999.
    Media/PhotoData/Metadata/DCIM/[number >= 100]APPLE/IMG_[number of video in Camera Roll].JPG - Preview image of a video in the Camera Roll before you press the play button
    Media/PhotoData/Metadata/DCIM/[number >= 100]APPLE/IMG_[number of video in Camera Roll].THM - Thumbnail of a video in the Camera Roll
    Media/PhotoData/Metadata/PhotoData/Sync/[number >= 100]SYNCD/IMG_[number of video in Camera Roll].JPG - Corresponds to its parallel in Media/PhotoData/Metadata/DCIM/[number >= 100]APPLE/IMG_number of video in Camera Roll].JPG
    Media/PhotoData/Metadata/PhotoData/Sync/[number >= 100]SYNCD/IMG_[number of video in Camera Roll].THM - Corresponds to its parallel in Media/PhotoData/Metadata/DCIM/[number >= 100]APPLE/IMG_number of video in Camera Roll].THM
    Media/PhotoData/MISC/DCIM_APPLE.plist - States the current Camera Roll number and the number of the last media placed into the Camera Roll
    Media/PhotoData/MISC/PreviewWellImage.tiff - Thumbnail of the Camera Roll when in the root of the Photos app
    Media/PhotoData/Photos.sqlite - Photo data
    Media/PhotoData/Photos.sqlite.aside - Appears to be some sort of backup of Photos.sqlite
    Media/Recordings/[date] [time].m4a - Voice Memo, named YYYYMMDD HHMMSS.m4a
    Media/Recordings/AssetManifest.plist - Manifest of Voice Memo data
    Media/Recordings/Recordings.db - Voice Memo data
    Media/Recprdings/SyncedAssets.plist - Sync info of Voice Memos
    SystemConfiguration/com.apple.accounts.exists.plist - List of accounts that are enabled/disabled on your device
    SystemConfiguration/com.apple.AutoWake.plist - List of times that the device is scheduled to automatically connect to WiFi (persistent Wifi for ya)
    SystemConfiguration/com.apple.mobilegestalt - Contains the device name
    SystemConfiguration/com.apple.network.identification.plist - Network info, such as memorized SSID's to automatically connect to
    com.apple.radios.plist - Airplane Mode toggle
    SystemConfiguration/com.apple.wifi.plist - Network info, such as memorized SSID's to automatically connect to
    SystemConfiguration/preferences.plist - Network info
    Last edited: Oct 1, 2012
  2. tw23

    tw23 Community Development Staff Member

    Joined:
    Sep 11, 2010
    Messages:
    4,623
    Likes Received:
    510
    Nice tut ;) .
    canniballer and ValleyForge like this.
  3. chickenmatt5

    chickenmatt5 Community Development Staff Member

    Joined:
    Aug 3, 2010
    Messages:
    3,870
    Likes Received:
    488
    Device:
    iPhone 5 (Black)
    Has anyone actually implemented this in a downgrade from iOS 6? I'm considering it.
  4. ValleyForge

    ValleyForge Well-Known Member

    Joined:
    May 25, 2011
    Messages:
    11,075
    Likes Received:
    2,064
    Device:
    Nexus 4
    I did it with my iPod from 6.0b3 to 5.1.1 and got most of my data back, except for app data D: but that's just because I forgot to make an AppBackup backup. You can use AppBackup or DataDeposit for app data. But pay attention to the file "Version"s, otherwise you can get into a respring loop.
  5. chickenmatt5

    chickenmatt5 Community Development Staff Member

    Joined:
    Aug 3, 2010
    Messages:
    3,870
    Likes Received:
    488
    Device:
    iPhone 5 (Black)
    My 4S cannot be jailbroken, so I can't get any Cydia backup package. iBackupBot shows data that apps back up, can't you just transfer it like any other file?
    Also, beta 4 just came out, so I'm not so sure about downgrading anymore.
  6. ValleyForge

    ValleyForge Well-Known Member

    Joined:
    May 25, 2011
    Messages:
    11,075
    Likes Received:
    2,064
    Device:
    Nexus 4
    Lol, the beta doesn't matter, they are basically the same and the file version for b4 is still 4.0x. You can extract data from apps individually and then add them like that, but I have about 200 apps :p
  7. tw23

    tw23 Community Development Staff Member

    Joined:
    Sep 11, 2010
    Messages:
    4,623
    Likes Received:
    510
    You should change the title, because it's too long and not catchy ;) .
    Good article though.
    ale624 and ValleyForge like this.
  8. Stromos

    Stromos Active Member

    Joined:
    Sep 23, 2008
    Messages:
    457
    Likes Received:
    108
    Device:
    iPhone 5S
    Hey what do I need to copy email accounts over.

    Does this software ever go on sale?
  9. ValleyForge

    ValleyForge Well-Known Member

    Joined:
    May 25, 2011
    Messages:
    11,075
    Likes Received:
    2,064
    Device:
    Nexus 4
    I'll make a section for that when I get home. For now:
    Library/Cookies/com.apple.dataaccessd.*.binarycookies
    Library/DataAccess/AccountInformation.plist
    Library/DataAccess/ASFolders-*
    Library/DataAccess/iCloud-*/.mboxCache.plist
    Library/DataAccess/iCloud-*/.OfflineCache/*
    Library/Mail/AutoFetchEnabled
  10. Stromos

    Stromos Active Member

    Joined:
    Sep 23, 2008
    Messages:
    457
    Likes Received:
    108
    Device:
    iPhone 5S
    Maybe I am missing something but I was just tinkering with the demo and it looks like you can only override files with iBackupbot and not add new ones. If this is true then I would still have to jailbreak to restore the camera roll. I have no idea why Apple doesn't just allow selective restores. I really want to start fresh for my new iPod Touch when it comes but I really don't want to lose save games, pictures, sms, mail accounts, etc.

Share This Page