Библиотека импорта

Тема в разделе "WASM.ZEN", создана пользователем Asvald, 25 дек 2007.

  1. Asvald

    Asvald New Member

    Публикаций:
    0
    Регистрация:
    18 сен 2006
    Сообщения:
    58
    Вопрос в следующем: каков механизм/алгоритм создания импорта в PE файле с помощью линкера и библиотек импорта. В фасме структуры импорта я создаю вручную/макросами. В масме за меня все делает линкер, и вот интересно как он это делает.
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Asvald
    Ну названия функций и библиотеки-то у него есть, почему-бы и не сделать импорт. А FASM видимо не заморачивается на поиске функций в либах. В принципе в нём из-за этого линковка должна идти пошустрее.
     
  3. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Asvald
    Библиотеки импорта pe-coff состоят из обьектников практически ничем не отличающихся от обычных обьектников, за исключением одного слабодокументированного свойства. На каждый импортируемый символ приходится один обьектник + ещё несколько обьектников для создания директории импорта, директории конкретной DLL и заглушки для завершения всех этих директорий нулями. Линкер просто достаёт соответствующие обьектники из библиотеки импорта и помещает их в экзешник точно также как он поступает с любым обычным обьектником. Никакого специального алгоритма у него нет. Это справедливо для библиотек импорта pe-coff. У библиотек omf действительно существует специальный формат и алгоритм компоновки.
     
  4. drmist

    drmist New Member

    Публикаций:
    0
    Регистрация:
    31 май 2005
    Сообщения:
    112
    Asvald
    Алгоритм зависит от конкретного линковщика и человека, написавшего его.
    Метод очевидно следующий - для каждой подгружаемой библиотеки построить список импортируемых функций и из данных списков создать импорт. Формат таблицы импорта и откуда загрузчик узнает ее RVA есть в любом описании PE-формата.
     
  5. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907