Format ELF — Binaires Linux
★★★★★
Structure ELF
ELF Header : magic bytes (7f 45 4c 46), arch, entrypoint
Program Hdrs : segments chargés en mémoire (LOAD)
Section Hdrs : sections pour le linker
Sections importantes :
.text = code exécutable
.data = variables initialisées
.bss = variables non-initialisées (zeroed)
.rodata = données en lecture seule (strings)
.plt = Procedure Linkage Table (appels externes)
.got = Global Offset Table (adresses réelles)
.symtab = table des symboles (si non strippé) Commandes utiles
file binary # type, architecture, stripped ?
checksec binary # protections
readelf -a binary # tout : headers, sections
objdump -d binary # désassembler
nm binary # symboles (si debug)
strings binary # chaînes de caractères
strace binary # syscalls à l exécution
ltrace binary # appels de bibliothèques
patchelf --set-rpath . binary # changer rpath (libc custom)