OFRAK (Open Firmware Reverse Analysis Konsole), is a binary analysis/modification platform. OFRAK allows you to:
- Find and Unpack Many binary formats
- Unpacked Binaries With Field-Tried Reverse Engineering Tools
- Modify & Repack Binaries using powerful patching strategies
OFRAK can support a variety of embedded firmware files formats, beyond the userspace executables.
- Filesystem compression
- Checksummed and compressed firmware
- Bootloaders
- RTOS/OS Kernels
OFRAK provides users with:
- Interactive exploration of and visualizations of binaries using a Graphical U Interface (GUI).
- An Python API to create readable, reproducible scripts which can be used on entire classes of binary instead of one particular binary
- Recursive Identification, Unpacking and Repacking Many file formats are supported, including ELF executables to filesystem archives to compress and checkedsummed firmware formats.
- Extensible, built-in integration that supports powerful analysis backends like angr, Binary Ninja and Ghidra (IDA Pro).
- Extension by design
See for more details.
GUI Frontend
A web-based GUI view displays a tree of navigable resources. It provides metadata and text navigation for the chosen resource. There is also a sidebar with a map that allows you to quickly navigate by magnitude, byteclass or entropy. You can also use the GUI to perform actions that are normally only available via Python API, such as commenting and unpacking.
Getting Started
OFRAK uses Git LFS. You must install Git LFS before you can clone the repository. Follow these instructions to get Git LFS. Clone the repository accidentally before you install Git LFS. Copy to the repository, and then run Git lfs pull
.
See for detailed instructions on how to install OFRAK.
Documentation
OFRAK provides general documentation as well as API documentation. Both are available at .
You can make modifications to the documentation, or even serve it yourself. Follow the instructions in .