Hvorfor konvertere FAP til ELF?
Folk skifter til .elf for at disassemblere, debugge eller reverse-engineere en Flipper Zero-applikation, fordi ELF er det format, alle binutils- og disassembler-værktøjer forstår. FAP-filer er bygget som ARM ELF-eksekverbare filer, som Flipper App Loader kopierer til RAM og relokerer under kørsel, så den underliggende ELF-struktur er der allerede.
Sådan konverterer du FAP til ELF
readelf
Kør readelf -a app.fap for at dumpe ELF-headere, sektioner og symboler direkte; ingen konvertering er nødvendig, da FAP allerede bærer ELF-struktur.
arm-none-eabi-objdump
Disassembler ARM Thumb-koden med arm-none-eabi-objdump -d -Mthumb app.fap for at se assembly-koden for hver funktion.
Ghidra
Kopier filen til app.elf og importer den i Ghidra, vælg ARM Cortex little-endian sproget, for et fuldt dekompilerings- og analysearbejdsområde.
Om disse formater
En .fap-fil er en Flipper Application Package, en app bygget til Flipper Zero-multiværktøjet. Det er en ELF-eksekverbar fil til enhedens ARM Cortex-M4 MCU med Flipper-specifikke metadata,…
Åbn .FAP detaljer →En ELF-fil er det binære eksekverbare format, der bruges af Linux, Android, BSD-systemerne og de fleste Unix-lignende systemer - det svarer til Windows EXE. På Linux kører du den direkte;…
Åbn .ELF detaljer →Kvalitet & hvad man skal være opmærksom på
- En
.fapsamler Flipper-specifikke metadata og billedaktiver oven på ELF-filen, så det er ikke en ren selvstændig system-ELF. - Koden er positionsuafhængig og relokeres af App Loader ved indlæsning, så rå adresser i et statisk dump er ikke de endelige runtime-adresser.
- Den er målrettet Flippers ARM Cortex-M4-kerne, så du skal vælge ARM/Thumb-indstillinger, for at disassembleringen giver mening.
Ofte stillede spørgsmål
Behøver jeg rent faktisk at konvertere en .fap til .elf?
.elf er kun for nemheds skyld med GUI-værktøjer som Ghidra.