Lo que ya sé:
Un ejecutable ELF tiene varias secciones, obviamente las secciones .text y .data se cargan en la memoria, ya que estas son las partes principales del programa. Pero para que un programa funcione, necesita más información, especialmente cuando está vinculado dinámicamente.
Lo que me interesa son secciones como .plt, .got, .dynamic, .dynsym, .dynstr, etcétera. Las partes del ELF que son responsables de la vinculación de funciones a direcciones.
Por lo que he podido descubrir hasta ahora, es que cosas como .symtab y .strtab no se cargan (o no permanecen) en la memoria. ¿Pero son los .dynsym y .dynstr utilizados por el enlazador? ¿Se quedan en la memoria? ¿Puedo acceder a ellos desde el código del programa?
¿Y hay partes de un ejecutable que residen en la memoria del núcleo?
Mi interés en esto es principalmente forense, pero cualquier información sobre este tema me ayudará. Los recursos que he leído sobre estas tablas y enlaces dinámicos son de más alto nivel, solo explican el funcionamiento, no nada práctico sobre los contenidos en la memoria.
Avíseme si hay algo que no esté claro sobre mi pregunta.