Quais são essas seqüências de memória? O que eles fazem? [duplicado]

2

Recentemente, eu joguei minhas strings de memória (só porque eu consegui) usando sudo cat /dev/mem | strings . Ao rever este despejo, notei algumas coisas muito interessantes:

.symtab
.strtab
.shstrtab
.note.gnu.build-id
.rela.text
.rela.init.text
.rela.text.unlikely
.rela.exit.text
.rela__ksymtab
.rela__ksymtab_gpl
.rela__kcrctab
.rela__kcrctab_gpl
.rela.rodata
.rodata.str1.8
.rela__mcount_loc
.rodata.str1.1
.rela__bug_table
.rela.smp_locks
.modinfo
__ksymtab_strings
.rela__tracepoints_ptrs
__tracepoints_strings
__versions
.rela.data
.data.unlikely
.rela__verbose
.rela__jump_table
.rela_ftrace_events
.rela.ref.data
.rela__tracepoints
.rela.gnu.linkonce.t6

Todas essas linhas parecem estar relacionadas de alguma forma: elas são todas (muito) próximas uma da outra na memória, todas têm prefixos .<name> similares, e todas parecem se referir umas às outras.

O que faria com que essas cadeias aparecessem e por quê?

    
por Kaz Wolfe 24.06.2016 / 22:36

2 respostas

1

Eles se parecem muito com nomes de seção do kernel do Linux. Os prefixados por .rela contêm informações de realocação para a seção nomeada, por exemplo. .rela.text é a informação de relocação para a seção de texto (onde o código do objeto do kernel é armazenado).

Outras seções de interesse são:

  1. .modinfo - informações do módulo do kernel
  2. .rela .__ ksymtab - tabela de realocação da tabela de símbolos do kernel
  3. .rela.data - tabela de realocação da seção de dados do kernel
  4. rodata.str1.1 - seção de dados somente leitura para strings

etc.

A execução de strings em / dev / mem apenas encontrará strings interessantes na memória física do sistema; Portanto, você conseguiu encontrar algumas strings que estão no kernel do Linux vmlinuz não comprimido.

    
por 25.06.2016 / 01:56
2

+1 para o que @jos disse acima ("google it"). Neste caso particular, você deve remover as partes ".rela_" e "_gpl". Você verá que estes são símbolos de kernel. "rela" é um acrônimo para "realocação" e tem a ver com o formato de arquivo ELF. Estes são todos tópicos interessantes e eu encorajo você a investigá-los ainda mais.

    
por 25.06.2016 / 01:38