Pregunta

Estoy creando un archivo ejecutable ELF y necesito saber qué secciones requieren el sistema operativo para cargarlo y ejecutarlo.

Detalles:

OS:               Ubuntu 10.04 (64-bit)
Kernel version:   2.6.32-24
Architecture:     i386

Me doy cuenta de que lo siguiente probablemente sería necesario:

  • .texto
  • .symtab
  • .rel.text

¿Hay otros?

¿Fue útil?

Solución

"Un tutorial de torbellino sobre la creación de ejecuciones de elfos realmente adolescentes para Linux" Tiene información sobre cómo (AB) usar las diversas secciones ELF para hacer un ejecutable lo más pequeño posible. También contiene un enlace a la especificación ELF si necesita más información. (También es una lectura bastante entretenida). Tal vez te dirá lo que necesitas saber?

Otros consejos

Decidí probar sistemáticamente las secciones de un archivo ELF generado por GCC.

Pude eliminar muchas de las secciones, pero no se podían eliminar y el ejecutable aún se ejecuta sin una falla de segmentación:

.dynsym
.dynstr
.gnu.version_r
.rel.plt
.init
.plt
.text
.fini
.ctors
.dtors
.dynamic
.got.plt
.data
.strtab
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top