
Inspecteur ELF minimal écrit en C pour une inspection rapide de la disposition des binaires.
Pas un remplaçant pour readelf ou objdump. Juste un outil rapide et ciblé pour les questions courantes en rétro-ingénierie :
Sert aussi d'exemple lisible de parsing ELF en C. Gère proprement les binaires strippés et ceux sans en-têtes de sections.
(elfpeek:ls).dynsym et .symtab<elf.h>make
Optionnel : installez libreadline-dev pour l'historique des commandes dans le REPL.
./elfpeek
./elfpeek /bin/ls # affiche les en-têtes, sections, symboles
./elfpeek /bin/ls 0x6760 # résout une adresse
| Commande | Alias | Description |
|---|---|---|
open <path> | o | Ouvrir un fichier ELF |
close | Fermer le fichier courant | |
info | i | Afficher l'en-tête ELF |
sections | s | Lister les en-têtes de sections |
phdr | p | Lister les en-têtes de programme |
entry | e | Afficher le point d'entrée |
symbols [dyn|sym] | sym | Vider les tables de symboles |
resolve <addr> | r | Résoudre une adresse virtuelle |
dump <.sec|@off> [n] | d | Hexdump (section ou décalage) |
help | ? | Afficher l'aide |
quit | q | Quitter |
Sections :
.text, .plt).data, .bss).rodata)Hexdump :
00)20-7E)01-1F)80-FF)tests/ contient des fichiers ELF d'exemple :
| Fichier | Description |
|---|---|
elf32_le.bin | 32 bits petit boutisme (i386) |
elf32_be.bin | 32 bits gros boutisme (PowerPC) |
elf64_be.bin | 64 bits gros boutisme (PowerPC64) |
elf64_le_pie.bin | Exécutable PIE |
elf64_le_static.bin | Lié statiquement |
elf64_le_dynsym_only.bin | Strippé, dynsym uniquement |
elf64_le_so.bin | Objet partagé |
elf64_le_segments_only.bin | Sans en-têtes de sections |
relocs - afficher les relocationsgot/pltMIT