Hvorfor konvertere FAP til ELF?
Folk går over til .elf for å disassemblere, feilsøke eller drive med omvendt utvikling av en Flipper Zero-applikasjon, fordi ELF er formatet alle binutils- og disassembler-verktøy forstår. FAP-filer er bygget som ARM ELF-eksekverbare filer som Flipper App Loader kopierer til RAM og relokerer ved kjøretid, så den underliggende ELF-strukturen er allerede på plass.
Hvordan konvertere FAP til ELF
readelf
Kjør readelf -a app.fap for å dumpe ELF-headere, seksjoner og symboler direkte; ingen konvertering er nødvendig siden FAP allerede har ELF-struktur.
arm-none-eabi-objdump
Disassembler ARM Thumb-koden med arm-none-eabi-objdump -d -Mthumb app.fap for å se monteringskoden for hver funksjon.
Ghidra
Kopier filen til app.elf og importer den i Ghidra, velg språket ARM Cortex little-endian, for et fullstendig dekompilerings- og analysemiljø.
Om disse formatene
En .fap-fil er en Flipper Application Package, en app bygget for multiverktøyet Flipper Zero. Det er en ELF-eksekverbar fil for enhetens ARM Cortex-M4 MCU med Flipper-spesifikke metadata,…
Åpne .FAP-detaljer →En ELF-fil er det binære kjørbare formatet som brukes av Linux, Android, BSD-systemer og de fleste Unix-lignende systemer - tilsvarende Windows EXE. På Linux kjører du den direkte; en…
Åpne .ELF-detaljer →Kvalitet og hva du bør passe på
- En
.fapbunter Flipper-spesifikke metadata og bildeelementer på toppen av ELF-filen, så det er ikke en ren frittstående system-ELF. - Koden er posisjonsuavhengig og relokeres av App Loader ved lasting, så råadresser i en statisk dump er ikke de endelige kjøretidsadressene.
- Den er rettet mot Flippers ARM Cortex-M4-kjerne, så du må velge ARM/Thumb-innstillinger for at disassembleringen skal gi mening.
Ofte stilte spørsmål
Må jeg faktisk konvertere en .fap til .elf?
.elf er kun for bekvemmelighet med GUI-verktøy som Ghidra.