Главная > Управление пакетами и системой > objdump

objdump: Отображение информации об объектных файлах

Команда для анализа и отображения различной информации из бинарных файлов, таких как исполняемые файлы, объектные файлы и библиотеки. Она полезна для отладки и обратной разработки, поскольку позволяет просматривать ассемблерный код, заголовки, секции и таблицы символов.

Обзор

objdump извлекает информацию из объектных файлов различных форматов, таких как ELF, COFF, a.out, и представляет ее в удобочитаемом виде. Он в основном используется для отладки, обратной разработки и анализа бинарных файлов и является частью пакета GNU Binutils.

Основные функции

  • Декомпиляция ассемблерного кода (Disassembly)
  • Отображение информации о заголовке файла
  • Отображение информации о заголовке секции
  • Проверка таблицы символов
  • Проверка информации о динамической релокации

Основные опции

objdump предоставляет различные опции для анализа определенных частей бинарного файла или управления форматом вывода.

Отображение информации

Формат вывода

Сгенерированная команда:

Комбинируйте команды.

Описание:

`objdump` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Демонстрирует, как использовать objdump для извлечения различной информации из бинарных файлов.

Декомпиляция исполняемого файла

objdump -d /bin/ls

Отображает ассемблерный код исполняемого файла /bin/ls.

Просмотр всей информации о заголовках

objdump -x /bin/ls

Подробно отображает всю информацию о заголовках файла /bin/ls.

Просмотр таблицы символов

objdump -t /bin/ls

Отображает список символов (функций, переменных и т. д.), определенных в файле /bin/ls.

Декомпиляция в синтаксисе Intel

objdump -M intel -d /bin/ls

Отображает ассемблерный код файла /bin/ls в синтаксисе Intel.

Просмотр заголовков секций файла библиотеки

objdump -h /lib/x86_64-linux-gnu/libc.so.6

Отображает информацию о заголовках секций файла общей библиотеки.

Советы и предостережения

objdump — мощный инструмент для анализа бинарных файлов, но его результаты требуют базового понимания ассемблерного языка и структуры бинарных файлов.

Советы по использованию

  • При анализе конкретной функции полезно использовать комбинацию с `grep`, например: `objdump -d <file> | grep -A 20 <function_name>`.
  • Может использоваться для анализа объектных файлов внутри файлов общих библиотек (.so) или статических библиотек (.a).
  • Используется как ключевой инструмент в различных областях, таких как анализ уязвимостей безопасности, анализ вредоносного ПО и отладка системного программирования.

Предостережения

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


Те же команды в категории