FAP ELF
File conversion

Convert FAP to ELF

QUICK ANSWER
Is it possible to convert FAP to ELF?
Yes - FAP converts to ELF.

Rename or copy the .fap to .elf and open it with standard ELF tooling such as readelf, arm-none-eabi-objdump, or Ghidra, since FAP is an ELF binary with added Flipper metadata and assets.

Also to ELF: HEX · S19

On this page

Tested on macOS, Windows & Linux
Last verified Sep 2026

More free converters

HEIC, PNG, WEBP, MP3 and more - every tool here is free.

Open the toolbox

Why convert FAP to ELF?

People move to .elf to disassemble, debug, or reverse-engineer a Flipper Zero application, because ELF is the format every binutils and disassembler tool understands. FAP files are built as ARM ELF executables that the Flipper App Loader copies to RAM and relocates at runtime, so the underlying ELF structure is already there.

How to convert FAP to ELF

readelf

Run readelf -a app.fap to dump the ELF headers, sections, and symbols directly; no conversion is needed since FAP already carries ELF structure.

arm-none-eabi-objdump

Disassemble the ARM Thumb code with arm-none-eabi-objdump -d -Mthumb app.fap to view the assembly of each function.

Ghidra

Copy the file to app.elf and import it into Ghidra, choosing the ARM Cortex little-endian language, for a full decompilation and analysis workspace.

About these formats

Quality & what to watch

  • A .fap bundles Flipper-specific metadata and image assets on top of the ELF, so it is not a clean standalone system ELF.
  • The code is position-independent and relocated by the App Loader at load time, so raw addresses in a static dump are not the final runtime addresses.
  • It targets the Flipper's ARM Cortex-M4 core, so you must select ARM/Thumb settings for the disassembly to make sense.

Frequently asked questions

Do I actually need to convert a .fap to .elf?
Not really. FAP is already an ELF binary, so ELF tools read it as-is; renaming to .elf is only for convenience with GUI tools like Ghidra.
Why does objdump show wrong-looking addresses?
FAP code is position-independent and relocated to RAM by the App Loader, so static addresses differ from the runtime layout.
Which CPU should I pick in Ghidra?
Choose ARM Cortex little-endian (Thumb), matching the Flipper Zero's STM32 ARM Cortex-M4.
Can I rebuild a .fap back from the ELF?
Not directly. FAPs are produced by the Flipper Build Tool (FBT), which also embeds the required metadata and assets.