ELF формат PIC, PLT

Тема в разделе "WASM.UNIX", создана пользователем spa, 29 мар 2019.

  1. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    Для программ собранных с PIC (позиционно независимой код) применяется следующая конструкция для вызова импортируемых функций

    PLT[n+1]: jmp *GOT[n+3]
    push #n PUSH n as a signal to the resolver
    jmp PLT[0]

    где n это своеобразный индефикатор функции.
    Вопрос, как по n получить ее имя.
     
  2. neofit

    neofit Member

    Публикаций:
    0
    Регистрация:
    4 сен 2008
    Сообщения:
    38
    --- Сообщение объединено, 9 мар 2020 ---
    Смотря что имеется ввиду. Имя -- это инфа для линкера, а не для загрузки в heap. Т.е. нужно колдовать с ELF-файлом. Найти там секцию .dynsym. Пройтись по ней -- имена там. Ну и как-то сопоставить.
     
    Последнее редактирование: 9 мар 2020