Here’s a handy tool for interrogating firmware volumes: UEFITool! It is written by Nikolaj Schlej, and is great for examing the Regions/Volumes/Sections/Files that make up a UEFI image.
From the homepage on GitHub:
UEFITool is a cross-platform C++/Qt program for parsing, extracting and modifying UEFI firmware images. It supports parsing of full BIOS images starting with the flash descriptor or any binary files containing UEFI volumes.
I tested with version 0.21.5, available from the releases tab on GitHub.
Acquiring an Image
For UEFITool to begin to do its work, you must provide it a UEFI image. This could be an image you create as a BIOS developer, or you can dump an image from a system using a ROM programmer or Intel’s Flash Programming Tool (FPT.EXE). For example:
FPT.EXE –D <filename>.bin
will dump a system’s SPI part(s) to a binary dump file. You can then load this into UEFITool.
Working with the Tool
The tool opens displaying a graphical layout of the image on the left side:
You can expand and collapse the various components of the image and dig deeper. The “Information” panel on the right side will show details of what is selected in the left panel:
What you can do with UEFITool depends on the type of the image component you select. Below are screenshots illustrating the options available for each type of firmware component. Hopefully this will give you an idea of how the tool can help you.
Image
Region
Padding
Volume
Section
File
Search
There is also a great search feature that lets you search your image for a hex pattern, GUID, or text. Examples:
Conclusion
UEFITool is free software released under the BSD License. It is extremely useful for interrogating and manipulating the components of a UEFI BIOS image. Download it and give it a test drive today!
Post a Comment
Be sure to select an account profile (e.g. Google, OpenID, etc.) before typing your comment!