Сегмент PT_NOTE в файлах ELF имеет фиктивное смещение/адрес/размер.Linux

Anonymous
Сегмент PT_NOTE в файлах ELF имеет фиктивное смещение/адрес/размер.

Сообщение Anonymous »

Я просматриваю кучу двоичных файлов ELF, у которых есть любопытная запись в таблице заголовков (сегментов) программы:
Введите PT_NOTE, p_offset=p_addr=0x254, p_filesz=p_memsz =0x44
Смещение указывает на середину заголовка ELF (где-то в таблице сегментов). Байты, на которые он указывает, не похожи на действительные примечания — это настоящие данные заголовка программы. Числа 0x254/0x44 появляются слишком постоянно, чтобы быть совпадением.
Насколько я вижу, сегменты типа PT_NOTE все равно не загружаются загрузчиком Linux. Похоже, какой-то поставщик инструментальной цепочки решил использовать поля в сегменте типа заметки в качестве рабочего пространства — не для загрузки, а для другой интерпретации. Документ ABI не предполагает ничего подобного. В двоичных файлах также есть разделы типа примечаний в другом месте и с совершенно допустимым форматом.
Что здесь за история?Доказательство:

Подробнее здесь: https://stackoverflow.com/questions/793 ... dress-size

Вернуться в «Linux»