Myślałem, że objdump -T działał głównie na bibliotekach współdzielonych ...
jim mcnamara
cóż ... nie bardzo, jeśli to zrobię: objdump -t / bin / ls zwraca: „TABELA SYMBOLI: bez symboli”, z -T (która wyświetla TABELĘ SYMBOLI DYNAMICZNEJ) wyświetla dużo danych, na przykład: „00000000 DF UND 00000000 GLIBC_2.0 strchr "
Pan Shunz
5
Dane wyjściowe z objdump są w tym celu nieco nadmierne i wymagają sporej analizy, aby znaleźć rzeczywisty import.
Zawiera tylko wymagane biblioteki. Pytanie dotyczy tego, jakie symbole są importowane z tych bibliotek.
Alcaro,
1
Wraz z innymi zamieszczonymi tutaj odpowiedziami chciałbym zaproponować inną. Wydrukowana zawartość jest funkcją formatu pliku, w którym ELF ładnie nadaje się do rozwiązania tego problemu.
objdump -p /path/to/binary | grep NEEDED
Grep po prostu wyodrębnia zawartość Dynamic Section, ale jego format objdump -pwyjściowy sprawia, że jest to proste rozwiązanie.
Odpowiedzi:
Wypróbuj objdump -T 'plik ELF'
źródło
Dane wyjściowe z objdump są w tym celu nieco nadmierne i wymagają sporej analizy, aby znaleźć rzeczywisty import.
W tym celu wolę readelf :
Jak widać, wymagane biblioteki są oznaczone jako „POTRZEBNE”.
źródło
objdump -p /path/to/binary | grep NEEDED
.Wolę
readelf
.readelf -s <file>
źródło
Wraz z innymi zamieszczonymi tutaj odpowiedziami chciałbym zaproponować inną. Wydrukowana zawartość jest funkcją formatu pliku, w którym ELF ładnie nadaje się do rozwiązania tego problemu.
objdump -p /path/to/binary | grep NEEDED
Grep po prostu wyodrębnia zawartość
Dynamic Section
, ale jego formatobjdump -p
wyjściowy sprawia, że jest to proste rozwiązanie.źródło