iPhone Backup Extractor bevat een opdrachtregeltool met de naam rictl voor het werken met iOS-back-ups en -apparaten. rictl draait op elk platform waarop iPhone Backup Extractor draait en werkt qua argumenten, helpsyntaxis en shell-retourwaarden zoals elke opdrachtregeltool in UNIX-stijl.
De functies in het kort:
- UNIX-compatibel formaat (shell-retourcodes
$?, datums in de notatie van je taalregio, awk-vriendelijke uitvoer,stdout-streams van geëxporteerde gegevens) - Ondersteuning voor meerdere gelijktijdige zoekpaden
- Ondersteuning voor alle formaten van versleutelde back-ups
- Ondersteuning voor relatieve paden en paden die beginnen bij de thuismap (
~)

rictl in de macOS Terminal

rictl in de Windows-opdrachtprompt
Snelstart: databasebestanden uit een iOS-back-up halen
Zoek back-ups die op het lokale systeem beschikbaar zijn:
$ rictl backup search
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok
Haal alle databasebestanden uit de back-up (let op de notatie van de reguliere expressie):
$ rictl backup extract -u 00000000-0000000000000000 -r "\.db"
Extracting HomeDomain/Library/Voicemail/voicemail.db
Extracting HomeDomain/Library/Safari/Bookmarks.db
Extracting RootDomain/Library/Caches/locationd/consolidated.db
Extracting WirelessDomain/Library/CallHistory/call_history.db
...
Opdrachtenlijst
Hulp krijgen
Je kunt hulp bij rictl krijgen zoals je zou verwachten, met de opdracht rictl help:
$ rictl help
Usage: rictl <command> [args]
Available commands:
backup Work with a local backup
device Work with devices over USB and Wi-Fi
Use 'rictl help <command>' for detailed help on a particular command
rictl biedt een modus backup voor het werken met lokale back-ups en een modus device voor het werken met iOS-apparaten via USB of wifi.
Werken met lokale back-ups
$ rictl help backup
Usage: rictl backup <command> [args]
Work with local backups
Available commands:
search Search for local backups
info Show info about a backup
list List files in a backup
extract Extract files from a backup
export Export data from a backup
Use 'rictl help backup <command>' for detailed help on a particular backup command
Bij het werken met back-ups zijn er vijf opties: search, info, list, extract en export.
search gebruiken om te zoeken naar lokale iOS-back-ups
$ rictl help backup search
Usage: rictl backup search [args]
Search for local backups
Available arguments:
-s, --search-path=VALUE path to search for backups (two directories deep)
-l include full path in listing output
-h, --help show this message and exit
In de eenvoudigste vorm toont search de back-ups op je systeem:
$ rictl backup search
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok
De getoonde velden zijn door witruimte gescheiden en zijn:
UDID- Aanmaaktijd van de back-up
- Versie van het iOS-apparaat
- Identificatiecode van het iOS-apparaat
- Back-upstatus:
okofin-progress
UDID’s bestaan in twee formaten
Vergeet niet dat de UDID’s van Apple twee verschillende formaten hebben. rictl ondersteunt beide.
Optie -l toont back-uppaden
Met -l voeg je een extra uitvoerveld met het pad van de back-up toe:
$ rictl backup search -l
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok /Users/afit/Library/Application Support/MobileSync/Backup/00000000-0000000000000000
Optie -s doorzoekt extra paden
Met -s voeg je extra zoekpaden toe bij het zoeken naar back-ups.
$ rictl backup search -s /Users/afit/Google\ Drive\ File\ Stream/My\ Drive/My\ backups/ -s Downloads/
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok
DB72CB76A00CB81675F19907D4AC2B298628D83C 09/06/2014 13:57:08 7.1.1 iPhone6,2 ok
DB72CB76A00CB81675F19907D4AC2B298628D83C 23/07/2014 12:37:55 8.0 iPhone6,2 ok
DB72CB76A00CB81675F19907D4AC2B298628D83C 28/07/2014 12:43:56 8.0 iPhone6,2 ok
CDBF062964613D325EB9E41AD83E85EA16B7E399 10/02/2014 14:29:59 7.0.4 iPad4,1 ok
57BE3B9E8087809F53666B887B9DD81B06299078 29/07/2014 14:18:54 7.1 iPhone3,1 ok
F60040E968F533434B9B6CCA10C7E0C673B7CC13 07/10/2014 09:44:17 8.0.2 iPhone7,2 ok
CC5D2A27218BD9E4A14B1E59918171A8676EF5BB 26/03/2015 11:07:42 2.2.1 iPhone1,1 ok
46A663D1A1A5C5146476A2C6164EA5F5FE771294 26/03/2015 11:09:54 4.2.1 iPhone1,2 ok
9F8FDEEFFCDA4BD53CA4D6F8229A04497CA5FA4C 31/10/2016 17:05:36 10.1.1 iPhone9,4 ok
- Zoals je zou verwachten, kun je spaties in paden tussen aanhalingstekens zetten (
"My folder") of escapen (My\ folder) -skan worden gebruikt om een back-upmap of een map met back-ups op te geven
Standaardzoekpaden
rictl neemt altijd het standaardzoekpad voor iOS-back-ups mee in zijn zoekopdrachten, samen met alle extra zoekmappen die in iPhone Backup Extractor zijn ingesteld.
info gebruiken om info en metagegevens uit lokale iOS-back-ups op te halen
$ rictl help backup info
Usage: rictl backup info [args]
Show info about a backup
Available arguments:
-u, --udid=VALUE backup UDID
-s, --search-path=VALUE path to search for backups (two directories deep)
-h, --help show this message and exit
Laten we dat uitproberen:
$ rictl backup info -u 00000000-0000000000000000
UDID: 00000000-0000000000000000
Path: /Users/afit/Library/Application Support/MobileSync/Backup/00000000-0000000000000000
Backup in progress: False
Device name: Aidan's iPhone
Backup display name: Aidan's iPhone
Backup date: 02/07/2019 11:33:41
Backup size: 104258399691 bytes
Backup encrypted: True
Product version: 12.3.1
Product type: iPhone11,6
Serial number: FK1XH•••KPH6
Phone Number: +44 •••• ••••••
ICCID: 894411••••••••••••5
MEID: 35728209••••••
Hoewel de UDID van het iOS-apparaat uniek is, kunnen er natuurlijk meerdere back-ups van op je computer staan, bijvoorbeeld als je een gearchiveerde back-up hebt, zoals hier:
$ rictl backup search -l | grep B919
DB72CB76A00CB81675F19907D4AC2B298628D83C 09/06/2014 13:57:08 7.1.1 iPhone6,2 ok /Users/afit/Library/Application Support/MobileSync/Backup/backup1
DB72CB76A00CB81675F19907D4AC2B298628D83C 23/07/2014 12:37:55 8.0 iPhone6,2 ok /Users/afit/Library/Application Support/MobileSync/Backup/backup2
DB72CB76A00CB81675F19907D4AC2B298628D83C 28/07/2014 12:43:56 8.0 iPhone6,2 ok /Users/afit/Library/Application Support/MobileSync/Backup/backup3
$ rictl backup info -u DB72CB76A00CB81675F19907D4AC2B298628D83C
Multiple backups found with UDID DB72CB76A00CB81675F19907D4AC2B298628D83C. Use the '--search-path' option to specify the backup's location. This can be shown with the '-l' argument on 'rictl backup search'.
Wat is de oplossing? Beperk het zoekpad door de map op te geven waarin de back-up staat, in plaats van de map die de map van de back-up bevat!
$ rictl backup info -s /Users/afit/Library/Application Support/MobileSync/Backup/backup3 -u DB72CB76A00CB81675F19907D4AC2B298628D83C
UDID: DB72CB76A00CB81675F19907D4AC2B298628D83C
Path: /Users/afit/Library/Application Support/MobileSync/Backup/backup3
Backup in progress: False
Device name: Aidan's iPhone
Backup display name: Aidan's iPhone
Backup date: 28/07/2014 12:43:56
Backup size: 239001214 bytes
Product version: 8.0
Product type: iPhone6,2
Serial number: C7KNG•••G5MV
Phone Number: +44 •••• ••••••
ICCID: 894411••••••••••••5
MEID: 35728209••••••
Waarom is `-u` sneller dan `-s` bij het opgeven van back-ups?
Je merkt misschien dat het selecteren van back-ups met -u aanzienlijk sneller kan zijn dan met -s.
Dit is snel:
$ rictl backup extract -u 00000000-0000000000000000
Dit is langzamer:
$ rictl backup extract -u 00000000-0000000000000000 -s "My backups"
Deze opdrachten leiden tot twee heel verschillende dingen. De opdracht -u haalt back-ups op uit de standaardzoeklocatie (en eventuele zoekpaden die al in iPhone Backup Extractor zijn ingesteld), terwijl -s één niveau onder het pad zoekt dat je opgeeft, omdat je mogelijk een map met back-ups of een back-upmap zelf bedoelt.
Back-ups hebben vaak veel submappen. Als -s dus controleert of je geen back-up binnen een back-up hebt genest (we hebben het al gezien!), kan dat even duren.
list gebruiken om bestanden in een iOS-back-up weer te geven
$ rictl help backup list
Usage: rictl backup list [args]
List files in a backup
Available arguments:
-u, --udid=VALUE backup UIUD
-s, --search-path=VALUE path to search for backups (two directories deep)
-p, --password=VALUE backup password
-l use a long listing format
-r, --pattern=VALUE file pattern (regex)
--allow-in-progress allow use of in-progress backups
-h, --help show this message and exit
Laten we het uitproberen:
$ rictl backup list -u 00000000-0000000000000000 -r plist$ -l
rw-r--r-- 321 24/06/2019 13:04:37 ManagedPreferencesDomain\mobile\.GlobalPreferences.plist
rw------- 16975 21/06/2019 14:52:54 AppDomainPlugin-com.apple.stocks.widget\Library\Preferences\com.apple.stocks.widget.plist
rw-r--r-- 219 01/07/2019 09:37:24 HomeDomain\Library\UserNotifications\A4CCFF5B-F963-425F-8068-729972F77C67\DeliveredNotifications.plist
...
extract gebruiken om bestanden uit een iOS-back-up te halen
$ rictl help backup extract
Usage: rictl backup extract [args]
Extract files from a backup
Available arguments:
-u, --udid=VALUE backup UIUD
-s, --search-path=VALUE path to search for backups (two directories deep)
-p, --password=VALUE backup password
-o, --output-path=VALUE path to extract files to
-r, --pattern=VALUE file pattern (regex)
--allow-in-progress allow use of in-progress backups
-h, --help show this message and exit
We halen alle .db-bestanden uit een back-up naar een map met de naam Extracted en geven als back-upwachtwoord password op:
$ rictl backup extract -u 00000000-0000000000000000 -r "\.db" -o "Extracted" -p "password"
Extracting HomeDomain/Library/Voicemail/voicemail.db
Extracting HomeDomain/Library/Safari/Bookmarks.db
Extracting RootDomain/Library/Caches/locationd/consolidated.db
Extracting WirelessDomain/Library/CallHistory/call_history.db
...
export gebruiken om gegevens uit een iOS-back-up te exporteren
$ rictl help backup export
Usage: rictl backup export [args]
Export data from a backup
Available arguments:
-u, --udid=VALUE backup UIUD
-s, --search-path=VALUE path to search for backups (two directories deep)
-p, --password=VALUE backup password
-t, --type=VALUE data type (messages, whatsapp, viber, kik, wechat,
line, hike, tinder, photos, videos, recordings,
contacts, calendar, notes, calls, locations,
voicemail)
-o, --output-path=VALUE associated file output path
-r, --pattern=VALUE search pattern (regex)
-f, --force allow overwriting exising files
--allow-in-progress allow use of in-progress backups
-h, --help show this message and exit
Geëxporteerde gegevens zijn beschikbaar in hetzelfde JSON-formaat dat de ricloud API gebruikt. Die formaten zijn hier gedocumenteerd.
We halen alle berichtgegevens uit een back-up. Deze gegevens worden teruggegeven op de standaarduitvoerstroom (stdout) van de console, dus we leiden ze om naar een bestand met de naam messages.json. Bijbehorende bestanden slaan we op in een map met de naam Associated files en we geven als back-upwachtwoord password op:
$ rictl backup export -u 00000000-0000000000000000 -t messages -o "Associated files" -p "password" > messages.json
...
$ cat messages.json
[
{
"From": "789789",
"To": "Me",
"Date": "2012-12-17T14:12:30Z",
"Deleted": false,
"Message": "All done! You're now on our Big Data Texts Tariff. We switched you over on 17/12/12",
"Attachments": []
},
{
"From": "789789",
"To": "Me",
"Date": "2012-12-17T18:12:50Z",
"Deleted": false,
"Message": "You have 300 Texts and Unlimited data",
"Attachments": []
},
...
Werken met apparaten
$ rictl help device
Usage: rictl device <command> [args]
Work with devices over USB and Wi-Fi
Available commands:
search Show connected devices over USB and Wi-Fi
backup Backup a connected device
restart Restart a connected device
shutdown Shutdown a connected device
Use 'rictl help device <command>' for detailed help on a particular device command
Bij het werken met apparaten zijn er vier opties: search, backup, restart en shutdown.
rictl aan je pad toevoegen
iPhone Backup Extractor kan rictl automatisch toevoegen aan het pad van je Windows- of macOS-computer via het onderdeel Preferences, zodat je het gemakkelijk in elke terminal op je computer kunt gebruiken.

Het voorkeurenonderdeel „Scripts” van iPhone Backup Extractor
Je kunt het pad echter ook zelf instellen of een alias-opdracht gebruiken. De functionaliteit van rictl is bereikbaar via het binaire bestand van iPhone Backup Extractor, zoals het wrapperscript laat zien:
$ cat `which rictl`
#!/bin/bash
/Applications/iPhone\ Backup\ Extractor.app/Contents/MacOS/iPhoneBackupExtractor cli "$@"
Veelgebruikte patronen met reguliere expressies voor het zoeken naar bestanden
- Paden vinden die eindigen op de tekst
plist:-r plist$ - Paden vinden met de bestandsextensie
.db:-r \.db
Zakelijk gebruik
De mogelijkheden van rictl komen grotendeels overeen met die van iPhone Backup Extractor: de tool staat onbeperkt gebruik toe om back-ups te verkennen, maar haalt bij elke uitvoering hooguit vier bestanden uit een back-up of exporteert hooguit vier gegevensitems.
We horen graag hoe de technologie wordt gebruikt en ondersteunen een aantal bedrijven die hun interne beheer- of compliancetools of -producten op deze technologie hebben gebouwd. Neem contact met ons op als dit iets voor jou kan zijn.
