O que eu já sei:
Um executável do ELF possui várias seções, obviamente as seções .text e .data são carregadas na memória, pois essas são as partes principais do programa. Mas, para que um programa funcione, ele precisa de mais informações, especialmente quando vinculado dinamicamente.
Estou interessado em seções como .plt, .got, .dynamic, .dynsym, .dynstr etcetera. As partes do ELF responsáveis pela vinculação de funções aos endereços.
Pelo que pude descobrir até agora, coisas como .symtab e .strtab não são carregadas (ou não ficam) na memória. Mas .dynsym ee .dynstr são usados pelo vinculador? Eles ficam na memória? Posso acessá-los a partir do código do programa?
E existem partes de um executável que residem na memória do kernel?
Meu interesse nisso é forense, mas qualquer informação sobre esse tópico ajudará. Os recursos que li sobre essas tabelas e os vínculos dinâmicos são de alto nível; eles apenas explicam o funcionamento, nada prático sobre o conteúdo da memória.
Deixe-me saber se algo não está claro sobre a minha pergunta.