iBake icon indicating copy to clipboard operation
iBake copied to clipboard

iBake is an iOS backup extractor and utility

iBake

iBake (iOS BAcKup Extractor) is a iPhone (iPad/iPod Touch) backup manipulating tool.

What iBake can do:

  • Manipulate backups
  • Extract files from Backup
  • Recover data from uncomplete backup
  • Downgrade backup to make it restorable on a lower version

What iBake can't do:

  • Backup your iPhone
  • Restore backup on your iPhone

Currently, iBake only works on macOS. Windows support will be added... someday?

TODO:

  • [ ] Support Windows
  • [ ] Support encrypted backups
  • [ ] Support iCloud Backups

Installation

Just paste this in a terminal (sudo permissions required!)

sudo curl -o /usr/local/bin/ibake https://raw.githubusercontent.com/Maxmad68/ibake/master/ibake.py && sudo chmod +x /usr/local/bin/ibake && echo && echo "Successfully installed iBake"

Usage

Extract a backup:

ibake extract <Backup-ID> <Extraction-Path>
ibake extract <Backup-ID> <Extraction-Path> -d <domain>
ibake extract <Backup-ID> <Extraction-Path> -d <domain> -f <file>
ibake extract <Backup-ID> <Extraction-Path> -h <hash>

List all backups:
ibake list
ibake list <Directory>

Print information about a backup:
ibake info <Backup-ID>
ibake info <Backup-ID> -a    (Show apps list)

Read backup:
ibake read <Backup-ID> domains
ibake read <Backup-ID> files
ibake read <Backup-ID> files -d <domain>

Upload file to backup:
ibake upload <Backup-ID> <Local-file> <Domain-name> <Backup-path>

Downgrade backup:
This command allows you to make a backup compatible with a device on an older version. (For exemple, an iOS 16 backup could be restored on an iOS 15 device) Note that some backuped items may not be compatible with the "destination" version. Please make sure to have a working copy of your backup before using this command.
The iOS-Version parameter and the iOS-Build-Number must correspond.

Please read this page

ibake downgrade <Backup-ID> <iOS-Version> <iOS-Build-Number> [-f]
ibake downgrade <Backup-ID> <IPSW File> [-f]

Downgrade from iOS 16 to iOS 15: Tested


Generate file name hash:
ibake hash <Domain-name> <Relative-path>

Note that all Backup-ID may be a path.

Examples

Retrieve SMS database:

ibake extract <Backup-ID> ~/sms.db -d HomeDomain -f Library/SMS/sms.db
 

Retrieve all camera roll:

ibake extract <Backup-ID> Camera-roll -d CameraRollDomain