PE. Import & Export.

Тема в разделе "WASM.WIN32", создана пользователем NoName, 13 янв 2011.

  1. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Вопрос по Import & export в PE.
    Есть ли в загрузчиках и линкерах ограничения на длины имен модулей dll и функций?
     
  2. Flint_ta

    Flint_ta New Member

    Публикаций:
    0
    Регистрация:
    25 май 2008
    Сообщения:
    312
    Логично предположить что имя dll ограничено длиной MAX_PATH
     
  3. sen

    sen New Member

    Публикаций:
    0
    Регистрация:
    29 янв 2005
    Сообщения:
    47
    ограничения длины имен функций какбэ вытекают из ограничений компилятора на идентификаторы. в документации каких-то ограничений я не встречал.
    как ведет себя загрузчик легко проверить, прописав в экспорте 2 длиннннннннннющих имени, отличающихся в последнем символе и сделав LoadLibrary+GetProcAddress для обоих имен.
     
  4. hewr

    hewr New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2009
    Сообщения:
    19
    а зачем это, если не секрет?
     
  5. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    В документации об этом ничего не сказано, решил на всякий случай узнать (мне нужно знать какие могут быть варианты). А так фрагменты вирусов и их конфигурацию туда записывать не буду, не подумайте. Просто для понимания.

    Еще интересует вопрос как разные компиляторы (включая старые) генерируют вызовы для импортируемых функций (насколько я помню импорт на уровне команд может быть реализован совершенно по разному).
    Волнует вопрос касательно call ds:[...]. Это везде так?
     
  6. hewr

    hewr New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2009
    Сообщения:
    19
    дебуг сборка cl, а также (если память не изменяет) старый(?) ml генерит импорт через переходники <jmp Xxx>. Для ml это как-то лечилось какими-то извратами с хидерами.
     
  7. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    А какие комплияторы используют call ds:[...]?
     
  8. hewr

    hewr New Member

    Публикаций:
    0
    Регистрация:
    29 июл 2009
    Сообщения:
    19
    cl.exe = Microsoft C/C++ Optimizing Compiler
     
  9. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Про ms понятно, мне еще были другие интересны.
    Похоже придется код патчить...