Чтение контента заголовка программы файла ELF

Массив мог сделать строковый парсинг без потребности во временном файле. Не забывайте выключать globbing.

set -f
IFS=: Hosts=($HostFull)
HostMain=${Hosts[0]}
HostMid=${Hosts[1]}
HostSub=${Hosts[2]}
set +f
3
23.05.2017, 15:39
1 ответ

Цитата man elf (но вы можете найти ту же информацию из спецификации ELF):

p_offset: Этот член содержит смещение от начала файла, в котором находится первый байт сегмента.

p_filesz: этот член содержит количество байтов в файловом изображении сегмента. Может быть ноль.

p_memsz: этот член содержит количество байтов в образе памяти сегмента. Может быть ноль.

Подведем итог:

  • p_offset - это смещение сегмента в файле ELF;

  • p_memsz - размер сегмента в памяти ;

  • p_filesz - размер сегмента в файле .

Размер файла может быть меньше, чем размер в памяти p_memsz : в этом случае оставшаяся часть сегмента заполняется нулями (в POSIX-подобных системах эта часть равна mmap с использованием MAP_ANONYMOUS ).

Ссылки из GNU ld.so :

Возможно, вас заинтересует код elfcat (инструмент, который я написал), который выгружает данный сегмент в стандартный вывод.

3
27.01.2020, 21:23

Теги

Похожие вопросы