Skip to content

zero-mega/dfu-binary-extractor

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DFU Binary Extractor - Firmware Liberation Tool

A Python tool for extracting raw firmware binaries from DFU (Device Firmware Update) containers, optimized for reverse engineering with Ghidra. Perfect for analyzing Flipper Zero and other embedded device firmware.

image

πŸš€ Features

DFU Format Support: Handles both standard DFU and DfuSe (ST Microelectronics) formats Multi-Target Extraction: Automatically extracts all firmware targets from DfuSe files Ghidra-Ready: Outputs raw binaries ready for import into Ghidra or other RE tools

πŸ“‹ Requirements

No external dependencies (uses only Python standard library)

πŸ’» Usage

Extract firmware from DFU file:

python dfu-bin-extractor.py firmware.dfu

Specify custom output prefix

python dfu-bin-extractor.py firmware.dfu -o extracted_firmware

Show DFU file information without extraction

python dfu-bin-extractor.py firmware.dfu -i

Command Line Options positional arguments: input Input DFU file

optional arguments: -h, --help Show help message and exit -o OUTPUT, --output OUTPUT Output file prefix (default: input filename without extension) -i, --info Show DFU file information without extracting

πŸ” Ghidra Integration

After extracting your firmware:

Create New Project: File β†’ New Project β†’ Non-Shared Project Import Binary: File β†’ Import File β†’ Select your .bin file Configure Import:

Format: Raw Binary Language: ARM Cortex (for STM32) or appropriate architecture (Flipper Zero use little endian) Base Address: Use the address shown by the extractor (e.g., 0x08000000)

Analyze: Analysis β†’ Auto Analyze β†’ Select all analyzers β†’ Analyze

🎯 Use Cases

Flipper Zero Development: Extract and analyze Flipper Zero firmware updates

Research: Reverse engineer closed source firmware

rocketgod_logo_transparent

About

Extract raw firmware from DFU containers for reverse engineering (Made for Flipper Zero)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%