AFAIK, there are 4 libraries/codebases to parse UEFI binaries. Two in Python, one in C++, and the latest one in Go:
1) CHIPSEC, written in Python, available as a library and an app:
2) UEFI Firmware Parser, written in Python, available as a library and an app:
3) UEFITool, written in C++ (the New Engine branch of the code does not rely on Qt for the parsing engine):
4) and a new one, written in Go, part of the LinuxBoot toolchain:
Thanks to Nikolaj Schlej, author of UEFITools’ parser, for pointing out that Fiano has a new parser. I got the chance to meet Nikolaj at BSidesPDX the other day. 🙂
Am I missing a library? Leave a Comment on this post. Thanks!