A rust port of ibackuptool.
This project is currently under development and is not suitable for normal use yet.
This port will have a smaller scope than the original tool, with it's primary focus being file extraction. Additional tools may be integrated as separate binaries.
The goals of this project are:
- backup manifest / info parsing
- backup decryption
- implement aes key unwrap routines and manifest unlock
- load manifest into memory as decrypted copy
- file encryption key unwrap
- api for file read access
- backup file extraction
- provide rust library for custom use
- compatibility with old backups via manifest.mbdb
1. List Available Backups
$ ibackuptool2 ls id=6159067247acb912ceb1fbc0f54ae7d2dd693d87 name=iPad product=iPad Air 2 iOS=13.1 encrypted=true dir="6159067247acb912ceb1fbc0f54ae7d2dd693d87"
2a. List Files in Backup
$ ibackuptool2 ls-files -b "6159067247acb912ceb1fbc0f54ae7d2dd693d87" # output format: id, domain, relativePath 735f4f65879e10473dae4050ceee99fbb69de281: CameraRollDomain, Media # .. [truncated]
2b. Extract Files in Backup
$ ibackuptool2 extract -b "6159067247acb912ceb1fbc0f54ae7d2dd693d87" -o "./output" # (status output for each file that's extracted)