MIT License Python Versions Version

UEFI_RETool

A tool for UEFI firmware reverse engineering.

Table of Contents

Click to open TOC - [UEFI firmware analysis with uefi_retool.py script](#uefi-firmware-analysis-with-uefi_retoolpy-script) - [Commands](#commands) - [get-images](#get-images) - [get-info](#get-info) - [get-pp](#get-pp) - [Additional tools](#additional-tools) - [IDA plugin](#ida-plugin) - [Analyser & Protocol explorer](#analyser--protocol-explorer) - [Usage](#usage) - [Example](#example) - [Before analysis](#before-analysis) - [After analysis](#after-analysis) - [Protocol explorer window](#protocol-explorer-window) - [Dependency browser & Dependency graph](#dependency-browser--dependency-graph) - [Usage](#usage-1) - [Example](#example-1) - [Dependency browser window](#dependency-browser-window) - [Dependency graph](#dependency-graph) - [Similar works](#similar-works)

UEFI firmware analysis with uefi_retool.py script

Usage:

Commands

python uefi_retool.py
Usage: uefi_retool.py [OPTIONS] COMMAND [ARGS]...

Options:
  --help  Show this message and exit.

Commands:
  get-images  Get executable images from UEFI firmware.
  get-info    Analyze the entire UEFI firmware.
  get-pp      Get a list of proprietary protocols in the UEFI firmware.

get-images

python uefi_retool.py get-images --help
Usage: uefi_retool.py get-images [OPTIONS] FIRMWARE_PATH

  Get executable images from UEFI firmware. Images are stored in "modules"
  directory.

Options:
  --help  Show this message and exit.

Example:

python uefi_retool.py get-images test_fw/fw-tp-x1-carbon-5th.bin

get-info

python uefi_retool.py get-info --help
Usage: uefi_retool.py get-info [OPTIONS] FIRMWARE_PATH

  Analyze the entire UEFI firmware. The analysis result is saved to .json
  file.

Options:
  -w, --workers INTEGER  Number of workers (8 by default).
  --help                 Show this message and exit.

Example:

python uefi_retool.py get-info -w 6 test_fw/fw-tp-x1-carbon-5th.bin

get-pp

python uefi_retool.py get-pp --help
Usage: uefi_retool.py get-pp [OPTIONS] FIRMWARE_PATH

  Get a list of proprietary protocols in the UEFI firmware. The result is
  saved to .json file.

Options:
  -w, --workers INTEGER  Number of workers (8 by default).
  --help                 Show this message and exit.

Example:

python uefi_retool.py get-pp -w 6 test_fw/fw-tp-x1-carbon-5th.bin

Additional tools

IDA plugin

IDA plugin for UEFI analysis

Analyser & Protocol explorer

Usage

Example

Before analysis

before_analysis

After analysis

after_analysis

Protocol explorer window

protocols

Dependency browser & Dependency graph

Usage

Example

Dependency browser window

db-usage

Dependency graph

db-graph

Similar works