Utilisation de périphériques iOS et de sauvegardes en ligne de commande
iPhone Backup Extractor inclut un outil de ligne de commande appelé rictl
pour travailler avec les sauvegardes et les périphériques iOS. rictl
fonctionne sur toutes les plateformes sur lesquelles iPhone Backup Extractor est exécuté et fonctionne comme tout outil de ligne de commande de style UNIX en termes d'argument, de syntaxe d'aide et de retours de shell.
Caractéristiques en un coup d'œil:
- Format compatible UNIX (codes de retour
$?
Shell, dates au format local, sortie awk-friendly, fluxstdout
de données exportées) - Prise en charge de plusieurs chemins de recherche simultanés
- Prise en charge de tous les formats de sauvegarde cryptée
- Prise en charge des chemins relatifs et à domicile (
~
)
Démarrage rapide: extraire des fichiers de base de données à partir d'une sauvegarde iOS
Recherchez les sauvegardes disponibles sur le système local:
$ rictl backup search
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok
Extrayez tous les fichiers de base de données de la sauvegarde (notez le format de l'expression régulière):
$ 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 ...
Glossaire de commande
Obtenir de l'aide
Vous pouvez obtenir de l'aide en utilisant rictl
comme vous le souhaitez, avec la commande d' 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.
Travailler avec des sauvegardes locales
$ 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
Lorsque vous utilisez des sauvegardes, cinq options sont disponibles: search
, info
, list
, extract
et export
.
Utilisation de la search
pour rechercher des sauvegardes iOS locales
$ 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
Au plus simple, la search
vous montrera les sauvegardes sur votre système:
$ rictl backup search
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok
Les champs affichés sont séparés par des espaces et sont:
-
UDID
- Heure de création de la sauvegarde
- version de l'appareil iOS
- identifiant d'appareil iOS
- Etat de la sauvegarde:
ok
ouin-progress
Option -l
affiche les chemins de sauvegarde
Vous pouvez utiliser -l
pour inclure un champ de sortie supplémentaire avec le chemin de la sauvegarde:
$ 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
Option -s
recherche des chemins supplémentaires
Vous pouvez utiliser -s
pour inclure des chemins de recherche supplémentaires lors de la recherche de sauvegardes.
$ 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
- Comme vous vous en doutez, vous pouvez citer (
"My folder"
) ou échapper (My\ folder
) dans les chemins -
-s
peut être utilisé pour spécifier un dossier de sauvegarde ou un dossier contenant des sauvegardes
Utilisation d' info
pour obtenir des informations et des métadonnées à partir de sauvegardes iOS locales
$ 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
Essayons ça:
$ 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••••••
Bien sûr, bien que l' UDID
l'appareil iOS soit unique, il peut exister plusieurs sauvegardes sur votre ordinateur, par exemple si vous avez une sauvegarde archivée, comme ceci:
$ 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'.
Quelle est la solution? Limitez le chemin de recherche en spécifiant le dossier dans lequel se trouve la sauvegarde, plutôt que le dossier contenant le dossier de la sauvegarde!
$ 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••••••
Utiliser list
pour lister les fichiers dans une sauvegarde iOS
$ 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
Essayons-le:
$ 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 ...
Utilisation de l' extract
pour extraire des fichiers d'une sauvegarde iOS
$ 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
.db
tous les fichiers .db
d'une sauvegarde dans un dossier nommé Extracted
et proposons un mot de password
de sauvegarde mot de password
:
$ 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 ...
Utilisation de l' export
pour exporter des données à partir d'une sauvegarde iOS
$ 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
Les données exportées sont rendues disponibles dans le même format JSON que celui utilisé par l'API ricloud, et ces formats sont documentés ici .
Extrayons toutes les données du message à partir d'une sauvegarde. Ces données seraient renvoyées sur le flux de sortie standard de la console ( stdout
). Nous allons donc les rediriger vers un fichier nommé messages.json
. Nous enregistrerons tous les fichiers associés dans un dossier nommé Associated files
et proposerons un mot de password
de sauvegarde, mot de 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": [] }, ...
Travailler avec des appareils
$ 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
Lorsque vous travaillez avec des périphériques, quatre options sont disponibles: search
, backup
, restart
et shutdown
.
Ajouter rictl
à votre chemin
iPhone Backup Extractor peut ajouter automatiquement rictl
au rictl
de votre ordinateur Windows ou macOS, à l'aide du volet Preferences
, de sorte qu'il puisse facilement être utilisé dans n'importe quel terminal de votre ordinateur.
Cependant, vous pouvez également définir le chemin vous-même ou utiliser une commande d' alias
. La fonctionnalité de rictl
est accessible via le fichier binaire de l'iPhone Backup Extractor, comme l'indique le script d'emballage:
$ cat `which rictl` #!/bin/bash /Applications/iPhone\ Backup\ Extractor.app/Contents/MacOS/iPhoneBackupExtractor cli "$@"
Modèles d'expression régulière communs pour les recherches de fichiers
- Recherche des chemins qui se terminent par le
plist
texte:-r plist$
- Recherche de chemins avec l'extension de fichier
.db
:-r \.db
Utilisation en entreprise
Les capacités de rictl
suivent globalement celles de iPhone Backup Extractor : l'outil permet un fonctionnement illimité pour explorer les sauvegardes, mais n'extrait que jusqu'à quatre fichiers ou n'exporte que quatre éléments de données à la fois à chaque exécution.
Nous sommes impatients de savoir comment la technologie est utilisée et de soutenir un certain nombre d'entreprises qui ont construit leurs outils ou produits de gestion interne ou de conformité sur cette technologie. S'il vous plaît contactez-nous si cela peut être précieux pour vous.