Werken met iOS-apparaten en back-ups op de opdrachtregel
iPhone Backup Extractor bevat een opdrachtregelprogramma met de naam rictl
voor het werken met iOS-back-ups en -apparaten. rictl
draait op elk platform waarop de iPhone Backup Extractor draait, en werkt als een UNIX-stijl command line tool in termen van argument en help-syntaxis, en shell-returns.
Kenmerken in één oogopslag:
- UNIX-compatibel formaat (
$?
Shell return-codes, locale-opgemaakte datums, awk-vriendelijke uitvoer,stdout
streams van geëxporteerde gegevens) - Ondersteuning voor meerdere gelijktijdige zoekpaden
- Ondersteuning voor alle formaten van gecodeerde back-up
- Ondersteuning voor relatieve en op het huis gebaseerde (
~
) paden
Quickstart: extraheer databasebestanden van een iOS-back-up
Zoek naar back-ups die beschikbaar zijn op het lokale systeem:
$ rictl backup search
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok
Pak alle databasebestanden uit de back-up (let op de indeling voor reguliere expressies):
$ 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 ...
Commando woordenlijst
Hulp krijgen
Je kunt hulp krijgen door rictl
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
exposes a backup
mode for working with local backups, and a device
mode for working with iOS devices over USB or Wi-Fi.
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 search
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
Op zijn eenvoudigst toont search
de backups op uw systeem:
$ rictl backup search
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok
De weergegeven velden zijn witruimte gescheiden en zijn:
-
UDID
- Maken van back-uptijd
- iOS-apparaatversie
- ID van iOS-apparaat
- Back-upstatus:
ok
ofin-progress
Optie -l
toont back-uppaden
U kunt -l
gebruiken om een extra uitvoerveld met het pad van de back-up op te nemen:
$ 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
zoekt naar extra paden
U kunt -s
gebruiken om extra zoekpaden toe te voegen 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 aan spaties (
"My folder"
) of escape (My\ folder
) spaties in paden toevoegen -
-s
kunnen worden gebruikt om een back-upmap of een map met back-ups op te geven
info
gebruiken om info en metadata van lokale iOS-back-ups te krijgen
$ 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 eens proberen:
$ 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••••••
Natuurlijk, terwijl de UDID
het iOS-apparaat uniek is, kan er meer dan één back-up van zijn op je computer - bijvoorbeeld, als je een gearchiveerde back-up hebt - zoals:
$ 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 zich bevindt, 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••••••
list
om bestanden weer te geven binnen een iOS-back-up
$ 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 eens proberen:
$ 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 extraheren
$ 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
Laten we alle .db
bestanden extraheren van een back-up naar een map met de naam Extracted
en een back-upwachtwoord voor password
aanbieden:
$ 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
om gegevens van 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 worden beschikbaar gesteld in dezelfde JSON-indeling die door ricloud-API worden gebruikt, en die indelingen zijn hier gedocumenteerd .
Laten we alle berichtgegevens uit een back-up halen. Deze gegevens worden geretourneerd in de standaarduitvoerstream van de console ( stdout
), dus we gaan deze omleiden naar een bestand met de naam messages.json
. We slaan alle bijbehorende bestanden op in een map met de naam Associated files
en bieden een back-upwachtwoord voor password
:
$ 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
Wanneer u met apparaten werkt, zijn er vier opties: search
, backup
, restart
en shutdown
.
rictl
toevoegen aan je pad
iPhone Backup Extractor kan automatisch rictl
toevoegen aan het rictl
van uw Windows- of macOS-computer, via het paneel Preferences
, zodat het gemakkelijk kan worden gebruikt in elk terminal op uw computer.
U kunt echter ook zelf het pad instellen of een alias
opdracht gebruiken. De functionaliteit van rictl
is toegankelijk via het binaire bestand van de iPhone Backup Extractor, zoals te zien is in het wraps-script:
$ cat `which rictl` #!/bin/bash /Applications/iPhone\ Backup\ Extractor.app/Contents/MacOS/iPhoneBackupExtractor cli "$@"
Algemene reguliere expressiepatronen voor bestandsdoorzoekingen
- Paden vinden die eindigen met de
plist
:-r plist$
- Paden vinden met de extensie
.db
:-r \.db
Gebruik door bedrijven
Mogelijkheden voor rictl
volgen in grote lijnen die van iPhone Backup Extractor: de tool staat onbeperkte werking toe voor het verkennen van back-ups, maar zal slechts maximaal vier bestanden extraheren of vier gegevensitems tegelijk exporteren telkens wanneer het wordt uitgevoerd.
We horen graag hoe de technologie wordt gebruikt en ondersteunen een aantal bedrijven die hun interne beheer- of compliance-tools of producten hebben gebouwd bovenop deze technologie. Neem contact met ons op als dit waardevol voor je zou kunnen zijn.