Cyber security

CrScreenshotDxe – A UEFI DXE Driver For Easy BIOS Setup And UEFI Screenshots

This DXE driver tries to register keyboard shortcut (LCtrl + LAlt + F12) handler for all text input devices.

The handler tries to find a writable FS, enumerates all GOP-capable video devices, takes screenshots from them and saves the result as PNG files on that writable FS.

The main goal is to be able to make BIOS Setup screenshots for systems without serial console redirection support, but it can also be used to take screenshot from UEFI shell, UEFI apps and UEFI bootloaders.

To start the driver, you can either:

  • Integrate it into DXE volume of your UEFI firmware using UEFITool or any other suitable software (don’t forget a DepEx section to prevent too early start)
  • Add it to an OptionROM of a PCIe device (will try it once I have a device needed)
  • Let BDS dispatcher load it by copying it to ESP and creating a DriverXXXX variable
  • Load it from UEFI Shell with load command

Build

It’s a normal EDK2-compatible DXE driver, just add it to your package’s DSC file to include in the build process.

Usage

Load the driver, insert FAT32-formatted USB drive and press LCtrl + LAlt + F12 to take screenshots from all GOP-compatible graphic consoles available at the moment.

To indicate it’s status, the driver shows a small colored rectangle in top-left corner of the screen for half a second.

Rectangle color codes:

  • White – driver is loaded
  • Yellow – no writable FS found, screenshot is not taken
  • Blue – current GOP is pitch black, screenshot is not taken
  • Red – something went wrong, screenshot is not taken
  • Green – screnshot taken and saved to PNG file
Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

Promptmap

Prompt injection is a type of security vulnerability that can be exploited to control the…

3 hours ago

Firefly – Black Box Fuzzer For Web Applications

Firefly is an advanced black-box fuzzer and not just a standard asset discovery tool. Firefly…

3 hours ago

Winit : Cross-Platform Window Creation And Management In Rust

Winit is a robust, cross-platform library designed for creating and managing windows in Rust applications.…

4 hours ago

Browser Autofill Phishing – The Hidden Dangers And Security Risks

In today’s digital age, convenience often comes at the cost of security. One such overlooked…

4 hours ago

Terminal GPT (tgpt) – Your Direct CLI Gateway To ChatGPT 3.5

Terminal GPT (tgpt) offers a seamless way to bring the power of ChatGPT 3.5 directly…

4 hours ago

garak, LLM Vulnerability Scanner : The Comprehensive Tool For Assessing Language Model Security

garak checks if an LLM can be made to fail in a way we don't…

3 days ago