
Inspector ELF mínimo escrito en C para una inspección rápida del diseño de binarios.
Inspector ELF mínimo con REPL interactivo para análisis rápido de binarios
No es un reemplazo de readelf u objdump. Solo una herramienta rápida y enfocada para preguntas comunes de ingeniería inversa:
También sirve como ejemplo legible de análisis ELF en C. Maneja binarios sin símbolos y solo con segmentos de forma elegante.
(elfpeek:ls).dynsym como .symtab<elf.h>make
Opcional: instala libreadline-dev para el historial de comandos en el REPL.
./elfpeek
./elfpeek /bin/ls # muestra cabeceras, secciones, símbolos
./elfpeek /bin/ls 0x6760 # resuelve la dirección
Secciones:
.text, .plt).data, .bss).rodata)Hexdump:
00)20-7E)01-1F)80-FF)tests/ contiene archivos ELF de ejemplo:
relocs - mostrar reubicacionesgot/pltMIT
| Comando | Alias | Descripción |
|---|
open <path> | o | Abrir archivo ELF |
close | Cerrar archivo actual | |
info | i | Mostrar cabecera ELF |
sections | s | Listar cabeceras de sección |
phdr | p | Listar cabeceras de programa |
entry | e | Mostrar punto de entrada |
symbols [dyn|sym] | sym | Volcar tablas de símbolos |
resolve <addr> | r | Resolver dirección virtual |
dump <.sec|@off> [n] | d | Volcado hexadecimal (sección u offset) |
help | ? | Mostrar ayuda |
quit | q | Salir |
| Archivo | Descripción |
|---|
elf32_le.bin | 32 bits little-endian (i386) |
elf32_be.bin | 32 bits big-endian (PowerPC) |
elf64_be.bin | 64 bits big-endian (PowerPC64) |
elf64_le_pie.bin | Ejecutable PIE |
elf64_le_static.bin | Enlazado estáticamente |
elf64_le_dynsym_only.bin | Sin símbolos, solo dynsym |
elf64_le_so.bin | Objeto compartido |
elf64_le_segments_only.bin | Sin cabeceras de sección |