ℹ ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ
начиная с 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 вам придется указать имя файла).
Откройте приложение Terminal.app. (Как?)
Запустите расшифровщик истории звонков:
$ ./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.
Получите копию CallHistory.storedata
с исходного компьютера OS X. Файл хранится в этом месте:
$HOME/Library/Application Support/CallHistoryDB/CallHistory.storedata
где $HOME
— домашний каталог пользователя.
Скопируйте его в тот же каталог, куда вы распаковали «историю вызовов».
Получите ключ из исходной цепочки ключей macOS X:
Откройте терминал или командную строку cmd.exe в Windows (Как?). Запустите расшифровщик истории вызовов на своем компьютере:
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) n0fate, 2016 г. (лицензия GPL2)
Copyright (C) 2018-2021 rusq (реализация golang, GPL3)
Эта программа является свободным программным обеспечением: вы можете распространять ее и/или изменять в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
Данная программа распространяется в надежде, что она будет полезна, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Дополнительную информацию см. в Стандартной общественной лицензии GNU.
Вместе с этой программой вы должны были получить копию Стандартной общественной лицензии GNU. Если нет, см. https://www.gnu.org/licenses/.