$ show al3xtjames/ghidra-firmware-utils
Ghidra Firmware Utilities is a Ghidra plugin extension that provides file system loaders and custom binary loaders for analyzing PC firmware. It supports FMAP, Intel Flash Descriptor, Coreboot CBFS, PCI Option ROMs (legacy x86 and UEFI), UEFI Firmware Volumes with nested FFS files/sections, and Terse Executable (TE) images. The extension also includes a UEFI helper script that automates analysis tasks such as fixing entry point signatures, propagating UEFI global variable types, and locating known GUIDs. The code is well-structured, using factory patterns for parsing variant formats and Ghidra's file system interfaces. It relies on a native C library for EFI/Tiano decompression via JNI.
The LLM identified 1 files worth highlighting for reuse:
Provides utilities for reading EFI GUIDs from binary data (mixed endian format) and maintaining a lookup database of known GUIDs loaded from a CSV file. The `fromBinaryReader` method handles the specific endianness of EFI GUID fields, which is a common need in firmware analysis. This class is self-contained (only depends on Ghidra's BinaryReader and Application for file loading) and could be extracted into a standalone library for any project that needs to parse EFI GUIDs with a lookup table. The static initializer pattern for loading the database is efficient and thread-safe.