FAP ELF
Конвертация файлов

Конвертировать FAP в ELF

БЫСТРЫЙ ОТВЕТ
Возможно ли конвертировать FAP в ELF?
Да - FAP конвертируется в ELF.

Переименуйте или скопируйте .fap в .elf и откройте его с помощью стандартных инструментов ELF, таких как readelf, arm-none-eabi-objdump или Ghidra, так как FAP - это бинарный файл ELF с добавленными метаданными и ресурсами Flipper.

Также в ELF: HEX · S19

На этой странице

Протестировано на macOS, Windows и Linux
Последняя проверка: Sep 2026

Больше бесплатных конвертеров

HEIC, PNG, WEBP, MP3 и другие - все инструменты здесь бесплатны.

Открыть инструменты

Зачем конвертировать FAP в ELF?

Пользователи переходят на .elf для дизассемблирования, отладки или реверс-инжиниринга приложений Flipper Zero, так как ELF - это формат, который понимают все инструменты binutils и дизассемблеры. Файлы FAP создаются как исполняемые файлы ARM ELF, которые App Loader в Flipper копирует в RAM и перемещает во время выполнения, поэтому базовая структура ELF уже присутствует.

Способы конвертации FAP в ELF

readelf

Запустите readelf -a app.fap, чтобы дампнуть заголовки, секции и символы ELF напрямую; конвертация не требуется, так как FAP уже имеет структуру ELF.

arm-none-eabi-objdump

Дизассемблируйте код ARM Thumb с помощью arm-none-eabi-objdump -d -Mthumb app.fap, чтобы просмотреть ассемблерный код каждой функции.

Ghidra

Скопируйте файл в app.elf и импортируйте его в Ghidra, выбрав язык ARM Cortex little-endian, для полноценной декомпиляции и анализа.

Об этих форматах

Качество и на что обратить внимание

  • .fap объединяет специфические метаданные Flipper и изображения поверх ELF, поэтому он не является чистым системным ELF.
  • Код является позиционно-независимым и перемещается App Loader при загрузке, поэтому статические адреса в дампе не являются окончательными адресами в памяти.
  • Он ориентирован на ядро ARM Cortex-M4 устройства Flipper, поэтому для корректного дизассемблирования необходимо выбрать настройки ARM/Thumb.

Часто задаваемые вопросы

Нужно ли мне на самом деле конвертировать .fap в .elf?
Не совсем. FAP уже является бинарным файлом ELF, поэтому инструменты ELF читают его как есть; переименование в .elf нужно только для удобства работы с GUI-инструментами вроде Ghidra.
Почему objdump показывает странные адреса?
Код FAP позиционно-независим и перемещается в RAM загрузчиком приложений, поэтому статические адреса отличаются от макета во время выполнения.
Какой процессор выбрать в Ghidra?
Выберите ARM Cortex little-endian (Thumb), соответствующий STM32 ARM Cortex-M4 в Flipper Zero.
Можно ли собрать .fap обратно из ELF?
Напрямую нет. Файлы FAP создаются с помощью Flipper Build Tool (FBT), который также внедряет необходимые метаданные и ресурсы.