ℹ 请注意
自 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/。