rchtsang / ffxe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FFXE

FFXE is a CFG recovery tool for Cortex-M based embedded firmware binaries.

It was first presented at USENIX 2024 in FFXE: Dynamic Control Flow Graph Recovery for Embedded Firmware Binaries as a way to recover indirect calls to asynchronously-registered interrupt handler functions using dynamic forced execution. The original artifacts have been saved and can be found in this fork

While it is still not an official package, this repository has been cleaned up to make it a bit easier to use in other projects, and as such it no longer contains the evaluation scripts and tools. To find those, you can checkout commit 17adcd8 or go to the aforementioned fork.

Setup

Native

The dependencies can be installed in a conda environment using the provided environment.yml file.

After activating the environment, the engine should be installed via pip in developer mode with pip install -e . from the project root directory.

About

License:MIT License


Languages

Language:Python 100.0%