Como listar símbolos importados no executável ELF?

16

Para o executável PE, posso listar os símbolos importados usando

dumpbin /imports FILE.EXE

ou usando o utilitário depends, que é a aplicação GUI.

'nm-binário ELF' apenas retorna "sem símbolos".

    
por Xiè Jìléi 09.07.2010 / 15:14

4 respostas

12

Tente objdump -T 'arquivo ELF'

    
por 09.07.2010 / 15:50
5

A saída do objdump é um pouco excessiva para este propósito, e requer um bom bocado de análise para encontrar as importações reais.

Eu prefiro readelf para essa finalidade:

readelf -d dynamic-buffer-test

Dynamic section at offset 0x630a8 contains 23 entries:
 Tag                Type                 Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]

Como você pode ver, as bibliotecas necessárias estão marcadas com "NEEDED".

    
por 21.02.2015 / 01:41
4

Eu prefiro readelf .

readelf -s <file>

    
por 15.03.2015 / 01:30
0

Juntamente com as outras respostas postadas aqui, gostaria de propor outra. O conteúdo impresso é uma função do formato de arquivo, onde o ELF se presta muito bem à solução desse problema.

objdump -p /path/to/binary | grep NEEDED

O grep simplesmente extrai o conteúdo do Dynamic Section , mas é o formato da saída objdump -p que torna isso uma solução simples.

    
por 08.11.2016 / 22:39

Tags