lopuh@void:
~/projects/uefi-parser$
// UEFI firmware analysis tool
~/
../
~/log
~/contact
$
stat
project.info
Name: uefi-parser
Link:
L0puh/uefi-parser
Type: UEFI firmware analysis tool
Protocol: UEFI PI Specification
Status:
"functional"
Language: C++
$ cat description.txt
// Project Description
UEFI firmware parser with multiple analysis capabilities.
Parses UEFI firmware images, checks Boot Guard status,
compares binaries, and stores extracted data in SQLite.
Supports interactive and command-line modes.
$ cat README.md | head -20
# Current functionality:
- parse UEFI firmware information
- compare two firmware files
- check Boot Guard status
- write messages to padding (free space)
- store parsed data in SQLite database
$ make
# Setup dependencies:
## Arch Linux:
$
sudo pacman
-S fmt sqlite openssl
## Ubuntu/Debian:
$
sudo apt
install libfmt-dev libsqlite3-dev libssl-dev
## macOS:
$
brew
install fmt sqlite openssl
# Compile:
$
make
# Builds to ./build/uefitool
$ ./build/uefitool --help
USAGE
./build/uefitool --parse <file.bin>
./build/uefitool --check_guard <file.bin>
./build/uefitool --compare <a.bin> <b.bin>
./build/uefitool --write <file.bin> <msg>
./build/uefitool (interactive mode)
$ ls -la media/
$ cat showcase.txt
Your browser does not support the video tag.
Your browser does not support the video tag.
$ cat resources.md
// Specifications & References:
- UEFI Specifications:
uefi.org/specifications
- PI Specification:
V3 Code Definitions
- Reference Implementation:
LongSoft/UEFITool
- Boot Guard Research:
trmm.net/Bootguard
$ ldd ./build/uefitool
// Libraries Used:
-
fmt
-
SQLite3
-
OpenSSL
C++
UEFI
Firmware
SQLite
Security
OpenSSL
Analysis
Binary