Сегмент 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 не предполагает ничего подобного. В двоичных файлах также есть разделы типа примечаний в другом месте и с совершенно допустимым форматом.
Что здесь за история?РЕДАКТИРОВАНИЕ: может быть в конце концов, это не пустое пространство; по крайней мере, в имеющихся у меня двоичных файлах число 0x44 соответствует общему размеру разделов примечаний в них (ABI-тег 0x20 и идентификатор сборки 0x24). И все же, что со смещением и адресом?

Доказательства в другом месте:

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

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