UEFI Firmware Parser – UEFI固件分析器

2018 年 8 月 17 日 黑白之道


项目地址

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.


文章出处:黑客工具箱

你可能喜欢

Phan - PHP静态分析器

Bro - 开源网络流量分析器

子域分析器 - 域信息收集工具

登录查看更多
0

相关内容

UEFI全称“统一的可扩展固件接口”(Unified Extensible Firmware Interface), 是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。
近期必读的五篇KDD 2020【图神经网络 (GNN) 】相关论文_Part2
专知会员服务
156+阅读 · 2020年6月30日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
56+阅读 · 2019年10月17日
微信小程序支持webP的WebAssembly方案
前端之巅
19+阅读 · 2019年8月14日
ISeeYou一款强大的社工工具
黑白之道
29+阅读 · 2019年5月17日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
人脸检测库:libfacedetection
Python程序员
15+阅读 · 2019年3月22日
polyglot:Pipeline 多语言NLP工具
AINLP
4+阅读 · 2018年12月11日
哈工大SCIR多名师生参加COLING 2018
哈工大SCIR
10+阅读 · 2018年9月1日
CVE-2018-7600 - Drupal 7.x 远程代码执行exp
黑客工具箱
14+阅读 · 2018年4月17日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
Arxiv
6+阅读 · 2019年4月4日
Rapid Customization for Event Extraction
Arxiv
7+阅读 · 2018年9月20日
Arxiv
5+阅读 · 2018年4月30日
VIP会员
相关VIP内容
近期必读的五篇KDD 2020【图神经网络 (GNN) 】相关论文_Part2
专知会员服务
156+阅读 · 2020年6月30日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
56+阅读 · 2019年10月17日
相关资讯
微信小程序支持webP的WebAssembly方案
前端之巅
19+阅读 · 2019年8月14日
ISeeYou一款强大的社工工具
黑白之道
29+阅读 · 2019年5月17日
Pupy – 全平台远程控制工具
黑白之道
43+阅读 · 2019年4月26日
人脸检测库:libfacedetection
Python程序员
15+阅读 · 2019年3月22日
polyglot:Pipeline 多语言NLP工具
AINLP
4+阅读 · 2018年12月11日
哈工大SCIR多名师生参加COLING 2018
哈工大SCIR
10+阅读 · 2018年9月1日
CVE-2018-7600 - Drupal 7.x 远程代码执行exp
黑客工具箱
14+阅读 · 2018年4月17日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
Top
微信扫码咨询专知VIP会员