Waarom FAP naar ELF converteren?
Mensen stappen over naar .elf om een Flipper Zero-applicatie te disassembleren, te debuggen of te reverse-engineeren, omdat ELF het formaat is dat elke binutils- en disassembler-tool begrijpt. FAP-bestanden zijn gebouwd als ARM ELF-uitvoerbare bestanden die de Flipper App Loader naar het RAM kopieert en tijdens runtime verplaatst, dus de onderliggende ELF-structuur is al aanwezig.
Hoe FAP naar ELF te converteren
readelf
Voer readelf -a app.fap uit om de ELF-headers, secties en symbolen direct te dumpen; er is geen conversie nodig omdat FAP al een ELF-structuur heeft.
arm-none-eabi-objdump
Disassembleer de ARM Thumb-code met arm-none-eabi-objdump -d -Mthumb app.fap om de assembly van elke functie te bekijken.
Ghidra
Kopieer het bestand naar app.elf en importeer het in Ghidra, waarbij u de ARM Cortex little-endian taal kiest, voor een volledige decompressie- en analysewerkomgeving.
Over deze formaten
Een .fap-bestand is een Flipper Application Package, een app gebouwd voor de Flipper Zero multi-tool. Het is een ELF-executable voor de ARM Cortex-M4 MCU van het apparaat met…
Open .FAP details →Een ELF-bestand is het binaire uitvoerbare formaat dat wordt gebruikt door Linux, Android, de BSD's en de meeste Unix-achtige systemen - het equivalent van Windows EXE. Op Linux voer je het…
Open .ELF details →Kwaliteit & waar op te letten
- Een
.fapbundelt Flipper-specifieke metadata en afbeeldingsassets bovenop de ELF, dus het is geen schoon, op zichzelf staand systeem-ELF. - De code is positie-onafhankelijk en wordt door de App Loader verplaatst op het moment van laden, dus ruwe adressen in een statische dump zijn niet de uiteindelijke runtime-adressen.
- Het is gericht op de ARM Cortex-M4-kern van de Flipper, dus u moet ARM/Thumb-instellingen selecteren om de disassembly logisch te maken.
Veelgestelde vragen
Moet ik een .fap echt converteren naar .elf?
.elf is alleen voor het gemak bij GUI-tools zoals Ghidra.