Введите PT_NOTE, p_offset=p_addr=0x254, p_filesz=p_memsz =0x44
Смещение указывает на середину заголовка ELF (где-то в таблице сегментов). Байты, на которые он указывает, не похожи на действительные примечания — это настоящие данные заголовка программы. Числа 0x254/0x44 появляются слишком постоянно, чтобы быть совпадением.
Насколько я вижу, сегменты типа PT_NOTE все равно игнорируются загрузчиком Linux. Похоже, какой-то поставщик инструментальной цепочки решил использовать поля в сегменте типа заметки в качестве рабочего пространства - не для загрузки и/или сопоставления, а для другой интерпретации. Документ ABI не предполагает ничего подобного. В двоичных файлах также есть разделы типа примечаний в другом месте и с совершенно допустимым форматом.
Что здесь за история?РЕДАКТИРОВАНИЕ: может быть в конце концов, это не пустое пространство; по крайней мере, в имеющихся у меня двоичных файлах число 0x44 соответствует общему размеру разделов примечаний в них (ABI-тег 0x20 и идентификатор сборки 0x24). И все же, что со смещением и адресом?
Доказательства в другом месте:
- Смещение сегментов программы ELF в файле
- https://velog.io/@silvergun8291/GEF-%EC ... 9%EB%B2%95
https://gist.github.com/rallias/4abdb811ed8cced0623c - https://www.filescan.io/uploads/670caa9 ... ff/details
- https://lists.volatilityfoundation.org/ ... GUKCEQBUH/
Подробнее здесь: https://stackoverflow.com/questions/793 ... et-address
Мобильная версия