Utiliser rictl pour travailler avec des sauvegardes en ligne de commande

Mis à jour

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, flux stdout 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 ( ~ )

 klzzwxh:0002  shown in macOS Terminal
rictl affiché dans le terminal macOS

 klzzwxh:0004  shown in Windows Command Prompt
rictl affiché dans l'invite de commande Windows

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

Use 'rictl help <command>' for detailed help on a particular command

À l’heure actuelle, rictl expose un mode de backup permettant de travailler avec des sauvegardes locales.

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:

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": []
  },
...

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.

iPhone Backup Extractor's "Scripting" preferences pane
Volet Préférences "Script" de l'iPhone Backup Extractor

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 fonctionnalités de rictl globalement rictl celles d’iPhone Backup Extractor: cet outil permet une exploration illimitée des sauvegardes, mais rictl que quatre fichiers au maximum ou n’exporte que quatre éléments de données à la fois à chaque exécution. Cela peut être évité en exécutant l'outil plusieurs fois.

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.

Comment pouvons nous aider?

Notre équipe de support est là pour vous aider!

Nos bureaux sont ouverts du lundi au vendredi, de 9 h à 17 h GMT. L’heure est actuellement 4:33 Matin GMT.

Notre objectif est de répondre à tous les messages en un jour ouvrable.

Aller à la section support › Contactez le support ›
Notre superbe équipe de support

Pouvons-nous améliorer cet article?

Nous aimons entendre les utilisateurs: pourquoi ne pas nous envoyer un email, laisser un commentaire ou tweet @reincubate?

© 2008 - 2019 Reincubate Ltd. Tous droits réservés. Enregistré en Angleterre et au Pays de Galles #5189175, VAT GB151788978. Reincubate® est une marque déposée. Confidentialité et modalités. Nous recommandons l'authentification multi-facteurs. Construit avec à Londres.