コマンドラインでiOSデバイスとバックアップを操作する
iPhone Backup Extractorには、iOSのバックアップとデバイスをrictl
ためのrictl
という名前のコマンドラインツールがrictl
れています。 rictl
は、iPhone Backup Extractorが実行されているすべてのプラットフォーム上で動作し、引数およびヘルプ構文、およびシェルリターンに関しては、UNIXスタイルのコマンドラインツールのように動作します。
一目でわかる機能:
- UNIX互換フォーマット(
$?
シェルのリターンコード、ロケールフォーマットの日付、awkに優しい出力、エクスポートされたデータのstdout
ストリーム) - 複数の同時検索パスをサポート
- あらゆる形式の暗号化バックアップをサポート
- 相対パスとホームベース(
~
)パスのサポート
クイックスタート:iOSバックアップからデータベースファイルを抽出する
ローカルシステムで利用可能なバックアップを探します。
$ rictl backup search
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok
バックアップからすべてのデータベースファイルを抽出します(正規表現形式に注意してください)。
$ 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 ...
コマンド用語集
助けを得る
rictl help
コマンドを使用すると、予想通りにrictl
を使用してヘルプを入手できます。
$ 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.
ローカルバックアップの使用
$ 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
バックアップを使用する場合、 search
、 info
、 list
、 extract
、 export
5つのオプションがあります。
search
を使用してローカルiOSバックアップをsearch
する
$ 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
最も簡単な方法では、 search
するとシステムのバックアップが表示されます。
$ rictl backup search
00000000-0000000000000000 02/07/2019 11:33:41 12.3.1 iPhone11,6 ok
表示されているフィールドは空白で区切られています。
-
UDID
- バックアップ作成時間
- iOSデバイスのバージョン
- iOSデバイス識別子
- バックアップステータス:
ok
またはin-progress
オプション-l
はバックアップパスを表示します
-l
を使用して、バックアップのパスとともに追加の出力フィールドを含めることができます。
$ 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
オプション-s
は追加のパスを検索します
-s
を使用すると、バックアップを探すときに追加の検索パスを含めることができます。
$ 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
- ご想像のとおり、パス
My\ folder
スペースを引用符("My folder"
)またはエスケープ(My\ folder
)することができます。 -
-s
は、バックアップフォルダまたはバックアップを含むフォルダを指定するために使用できます。
info
を使用してローカルのiOSバックアップから情報とメタデータを取得する
$ 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
それを試してみましょう:
$ 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••••••
もちろん、iOSデバイスのUDID
は一意ですが、コンピュータ上に複数のバックアップがある場合があります。たとえば、アーカイブバックアップがある場合などです。
$ 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'.
解決策は何ですか?バックアップのフォルダを含むフォルダではなく、バックアップがあるフォルダを指定して検索パスを絞り込みます。
$ 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
を使用してiOSバックアップ内のファイルをlist
する
$ 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
試してみましょう。
$ 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 ...
iOSバックアップからファイルをextract
するためのextractの使用
$ 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
という名前のフォルダにバックアップからファイルをExtracted
し、のバックアップパスワードまで提供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 ...
export
を使用してiOSバックアップからデータをexport
する
$ 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
エクスポートされたデータは、ricloud APIが使用するものと同じJSON形式で利用可能になります 。それらの形式については、 ここで文書化されています 。
バックアップからすべてのメッセージデータを抽出しましょう。このデータはコンソールの標準出力ストリーム ( stdout
)に返されるので、それをmessages.json
というファイルにリダイレクトしmessages.json
。関連ファイルをAssociated files
という名前のフォルダーに保存し、バックアップパスワードpasswordを提示し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": [] }, ...
デバイスの使用
$ 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
デバイスを使用する場合、 search
、 backup
、 restart
、およびshutdown
4つのオプションがあります。
あなたのパスにrictl
を追加する
iPhone Backup Extractorは、「 Preferences
パネルを使ってWindowsまたはmacOSコンピュータのパスに自動的にrictl
を追加できるので、コンピュータのどの端末でも簡単に使用できます。
ただし、パスを自分で設定することも、 alias
コマンドを使用することもできます。ラッパースクリプトが示すように、 rictl
の機能はiPhone Backup Extractorのバイナリを介してアクセスされます。
$ cat `which rictl` #!/bin/bash /Applications/iPhone\ Backup\ Extractor.app/Contents/MacOS/iPhoneBackupExtractor cli "$@"
ファイル検索用の一般的な正規表現パターン
- テキスト
plist
で終わるパスを探します。--r plist$
- ファイル拡張子が
.db
パスを検索する:-r \.db
エンタープライズユース
rictl
の機能は、iPhone Backup Extractor の機能とほぼ同じです。このツールは、バックアップを探索するための無制限の操作を許可しますが、実行されるたびに最大 4 つのファイルを抽出するか、一度に 4 つのデータ項目をエクスポートするだけです。
このテクノロジがどのように使用されるのかについて耳を傾け、このテクノロジの上に社内管理ツールやコンプライアンスツールや製品を構築している多くの企業をサポートしています。これがあなたにとって価値があるかもしれないならば、私たちと連絡を取ってください 。