# uefi_retool

> Python command-line tool and IDA Pro plugin for UEFI firmware reverse engineering. uefi_retool.py unpacks a firmware image with uefi-firmware-parser, collects its executable modules and runs IDA in batch mode on each one, writing their boot-service calls and protocol GUIDs to JSON; a separate command lists protocols whose GUIDs are absent from its EDK2, AMI and vendor GUID tables as proprietary. Inside IDA the plugin applies EFI system-table types and names, lists protocols in an explorer window and, from the JSON, shows a dependency browser and graph across the firmware’s modules.

- Type: Tool
- Targets: Firmware
- Category: Firmware tools
- Relationship: Foundation tool
- Sources reviewed: 2026-10-27
- Added to the catalog: 2026-11-02
- Original resource: <https://github.com/yeggor/uefi_retool>
- Primary source: <https://github.com/yeggor/uefi_retool/blob/be13abf0a84179f53a9ac8858a4cb2686b312a67/README.md>
- Catalog page: <https://awesomerea.org/resources/uefi-retool/>
- Record JSON: <https://awesomerea.org/resources/uefi-retool/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/uefi-retool/index.md)

## Requirements & limits

- The repository is archived. Its last commit (2024-12-28) only updates the README, the last code changes date from 2021-08-03, and the only tag, 1.2.0 from 2020-05-07, is eight commits older; there are no GitHub releases. The tree contains an IDA plugin only and no Ghidra component.
- Needs a licensed IDA Pro with IDAPython and PyQt5: copy uefi_analyser.py and the uefi_analyser package into IDA’s plugins directory, then set the IDA and IDA64 executable paths and the module, dump and log directories in config.json, whose example points to IDA Pro 7.6 on Windows. The script uses Python with Click, colorama, terminaltables, tqdm and uefi-firmware-parser 1.8, installed from a tarball named in requirements.txt.
- Input is a UEFI firmware image the user supplies; README examples name a ThinkPad X1 Carbon 5th-generation image that the repository does not include, and no firmware images are committed. The analyser recognizes x86 and x86-64 instruction patterns and chooses IDA or IDA64 from each image’s machine type. The bundled GUID tables come from EDK2 and EDK, from ida-efiutils for AMI, and from Dell, Lenovo and ASRock lists, and tools/update_edk2_guids.py refreshes the EDK2 table.
- MIT license (2018–2021, yeggor). The repository has no tests or CI. Labels and dependency graphs come from GUID matching and instruction patterns, so they need analyst checking.

## Primary sources

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>

## More in Firmware and hardware

- [Shannon Modem Loader for IDA Pro](https://awesomerea.org/resources/shannon-modem-loader/index.md) · Tool
- [IMSProg](https://awesomerea.org/resources/imsprog/index.md) · Tool
- [rbasefind](https://awesomerea.org/resources/rbasefind/index.md) · Tool
- [Aptio V UEFI Editor](https://awesomerea.org/resources/aptio-v-uefi-editor/index.md) · Tool
- [FirmLoader](https://awesomerea.org/resources/firmloader/index.md) · Tool
- [IFDA (IoT Firmware Deep Analysis)](https://awesomerea.org/resources/ifda-iot-firmware-deep-analysis/index.md) · Tool

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
