Für ausführbare PE-Dateien kann ich die importierten Symbole mit auflisten
dumpbin /imports FILE.EXE
oder mit dem Hilfsprogramm depend, das die GUI-Anwendung ist.
nm ELF-binary gibt nur "keine Symbole" zurück.
Für ausführbare PE-Dateien kann ich die importierten Symbole mit auflisten
dumpbin /imports FILE.EXE
oder mit dem Hilfsprogramm depend, das die GUI-Anwendung ist.
nm ELF-binary gibt nur "keine Symbole" zurück.
Antworten:
Versuchen Sie objdump -T 'ELF-Datei'
Die Ausgabe von objdump ist zu diesem Zweck etwas zu umfangreich und erfordert ein gutes Parsing, um die tatsächlichen Importe zu ermitteln.
Ich lese mich lieber für diesen Zweck:
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]
Wie Sie sehen, sind die benötigten Bibliotheken mit "NEEDED" gekennzeichnet.
objdump -p /path/to/binary | grep NEEDED
.
Zusammen mit den anderen hier geposteten Antworten möchte ich noch eine vorschlagen. Die gedruckten Inhalte sind eine Funktion des Dateiformats, in dem sich ELF gut zur Lösung dieses Problems eignet.
objdump -p /path/to/binary | grep NEEDED
Das grep extrahiert einfach den Inhalt des Dynamic Section
, aber es ist das Format der objdump -p
Ausgabe, das dies zu einer einfachen Lösung macht.