objdump — это инструмент командной строки, который обычно используется для отображения подробной информации о файловых объектах, включая бинарные исполняемые файлы и разделяемые библиотеки (DLL). В статье приведу несколько примеров того, как использовать objdump для сбора заголовков секций и перечисления DLL в бинарном файле.
Еще по теме: Эксплуатация ядра Linux
Использование objdump для сбора заголовков секций
Для сбора заголовков секций можно использовать опцию -h, чтобы отобразить заголовки в читаемом формате. Например, следующая команда отобразит заголовки секций файла example.exe:
1 |
objdump -h example.exe |
Чтобы перечислить DLL, импортированные исполняемым файлом, можно использовать опцию -x и искать импорты DLL, например:
1 |
objdump -x example.exe | grep "DLL_Name" |
Еще один способ перечислить DLL, импортированные исполняемым файлом, — это использовать опцию -p. Она покажет DLL, импортированные файлом PE, и имена символов, импортированных из каждой DLL.
1 |
objdump -p example.exe |
Также можно использовать опцию -T, чтобы перечислить все символы, содержащиеся в файле. Если вы хотите отфильтровать и показать только импортированные символы, вы можете перенаправить вывод и использовать команду grep для фильтрации имён функций.
1 |
objdump -T example.exe | grep '^[^ ]* [^ ]*DF' |
Имейте в виду, что предыдущие примеры основаны на использовании objdump с файлами формата ELF. Команды и вывод могут отличаться, если файл, который пытаетесь проанализировать, не является файлом ELF.
Важно проверить документацию для objdump относительно формата, который вы пытаетесь анализировать.
ПОЛЕЗНЫЕ ССЫЛКИ: