
androidqf (Android Quick Forensics) помогает быстро собирать криминалистические доказательства с устройств Android, чтобы выявить потенциальные следы компрометации.
androidqf (Android Quick Forensics) — это портативный инструмент, упрощающий сбор соответствующих криминалистических данных с устройств Android.
androidqf предназначен для предоставления простой и портативной кроссплатформенной утилиты для быстрого сбора данных с устройств Android. По функциональности он аналогичен mvt-android. Однако, в отличие от MVT, androidqf также разработан для удобства использования пользователями, не обладающими техническими знаниями. Данные, извлеченные с помощью androidqf, можно проанализировать с помощью MVT.
Этот репозиторий является форком androidqf, поддерживаемым Лабораторией безопасности Amnesty International. Инструмент androidqf был изначально разработан Claudio Guarnieri.

Исполняемые файлы для Linux, Windows и Mac должны быть доступны в последнем релизе. Если у вас возникли проблемы с запуском бинарного файла, вы можете собрать его самостоятельно.
Этот проект использует GoReleaser для автоматической сборки и выпуска. Для локальной сборки:
Установите GoReleaser:
go install github.com/goreleaser/goreleaser@latest
Выполните сборку снимка (без публикации):
./build_locally.sh
Это создаст бинарные файлы для всех платформ в каталоге dist/, включая универсальный бинарный файл для macOS, который работает как на Intel, так и на Apple Silicon.
Вы все еще можете использовать традиционный подход с Makefile. Вам понадобится Go 1.23+ вместе с make, git, unzip и wget. AndroidQF включает кросс-скомпилированный модуль collector, который запускается на целевом устройстве для более надежного извлечения криминалистически значимой информации.
Сначала соберите модуль collector:
make collector
Затем скомпилируйте AndroidQF для выбранной платформы:
make linux
make darwin
make windows
Эти команды создадут бинарные файлы в папке build/.
Дистрибутивы могут отказаться от встраивания встроенных бинарных файлов ADB и collector, выполнив сборку с тегом сборки unbundle:
go build -tags unbundle -o build/
Когда этот тег включен, androidqf ожидает:
adb будет доступен в системном PATH./usr/lib/androidqf/android-collector/ с именами, ожидаемыми
androidqf, такими как collector_arm и collector_arm64.Упаковщики могут удалить встроенные бинарные ресурсы из assets/ перед сборкой,
но каталог пакета assets/ и его исходные файлы Go должны оставаться.
Сборка с unbundle все равно импортирует пакет assets, и сборка завершится ошибкой,
если весь каталог assets/ будет удален.
Образ контейнера релиза публикуется в GitHub Container Registry:
docker pull ghcr.io/mvt-project/androidqf:latest
Для сбора данных с USB-устройства Android на Linux передайте USB-шину и смонтируйте выходной каталог:
docker run --rm -it --privileged \
-v /dev/bus/usb:/dev/bus/usb \
-v "$(pwd)/output:/output" \
ghcr.io/mvt-project/androidqf:latest -fast -output /output
Вы также можете собрать образ локально для выпущенной версии:
docker build --build-arg VERSION=1.8.3 -t androidqf .
[!TIP] См. Архивы сбора для получения информации о формате архива, контрольных суммах, шифровании и обработке больших файлов. Словарь собранных файлов — см. сторонний Словарь вывода AndroidQF от SocialTIC.
Перед запуском androidqf необходимо подключить целевое устройство Android к компьютеру через USB и включить отладку по USB. Пожалуйста, обратитесь к официальной документации о том, как это сделать, но помните, что телефоны Android разных производителей могут требовать других шагов навигации, отличных от стандартных.
После включения отладки по USB можно запускать androidqf. Сначала он попытается подключиться к устройству через USB-мост, в результате чего на телефоне Android появится запрос на ручную авторизацию ключей хоста. Обязательно авторизуйте их, желательно навсегда, чтобы запрос больше не появлялся.
Теперь androidqf должен выполняться и создавать zip-архив сбора в вашей текущей рабочей папке или в папке, указанной с помощью -output. В какой-то момент выполнения androidqf предложит вам выбор: эти запросы приостановят сбор до тех пор, пока вы не сделаете выбор, так что будьте внимательны.
Могут быть извлечены следующие данные:
| Данные | Необязательно? | Путь(и) вывода |
|---|---|---|
| Полная резервная копия или резервная копия SMS и MMS-сообщений. | ✅ | backup.ab |
| Вывод команды оболочки getprop, предоставляющий информацию о сборке и параметры конфигурации. | getprop.txt | |
| Все системные настройки | settings_*.txt | |
| Вывод команды оболочки ps, предоставляющий список всех запущенных процессов. | processes.txt | |
| Список системных служб. | services.txt | |
| Копия всех журналов из системы. | logs/, logcat.txt | |
| Вывод команды оболочки dumpsys, предоставляющий диагностическую информацию об устройстве. | dumpsys.txt | |
| Список всех установленных пакетов и связанных файлов распространения. | packages.json | |
| Копия всех установленных APK или только тех, которые не помечены как системные приложения. | ✅ | apks/* |
| Журналы вторжений. Содержат личные данные, такие как история навигации. | ✅ | intrusion_logs/* |
| Список файлов в системе. | files.json | |
| Копия файлов, доступных во временных папках. | tmp/* | |
| Отчет об ошибках, содержащий системные и прикладные журналы без включения личных данных. | bugreport.zip |
Каждый сбор также содержит acquisition.json, command.log (если был создан вывод журнала) и hashes.csv. Список хешей записывает дайджест SHA-256 каждой предыдущей записи архива в виде открытого текста и не включает себя. Неудачные извлечения с устройства не фиксируются как записи архива. Подробнее см. Архивы сбора.
При запуске сбора androidqf предлагаются следующие параметры:
Would you like to take a backup of the device?
...
? Backup:
▸ Only SMS
Everything
No backup
Эти параметры относятся к данным, собранным с устройства с помощью команды adb backup в фоновом режиме. Если выбран No backup, команда adb backup не выполняется.
| Опция | Пояснение |
|---|---|
| Only SMS | Выполняется adb backup com.android.providers.telephony. Собираются только данные от com.android.providers.telephony. Это включает базу данных SMS. |
| Everything | Выполняется adb backup -all. Запрашивается резервное копирование только тех приложений, которые явно разрешили резервное копирование своих данных этим способом. Начиная с Android 12+, этот метод не извлекает ничего для почти всех приложений. |
| No backup | adb backup не выполняется |