ℹご注意ください
macOS 13 (Ventura) 以降、通話履歴データベースは暗号化されていないようです。
-no-key
フラグを指定してプログラムを実行すると、通話履歴を表示できます。-k
フラグは不要になりましたが、macOS の以前のバージョンでは引き続き使用できます。
MacOS X の通話履歴を CSV ファイル形式に変換します。
これは、n0fates の通話履歴復号化ツールの Golang 実装であり、データベースの内部を説明する n0fate のプレゼンテーションに基づいています: https://papers.put.as/papers/macosx/2014/Forensic-artifacts-for-Yosemite-通話履歴とSMS-anlaysis-ENG.pdf
この実装の動機は次のとおりです。
復号化ロジックのすべての功績は n0fate に与えられます。
macOS 通話履歴を復号化して CSV ファイルに保存します。
ダウンロードはリリースページから入手できます。
プログラムは元のデータベースのコピーを一時ディレクトリに作成し、そのコピーを操作します。通話履歴の印刷後、一時ファイルは削除されます。
元のデータベースは実行中に変更されません。
参考: macOS では、通話履歴データが次の場所に保存されます。
"$HOME/Library/Application Support/CallHistoryDB/CallHistory.storedata"
-h
コマンド ライン フラグを指定してプログラムを起動すると、使用方法のヘルプが表示されます。
簡単な使用法:
$ ./osx-callhistory-decryptor [flags] [database_file]
ここで、 database_file
は macOS ではオプションです (Windows ではファイル名を指定する必要があります)。
ターミナルアプリを開きます。 (どうやって?)
通話履歴の復号化を開始します。
$ ./osx-callhistory-decryptor
デフォルトの通話履歴ファイルを見つけて、一時コピーを作成して開こうとします。
最新の MacOS で「操作は許可されていません」と表示される場合:
ユーザーのログオン パスワードの入力を求められます。これにより、プログラムは OS X キーチェーンから通話履歴暗号化キーを取得できるようになります。 -k
コマンド ライン フラグを使用して、通話履歴暗号化キーを手動で指定することもできます。例:
$ ./osx-callhistory-decryptor -k YSBzZWNyZXQga2V5IDEyCg==
出力はデフォルトで端末に出力されます。 -o
コマンド ライン フラグを指定すると、出力ファイルを指定できます。
$ ./osx-callhistory-decryptor -o output.csv
何らかの理由で、デフォルトとは異なるファイルを開きたい場合は、最初のコマンドラインパラメータにファイル名の場所を含める必要があります。
$ ./osx-callhistory-decryptor -o output.csv Calls.db
デフォルトでは、時刻形式は RFC3339 で、時刻/日付区切り文字「T」が含まれていません ( "2006-01-02 15:04:05Z07:00"
)。オプションで、 -time-format
フラグを使用して別の形式を渡すことで、その動作を変更できます。たとえば、日付と時刻のみが必要な場合は、次のようにプログラムを呼び出します。
$ ./osx-callhistory-decryptor -time-format="2006-01-02 15:04"
フォーマットについては、Go 時間パッケージのドキュメントで詳しく説明されています。
元の macOS システムからデータベースと暗号化キーを取得する必要があります。
ソース OS X マシンからCallHistory.storedata
のコピーを取得します。ファイルは次の場所に保存されます。
$HOME/Library/Application Support/CallHistoryDB/CallHistory.storedata
$HOME
ユーザーのホーム ディレクトリです。
「callhistory」を解凍したのと同じディレクトリにコピーします。
ソース macOS X キーチェーンからキーを取得します。
Windows でターミナルまたは cmd.exe プロンプトを開きます (方法)。マシン上で通話履歴復号化プログラムを開始します。
C:>osx-callhistory-decryptor.exe -k <key value from step 2> <filename from step 1>
出力はデフォルトで端末に出力されます。 -o
コマンド ライン フラグを指定すると、出力ファイルを指定できます。
C:>osx-callhistory-decryptor.exe -o your_ex_callhistory_lol.csv <filename from step 1>
OS X 通話履歴復号化ツール
Copyright (C) 2016 n0fate (GPL2 ライセンス)
Copyright (C) 2018-2021 rusq (golang 実装、GPL3)
このプログラムはフリー ソフトウェアです。Free Software Foundation が発行する GNU General Public License の条件 (ライセンスのバージョン 3、または (ユーザーの選択による) 以降のバージョン) に基づいて再配布したり、変更したりすることができます。
このプログラムは役立つことを期待して配布されていますが、いかなる保証もありません。商品性や特定目的への適合性についての暗黙の保証もありません。詳細については、GNU 一般公衆利用許諾書を参照してください。
このプログラムと一緒に GNU 一般公衆利用許諾書のコピーも受け取っているはずです。そうでない場合は、https://www.gnu.org/licenses/ を参照してください。