I’ve released the new version of my iPhone backup tools, now called ibackuptool. It now supports generating reports with web history, photo locations, notes, and more. Appending the --dump flag to the output causes the tool to dump as much data as possible, which can be piped into a file for later analysis. Github

Check out my recently updated post about my work on backups here: Reverse Engineering the iOS Backup

This tool is also still fairly experimental, so use at your own risk! Even though the tool opens the backup files as read-only, you should still make a copy of your backups before using this if they are important.

IMPORTANT: For up-to-date documentation for ibackuptool v3 and newer, see here

Installing

# Grab the tool from NPM
npm install -g ibackuptool

Usage

# List all the backups on the system
ibackuptool -l 

# I'm using "0c1bc52c50016933679b0980ccff3680e5831162" as a placeholder.
# The list of backups contains the different UDIDs in the first column.
# Replace this with the UDID you're using
UDID="0c1bc52c50016933679b0980ccff3680e5831162"

Reports

# Using a UDID from the previous step, now you can run:
# List Installed Apps
ibackuptool -b $UDID --report apps

# List Recent Web History
ibackuptool -b $UDID --report webhistory

# List Recent Photos Geolocations (iOS 10+)
ibackuptool -b $UDID --report photolocations

# List iOS Notes
ibackuptool -b $UDID --report notes

# List iOS Notes from old database that may exist
ibackuptool -b $UDID --report oldnotes

# List calls
ibackuptool -b $UDID --report calls

# List voicemails 
ibackuptool -b $UDID --report voicemail

# List voicemail files (iOS 10+)
ibackuptool -b $UDID --report voicemail-files

# Export voicemail files (iOS 10+)
ibackuptool -b $UDID --report voicemail-files --export ./ExportedVoicemails

# List wifi networks 
ibackuptool -b $UDID --report wifi

Messages Access

# List of all conversations, indexed by ID.
# Each row starts with an ID number, which is needed for the next step.
ibackuptool -b $UDID --conversations
ibackuptool -b $UDID --report conversations

# Now, Fetch the messages with the following command
# Replace $CONVERSATION_ID with a row ID from `ibackuptool -b $UDID --conversations`
ibackuptool -b $UDID --messages $CONVERSATION_ID
ibackuptool -b $UDID --report messages --messages $CONVERSATION_ID