Плагин не может разрешить уровень ядра и таблицу символов, хотя файл символов Linux для обнаруженной версии ядра существует в каталоге символов.
Контекст
Volatility Version: 3 Framework 2.27.0
ОС (хост): Ubuntu 24.04.3 LTS
Версия Python: 3.12.3 (GCC 13.3.0)
Предполагаемая целевая ОС: Android 15 (ядро 6.6.30-android15-8-maybe-dirty) — эмулятор Pixel 7 изображение
Инструмент сбора данных: LiME (скомпилирован и загружен в эмулятор Android)
Команда:
Код: Выделить всё
python3 vol.py -vvv -f ~/Desktop/ram.raw -s ~/.cache/volatility3/symbols/linux/ linux.pslist.PsList
Скомпилируйте и вставьте модуль ядра LiME в ядро Android 15 (эмулятор Pixel 7).
Сбросьте ОЗУ в файл:
Код: Выделить всё
insmod lime.ko "path=/sdcard/ram.raw format=raw"
Запустите Volatility 3 с помощью:
Код: Выделить всё
python3 vol.py -vvv -f ~/Desktop/ram.raw -s ~/.cache/volatility3/symbols/linux/ linux.pslist.PsList
Volatility 3 Framework 2.27.0
ИНФО volatility3.framework.automagic: обнаружен плагин категории Linux
ДЕТАЛИ 1 volatility3.framework.configuration.requirements: IndexError — конфигурация не предоставлена: плагины.PsList.kernel.layer_name
ДЕТАЛИ 1 volatility3.framework.configuration.requirements: Требование к таблице символов еще не выполнено: плагины.PsList.kernel.symbol_table_name
...
Неудовлетворенное требование плагины.PsList.kernel.layer_name:
Неудовлетворенное требование плагины.PsList.kernel.symbol_table_name:
Требование уровня перевода не выполнено. Убедитесь, что:
Для создания этого слоя был предоставлен файл (с помощью -f, --single-location или конфигурации).
Файл существует и доступен для чтения.
Файл является действительным образом памяти и был получен без ошибок.
Требование к таблице символов не выполнено. Убедитесь, что:
Соответствующее требование уровня перевода выполнено.
У вас есть правильный файл символов, соответствующий этому требованию.
Файл символов находится в правильном каталоге или zip-файле.
Файл символов имеет правильное имя или содержит правильный баннер.
Невозможно проверить требования плагина: ['plugins.PsList.kernel.layer_name', 'plugins.PsList.kernel.symbol_table_name']
Ожидаемое поведение
Плагин должен правильно идентифицировать баннер ядра из дампа памяти, загрузить соответствующие символы Linux (6.6.30-android15-8-maybe-dirty.json) и вывести список процессов (как обычно это делает linux.pslist.PsList).
Дополнительная информация
Файл символов уже существует по адресу:
Код: Выделить всё
~/.cache/volatility3/symbols/linux/6.6.30-android15-8-maybe-dirty.json
Код: Выделить всё
Linux version 6.6.30-android15-8-maybe-dirty (kleaf@build-host)
Код: Выделить всё
DEBUG volatility3.framework.automagic.linux: No suitable linux banner could be matched
Вопрос
Как правильно загрузить дамп памяти LiME Android 15 в Volatility 3, чтобы плагин (linux.pslist.PsList) распознавал слой ядра и символ table?
Требуется ли дополнительная генерация или настройка символов для ядер Android, созданных с помощью Clang 18 (инструментарий AOSP)?
Подробнее здесь: https://stackoverflow.com/questions/797 ... ist-kernel
Мобильная версия