exe+dll

Тема в разделе "WASM.WIN32", создана пользователем Polimorph, 4 окт 2005.

  1. Polimorph

    Polimorph New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    51
    Адрес:
    Russian
    Интересует можно ли написать exe файл и одновременно что бы можно было этот exe использовать как DLL

    и как это реализовать советы доки ссылки
     
  2. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    можно , но гемора много будет

    да и зачем ?

    про com servers слышал ?
     
  3. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    А какие проблемы — экспортируешь что нужно и добавляешь таблицу релоков.
     
  4. bober

    bober New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2005
    Сообщения:
    153
    А я вот такой фигней пользуюсь и ничего.



    ;============================

    LibMain proc hInstDLL:lol: WORD, reason:lol: WORD, unused:lol: WORD



    LOCAL TypeFlag : dword



    mov TypeFlag, -1

    mov edi, hInstDLL

    invoke IsBadReadPtr, edi, 400h

    .if eax == 0

    .if word ptr [edi] == 'ZM'

    add edi, [edi+03Ch]

    .if dword ptr [edi] == 004550h

    movzx ecx, (IMAGE_NT_HEADERS ptr [edi]).FileHeader.Characteristics

    .if ecx & 2000h

    mov TypeFlag, 0

    .endif

    .endif

    .endif

    .endif

    .if TypeFlag == 0

    .if reason == DLL_PROCESS_ATTACH

    mov eax, 1

    ret

    .elseif reason == DLL_PROCESS_DETACH

    .elseif reason == DLL_THREAD_ATTACH

    .elseif reason == DLL_THREAD_DETACH

    .endif

    .else

    invoke GetCommandLine

    invoke ExitProcess, 0

    .endif

    ret

    LibMain Endp
     
  5. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    IceStudent

    проблема с тем что точка входа исполняться будет

    при загрузке как dll
     
  6. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    staier

    А, верно.
     
  7. Polimorph

    Polimorph New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    51
    Адрес:
    Russian
    про com servers не объясни в двух словах если не сложно
     
  8. irrona

    irrona Member

    Публикаций:
    0
    Регистрация:
    26 май 2004
    Сообщения:
    178
    Адрес:
    Тирасполь
    Polimorph

    Это т.н. outproc-сервера. Говоря человеческим языком, это COM(даже DCOM) dll с расширением exe, регестрируемая в реестре и работающая в собственном адресном пространстве. Пишется также как любой COM-объект. Проще всего писать такие вещи на языках высокого уровня. На асме придется долго париться.