https://github.com/theopolis/uefi-firmware-parser
在说这个工具之前我们得先了解一下什么是UEFI:
可扩展固件接口(Extensible Firmware Interface,EFI)是 Intel 为 PC 固件的体系结构、接口和服务提出的建议标准。其主要目的是为了提供一组在 OS 加载之前(启动前)在所有平台上一致的、正确指定的启动服务,被看做是有近20多年历史的 BIOS 的继任者。
UEFI固件分析器是一个简单的解析膜拜,可以用来提取和重现UEFI固件卷脚本,并且支持GUID注入和IDA的脚本。
特性
UEFI Firmware Volumes, Capsules, FileSystems, Files, Sections parsing
Intel PCH Flash Descriptors
Intel ME modules parsing (for ARC5)
Dell PFS (HDR) updates parsing
Tiano/EFI, and native LZMA (7z) [de]compression
Complete UEFI Firmware volume object heirarchy display
Firmware descriptor [re]generation using the parsed input volumes
Firmware File Section injection
支持的的固件厂商
ASRock
Dell
Gigabyte
Intel
Lenovo
HP
MSI
VMware
Apple
使用方法
固件类型检查
$ python ./scripts/fv_parser.py --type UEFI_VOLUME ~/firmware/970E32_1.40 $ python ./scripts/fv_parser.py ~/firmware/970E32_1.40
测试一个目录下的文件是否是固件,并输出固件类型
$ python ./scripts/fv_parser.py --test ~/firmware/* ~/firmware/970E32_1.40: UEFIFirmwareVolume ~/firmware/CO5975P.BIO: EFICapsule ~/firmware/me-03.obj: IntelME ~/firmware/O990-A03.exe: None ~/firmware/O990-A03.exe.hdr: DellPFS
GUID 注入
$ python ./scripts/fv_injector.py -h usage: fv_injector.py [-h] [-c] [-p] [-f] [--guid GUID] --injection INJECTION [-o OUTPUT] file Search a file for UEFI firmware volumes, parse and output. positional arguments: file The file to work on optional arguments: -h, --help show this help message and exit -c, --capsule The input file is a firmware capsule. -p, --pfs The input file is a Dell PFS. -f, --ff Inject payload into firmware file. --guid GUID GUID to replace (inject). --injection INJECTION Pre-generated EFI file to inject. -o OUTPUT, --output OUTPUT Name of the output file.
文章出处:黑客工具箱
你可能喜欢