Как загрузить DLL (машинный код)?(без записи в файл)

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

  1. IgorOK

    IgorOK New Member

    Публикаций:
    0
    Регистрация:
    1 мар 2005
    Сообщения:
    12
    Адрес:
    Ukraine
    Требуется загрузить DLL, таким образом, что б на диске файла не было...
     
  2. svl

    svl New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2005
    Сообщения:
    46
    Адрес:
    Ukraine
    какого файла ?? ехе или длл ????? поподробнее плз
     
  3. IgorOK

    IgorOK New Member

    Публикаций:
    0
    Регистрация:
    1 мар 2005
    Сообщения:
    12
    Адрес:
    Ukraine
    В памяти (GlobalAlloc) есть машинный код DLL-ки, надо как-то загрузить эту библтотеку для использования в своей программе, но без сохранения ее на диск.
     
  4. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Думаю это осуществляется практически также как загрузка exe.
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    На RSDNе есть статья по загрузке DLL вручную.

    Правда она на Delphi, но это не проблема?
     
  6. svl

    svl New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2005
    Сообщения:
    46
    Адрес:
    Ukraine
    непробовал, но думаю надо юзать CreateRemoteThread, от Рихтера:



    Copy the DLL's pathname to the remote process's address space



    Здесь где-то в форуме было как длл прикрутить...

    если получится, пришли на мыло



    mailto:dj.svol@gmail.com
     
  7. Dr.Golova

    Dr.Golova New Member

    Публикаций:
    0
    Регистрация:
    7 сен 2002
    Сообщения:
    348
    Загрузить то не проблема, проблема зарегистрировать ее в списке модулей процесса, а без этого ни GetProcAddress ни LoadResource, ни вто трэды, ни ... для нее не работает. Получается так, просто кусок кода в памяти, работают только простейшие функции :dntknw:
     
  8. bober

    bober New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2005
    Сообщения:
    153
    Можно сделать так

    - оформить код как СОМ объект

    - запсунуть его в память любым способом

    - зарегистрировать с помощью CoRegisterClassObject



    Получите

    - зная CLSID можно получить доступ ко всем функйиям

    - нет разницы что это за код .exe или .dll