команда readelf в Linux с примерами

Опубликовано: 16 Февраля, 2022

Когда мы компилируем исходный код, программа генерирует объектный файл, и с помощью компоновщика эти объектные файлы преобразуются в двоичный файл, который может понять только машина. Этот тип файлов следует за некоторыми структурами, одной из которых является ELF (исполняемый и связываемый формат). И для получения информации об этих файлах ELF используется команда readelf.

Работа с командой readelf и файлами ELF

1. Вывести справку по команде readelf.

$ readelf

Это отображает раздел справки команды, содержащий все ее параметры и способы их использования.

2. Проверить, является ли файл файлом ELF.

$file elf_file

Если на выходе он печатает ELF, то это файл ELF.

Примечание: в нашем случае имя файла - elf_file.

3. Сгенерировать файл elf с помощью компилятора gcc.

$ gcc имя_файла.c -o elf_file

Приведенная выше команда сгенерирует исполняемый файл elffile.

Примечание. В нашем случае имя файла - filename.c, а имя файла elf - elf_file.

4. Отображать заголовки файлов эльфийского файла.

$readelf -h elf_file

Это отобразит заголовки верхнего уровня файла elf.

Примечание: в нашем случае имя файла elf - elf_file.

5. Для отображения информации о различных разделах адресного пространства процесса.

$ readelf -S elf_file

Это отобразит различные разделы адресного пространства процесса.

Примечание: в нашем случае имя файла elf - elf_file.

6. Вывести на экран таблицу символов.

$ readelf -s elf_file

Это отобразит таблицу символов файла.

Примечание: в нашем случае имя файла elf - elf_file.

7. Для отображения основных заметок.

$ readelf -n elf_files

Это отобразит основные примечания, относящиеся к файлу.

Примечание: в нашем случае имя файла elf - elf_file.

8. Показать раздел перемещения.

$ readelf -r elf_file

Это отобразит повторные блокировки (если они есть).

Примечание: в нашем случае имя файла elf - elf_file.

9. Чтобы отобразить динамический раздел.

$ readelf -d elf_file

Это отобразит динамический раздел файла.

Примечание: в нашем случае имя файла elf - elf_file.

10. Получить версию команды readelf.

$ readelf -v

Это отобразит информацию о версии команды readelf.