A UEFI bootkit which patches Windows while booting in order to render a GIF as the boot logo
This project works similarly to EfiGuard. I used it as a reference while writing the bootkit. In order to render the GIF, we hook BgpTxtDisplayCharacter in ntoskrnl.exe. We then parse the BGIF file (generated by this script) on each tick to get the current BMP we need to draw. After that, the image is drawn using the BgpGx functions from ntoskrnl.exe. This project supports GIFs and Bitmaps with a maximum image size of 200×200 pixels.
Currently, the project is not HVCI compliant (and most likely never will be) because of the inline hook inside ntoskrnl.exe. It is built only for Windows 11 25H2 (it works on earlier versions as well, but the patterns are based on Windows 11 25H2 build 26200.9168).
After compiling the project, copy windows-gif-app.efi (rename it to bootx64.efi) and windows-gif-driver.efi to EFI\Boot\ on your preferred boot drive.
To generate a BGIF, run gif_to_bgif.py and copy the output to EFI\Boot.
python gif_to_bgif.py input.gif logo.bgif
If you want to use just a custom bitmap, copy your image to EFI\Boot\ and rename it to logo.bmp.
