Tente objdump -T 'arquivo ELF'
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".
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".
Eu prefiro readelf
.
readelf -s <file>
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.