
Набор инструментов для декодирования, проверки и модификации томов прошивки UEFI и хранилищ переменных. Поддерживает регистрацию сертификатов безопасной загрузки, анализ подписей PE-двоичных файлов и управление переменными EFI в виртуализированных средах.
Это небольшая коллекция инструментов для образов прошивки edk2. Они поддерживают декодирование и вывод содержимого томов прошивки. Хранилища переменных (OVMF_VARS.fd) могут быть изменены, например, для установки сертификатов Secure Boot.
Декодирует и выводит содержимое томов прошивки.
Использование: virt-fw-dump -i <file>.
Попробуйте virt-fw-dump --help для получения дополнительной информации, есть некоторые опции для
фильтрации вывода.
Вывод и редактирование томов хранилищ переменных. В настоящее время ориентирован на установку сертификатов и включение Secure Boot.
Вывод переменных: virt-fw-vars -i <file> --print.
Установка сертификатов:
virt-fw-vars \
--input <template> \
--output <vars> \
--enroll-redhat \
--secure-boot
Попробуйте virt-fw-vars --help для получения дополнительной информации об использовании.
virt-fw-vars может работать с хранилищами переменных edk2 (которые являются томами флэш-прошивки) и AWS uefi хранилищами переменных. Формат входных данных определяется автоматически, и тот же формат используется для вывода.
Для работы с хранилищами переменных edk2 требуется том прошивки на входе. Обычно для этого используется файл OVMF_VARS.fd, создаваемый при сборке OVMF (это пустое хранилище переменных).
aws хранилища переменных также могут быть созданы с нуля и записаны в
файл с помощью опции --output-aws.
Вывод и редактирование файлов базы подписей EFI, пример:
virt-fw-sigdb -i /etc/pki/ca-trust/extracted/edk2/cacerts.bin --print
Попробуйте virt-fw-sigdb --help для получения дополнительной информации об использовании.
Чтение переменных EFI из linux efivarfs и их декодирование/вывод.
Управление конфигурацией загрузки EFI для UKI (единых образов ядра) при использовании прямой загрузки (без загрузчика, такого как grub или systemd-boot).
Информационный дамп для PE (формат, используемый EFI) двоичных файлов.
Вывод подписей и цепочки сертификатов для PE-двоичных файлов. Также может извлекать сертификаты и подписи.
Пока не так много документации, извините. Лучше всего начать с чтения
тестовых примеров (см. tests/tests.py) и кода утилиты virt-fw-vars (см. virt/firmware/vars.py).
Релиз: pip3 install virt-firmware
Снимок: pip3 install git+https://gitlab.com/kraxel/virt-firmware.git
Я принимаю MR.
В репозитории активен бот для рецензирования на основе ИИ, который будет комментировать MR. Он хорошо проверяет орфографию. Иногда он предлагает полезные советы или выявляет несоответствия в патчах. Иногда он просит глупые вещи, например, тщательную проверку ошибок в тестовых сценариях. Иногда он предлагает проверить условия ошибок, которые не могут произойти, но бот, очевидно, недостаточно умен, чтобы это понять. Иногда он предлагает реорганизацию кода, где это больше вопрос вкуса или личных предпочтений, независимо от того, какой путь вы выберете.
Так что не относитесь к боту слишком серьезно.