Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

zero-mega/dfu-binary-extractor

Open more actions menu
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
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

 
 
 

Contributors

Languages

  • Python 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.