# uefi_retool UEFI 固件逆向工具

> 用于 UEFI 固件逆向工程的 Python 命令行工具及 IDA Pro 插件。uefi_retool.py 用 uefi-firmware-parser 解包固件镜像，收集其中的可执行模块，并以批处理模式逐一交给 IDA 分析，把各模块的引导服务调用和协议 GUID 写入 JSON；另一条命令则把 GUID 不在其 EDK2、AMI 及厂商 GUID 表中的协议列为专有协议。在 IDA 中，插件会应用 EFI 系统表的类型和名称，在浏览窗口中列出协议，并根据该 JSON 展示固件各模块之间的依赖浏览器和依赖图。

- 类型：工具
- 目标：固件
- 类别：固件工具
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-02
- 原始资源：<https://github.com/yeggor/uefi_retool>
- 一手来源：<https://github.com/yeggor/uefi_retool/blob/be13abf0a84179f53a9ac8858a4cb2686b312a67/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/uefi-retool/>
- 记录 JSON：<https://awesomerea.org/resources/uefi-retool/record.json>
- 英文版：[English](https://awesomerea.org/resources/uefi-retool/index.md)

## 使用条件与局限

- 该仓库已归档。最后一次提交（2024-12-28）只更新了 README，最后的代码改动在 2021-08-03，唯一的标签 1.2.0 发布于 2020-05-07，比当前提交早八个提交；没有 GitHub 发行版。代码树只包含 IDA 插件，没有 Ghidra 组件。
- 需要已授权的 IDA Pro，并具备 IDAPython 和 PyQt5：将 uefi_analyser.py 和 uefi_analyser 包复制到 IDA 的插件目录，再在 config.json 中设置 IDA 与 IDA64 可执行文件路径以及模块、转储和日志目录；示例配置指向 Windows 上的 IDA Pro 7.6。脚本需要 Python 及 Click、colorama、terminaltables、tqdm，以及按 requirements.txt 中的压缩包地址安装的 uefi-firmware-parser 1.8。
- 输入是使用者自行提供的 UEFI 固件镜像；README 示例提到的 ThinkPad X1 Carbon 第五代镜像并不在仓库中，仓库也未提交任何固件镜像。分析器识别 x86 和 x86-64 指令模式，并根据每个镜像的机器类型选择 IDA 或 IDA64。随附的 GUID 表来自 EDK2 和 EDK、ida-efiutils 中的 AMI 列表，以及 Dell、Lenovo 和 ASRock 的列表，tools/update_edk2_guids.py 可刷新 EDK2 表。
- 采用 MIT 许可证（2018–2021，yeggor）。仓库没有测试或 CI。标签和依赖图来自 GUID 匹配和指令模式，需由分析人员核对。

## 一手来源

1. <https://github.com/yeggor/uefi_retool/blob/be13abf0a84179f53a9ac8858a4cb2686b312a67/README.md>
2. <https://github.com/yeggor/uefi_retool/blob/be13abf0a84179f53a9ac8858a4cb2686b312a67/ida_plugin/README.md>
3. <https://github.com/yeggor/uefi_retool/blob/be13abf0a84179f53a9ac8858a4cb2686b312a67/uefi_retool.py>
4. <https://github.com/yeggor/uefi_retool/blob/be13abf0a84179f53a9ac8858a4cb2686b312a67/config.json>
5. <https://github.com/yeggor/uefi_retool/blob/be13abf0a84179f53a9ac8858a4cb2686b312a67/requirements.txt>
6. <https://github.com/yeggor/uefi_retool/blob/be13abf0a84179f53a9ac8858a4cb2686b312a67/ida_plugin/uefi_analyser/analyser.py>
7. <https://github.com/yeggor/uefi_retool/blob/be13abf0a84179f53a9ac8858a4cb2686b312a67/ida_plugin/uefi_analyser/log_pp_guids.py>
8. <https://github.com/yeggor/uefi_retool/blob/be13abf0a84179f53a9ac8858a4cb2686b312a67/tools/get_efi_images.py>
9. <https://github.com/yeggor/uefi_retool/tree/be13abf0a84179f53a9ac8858a4cb2686b312a67/ida_plugin/uefi_analyser/guids>
10. <https://github.com/yeggor/uefi_retool/blob/be13abf0a84179f53a9ac8858a4cb2686b312a67/LICENSE>

## 同分区更多条目：固件与硬件

- [Shannon 基带镜像 IDA Pro 加载器](https://awesomerea.org/zh/resources/shannon-modem-loader/index.md) · 工具
- [IMSProg EEPROM／闪存芯片编程器](https://awesomerea.org/zh/resources/imsprog/index.md) · 工具
- [rbasefind 固件基址搜索工具](https://awesomerea.org/zh/resources/rbasefind/index.md) · 工具
- [Aptio V UEFI 设置编辑器](https://awesomerea.org/zh/resources/aptio-v-uefi-editor/index.md) · 工具
- [FirmLoader 微控制器固件内存布局 IDA 插件](https://awesomerea.org/zh/resources/firmloader/index.md) · 工具
- [IFDA IoT 固件深度分析工具](https://awesomerea.org/zh/resources/ifda-iot-firmware-deep-analysis/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
