16

Для исполняемого файла PE я могу перечислить импортированные символы, используя

dumpbin /imports FILE.EXE

или используя утилиту зависимость, которая является приложением GUI.

«nm ELF-binary» просто возвращает "без символов".

4 ответа4

12

Попробуйте objdump -T 'ELF-файл'

5

Я предпочитаю readelf .

readelf -s <file>

5

Выходные данные objdump для этой цели немного излишни и требуют большого разбора, чтобы найти фактический импорт.

Я предпочитаю readelf для этой цели:

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]

Как видите, необходимые библиотеки помечены как "НЕОБХОДИМЫЕ".

0

Наряду с другими ответами, размещенными здесь, я хотел бы предложить другой. Напечатанное содержимое является функцией формата файла, где ELF прекрасно подходит для решения этой проблемы.

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

Grep просто извлекает содержимое Dynamic Section , но это формат вывода objdump -p который делает это простым решением.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .