Итак, мне удалось получить доступ к адресу .plt
в разобранном двоичном файле, скомпилированном с P IE (независимое от процесса выполнение). Я заметил, что раздел .plt всегда был над разделом .text.
Вычитая размер таблицы перемещений, хранящейся в DT_RELSZ
, до точки входа e_entry
, вы можете получить адрес .plt
. Я пока не знаю, совпадение ли это и что этот трюк на самом деле мусор, но он работает.
Я проверил множественные значения elfparser, и кажется, что все они используют имя раздела (sh_name) для идентификации раздела .plt. Нас просят восстановить файл ELF в памяти, и кажется, что заголовки разделов имеют отношение только к ссылкам и не загружены для выполнения, но я не уверен, и вы должны дважды это проверить.