IfrViewer: Viewer for IFR structures

IfrViewer: tool that is able to read a binary HPK package and most (hopefully all in future) of its HII and IFR structures. A HPK file (used by EDKII) holds so called HII packages (Human Interface Infrastructure). The content of such a file follows the kind of file structure definition from UEFI specification. It can consist of many various things but in most cases it consists of strings for different languages and IFR structures (Internal Forms Representation) to be able to build the SETUP menu for UEFI capable systems.

* List all IFR structures in order to view a HPK’s content
* Improve GUI to handle this data more efficient
* Create HTML pages which can be viewed by standard web browser showing the skeleton of the HPK’s forms

 

https://github.com/topeterk/IfrViewer

 

Universal-IFR-Extractor

Nikolaj Schlej has a gork of Universal-IFR-Extractor. IFR is the UEFI forms language.

https://github.com/LongSoft/Universal-IFR-Extractor/releases/tag/v0.2

https://github.com/tomrus88/Universal-IFR-Extractor

Vincent Zimmer on the x-UEFI configuration language

Vincent Zimmer of Intel has a new blog post, explaining how UEFI’s HII user interface stuff works:

[…] The The x-UEFI configuration language is now a reality. The latest keywords can now be found at http://uefi.org/confignamespace.  This list should grow over time as more configuration data emerges based upon new platform technologies, features in the UEFI and other industry standards, etc. This type of facility helps provide infrastructure to provide visibility into ‘Is Features XYZ enabled.” A common instance of this is virtualization technology, hyper threading, and other art managed by the platform. Going forward, I can imagine OS viewer utilities, maybe /dev/hii in Linux and an associated Microsoft Windows interface, to exposing this information. The EDKII community on tianocore.org ought to investigate some simple shell applications to export the information, too. […]

Full blog post:

http://vzimmer.blogspot.com/2016/02/firmware-configuration-or-is-feature.html

The config namespace already has dozens of variables:

http://uefi.org/confignamespace

http://www.uefi.org/namespace_instructions

I am looking forward to someone writing a security test tool that works with this database. 🙂