
Kit de herramientas para decodificar, inspeccionar y modificar volúmenes de firmware UEFI y almacenes de variables. Admite la inscripción de certificados de arranque seguro, análisis de firmas de binarios PE y gestión de variables EFI para entornos virtualizados.
Esta es una pequeña colección de herramientas para imágenes de firmware edk2. Permiten decodificar e imprimir el contenido de volúmenes de firmware. Los almacenes de variables (OVMF_VARS.fd) se pueden modificar, por ejemplo para inscribir certificados de arranque seguro.
Decodifica e imprime el contenido de volúmenes de firmware.
Uso: virt-fw-dump -i <file>.
Pruebe virt-fw-dump --help para más información, hay algunas opciones para filtrar la salida.
Imprime y edita volúmenes de almacén de variables. Actualmente centrado en inscribir certificados y habilitar el arranque seguro.
Imprimir variables: virt-fw-vars -i <file> --print.
Inscribir certificados:
virt-fw-vars \
--input <template> \
--output <vars> \
--enroll-redhat \
--secure-boot
Pruebe virt-fw-vars --help para más información de uso.
virt-fw-vars puede manejar almacenes de variables edk2 (que son volúmenes de firmware flash) y almacenes de variables AWS uefi. El formato de entrada se detecta automáticamente y se utiliza el mismo formato para la salida.
Trabajar con almacenes de variables edk2 requiere un volumen de firmware como entrada. Normalmente se utiliza el archivo OVMF_VARS.fd creado al compilar OVMF (es un almacén de variables vacío).
Los almacenes de variables aws también se pueden crear desde cero y escribir en un archivo utilizando la opción --output-aws.
Imprime y edita archivos de base de datos de firmas efi, ejemplo:
virt-fw-sigdb -i /etc/pki/ca-trust/extracted/edk2/cacerts.bin --print
Pruebe virt-fw-sigdb --help para más información de uso.
Lee variables efi desde linux efivarfs y las decodifica/imprime.
Gestiona la configuración de arranque efi para UKIs (imágenes de kernel unificadas) cuando se usa arranque directo (sin gestor de arranque como grub o systemd-boot).
Volcado de información para binarios pe (el formato utilizado por efi).
Lista firmas y cadena de certificados para binarios pe. También puede extraer certificados y firmas.
Todavía no hay mucha documentación, lo siento. Las mejores lecturas de código para comenzar son probablemente los casos de prueba (vea tests/tests.py) y el código de la utilidad virt-fw-vars (vea virt/firmware/vars.py).
Lanzamiento: pip3 install virt-firmware
Instantánea: pip3 install git+https://gitlab.com/kraxel/virt-firmware.git
Acepto MRs.
Hay un bot de revisión de IA activo en el repositorio que comentará en los MRs. Es bueno para la revisión ortográfica. A veces ofrece sugerencias útiles o detecta inconsistencias en los parches. A veces pide cosas estúpidas como una verificación cuidadosa de errores en los casos de prueba. A veces sugiere verificar condiciones de error que no pueden ocurrir, pero el bot aparentemente no es lo suficientemente inteligente como para darse cuenta. A veces sugiere reorganizaciones de código donde es más una cuestión de gusto o preferencia personal dependiendo del camino que se tome.
Por lo tanto, no te tomes demasiado en serio al bot.