ℹ 請注意
自 macOS 13 (Ventura) 以來,通話記錄資料庫似乎未加密。您可以使用
-no-key
標誌執行程式來查看通話記錄。-k
標誌不再需要,但仍可用於早期版本的 macOS。
將 MacOS X 通話記錄轉換為 CSV 檔案格式。
這是 n0fates 的通話歷史解密器的 Golang 實現,基於 n0fate 描述資料庫內部結構的演示:https://papers.put.as/papers/macosx/2014/Forensic-artifacts-for-Yosemite-呼叫歷史記錄和簡訊分析-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 time 套件文件中詳細描述了格式設定。
您需要從原始 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 通話記錄解密器
版權所有 (C) 2016 n0fate(GPL2 許可證)
版權所有 (C) 2018-2021 rusq(golang 實現,GPL3)
該程式是自由軟體:您可以根據自由軟體基金會發布的 GNU 通用公共授權(授權的第 3 版)或(由您選擇)任何更高版本的條款重新散佈和/或修改它。
分發此程序的目的是希望它有用,但不提供任何保證;甚至沒有適銷性或特定用途適用性的默示保證。有關更多詳細信息,請參閱 GNU 通用公共許可證。
您應該隨該程式一起收到 GNU 通用公共授權的副本。如果沒有,請參閱 https://www.gnu.org/licenses/。