Varför konvertera FAP till ELF?
Användare går över till .elf för att disassemblera, felsöka eller bakåtkompilera en Flipper Zero-applikation, eftersom ELF är det format som alla binutils- och disassemblerverktyg förstår. FAP-filer är byggda som ARM ELF-exekverbara filer som Flipper App Loader kopierar till RAM och relokerar vid körning, så den underliggande ELF-strukturen finns redan där.
Hur man konverterar FAP till ELF
readelf
Kör readelf -a app.fap för att dumpa ELF-headers, sektioner och symboler direkt; ingen konvertering behövs eftersom FAP redan har ELF-struktur.
arm-none-eabi-objdump
Disassemblera ARM Thumb-koden med arm-none-eabi-objdump -d -Mthumb app.fap för att se assemblerkoden för varje funktion.
Ghidra
Kopiera filen till app.elf och importera den i Ghidra, välj språket ARM Cortex little-endian för en fullständig dekompilerings- och analysmiljö.
Om dessa format
En .fap-fil är ett Flipper Application Package, en app byggd för multiverktyget Flipper Zero. Det är en körbar ELF-fil för enhetens ARM Cortex-M4 MCU med Flipper-specifika metadata, en ikon…
Öppna detaljer för .FAP →En ELF-fil är det binära körbara formatet som används av Linux, Android, BSD-systemen och de flesta Unix-liknande system - motsvarigheten till Windows EXE. På Linux kör du den direkt; en…
Öppna detaljer för .ELF →Kvalitet & vad man bör tänka på
- En
.fapbuntar Flipper-specifik metadata och bildresurser ovanpå ELF-filen, så det är inte en ren fristående system-ELF. - Koden är positionsoberoende och relokeras av App Loader vid laddning, så råa adresser i en statisk dump är inte de slutgiltiga körningsadresserna.
- Den är riktad mot Flippers ARM Cortex-M4-kärna, så du måste välja ARM/Thumb-inställningar för att disassembleringen ska bli korrekt.
Vanliga frågor
Behöver jag faktiskt konvertera en .fap till .elf?
.elf är endast för bekvämlighet med GUI-verktyg som Ghidra.