Как посмотреть список символов в ELF-файле?

Используйте nm или readelf: nm -C показывает символы с деманглингом C++, readelf -Ws — таблицы символов ELF. Для динамических символов у nm есть ключ -D.

Короткий ответ

Что ответить на собеседовании

Используйте nm или readelf: nm -C показывает символы с деманглингом C++, readelf -Ws — таблицы символов ELF. Для динамических символов у nm есть ключ -D.

Подробный разбор

Ответ с пояснениями

Используйте nm или readelf: nm -C показывает символы с деманглингом C++, readelf -Ws — таблицы символов ELF. Для динамических символов у nm есть ключ -D.

nm -C program
nm -D -C libexample.so
readelf -Ws program

Подставьте имя своего файла. U в выводе nm обычно обозначает неопределённый символ, а T — символ в секции кода. -C делает C++-имена читаемыми, не меняя сам файл.

У stripped-бинарника обычная таблица символов может быть удалена, при этом необходимые динамические символы остаются. Имена функций в таблице и отладочная информация со строками исходников — не одно и то же; для полного разбора могут понадобиться отдельные debug symbols.

Источник: sourceware.org, sourceware.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее