Конференция "WinAPI" » запуск DLL из памяти [D7, WinXP]
 
  • Leon.iD © (18.04.08 10:38) [0]
    Что нужно:
    Имеется комп с ОС Windows XP. Необходимо написать программу, в которой в процессе работы будут происходить обращения к динамической библиотеке, но эта DLL должна запускать из памяти, а не с винта. Т.е. на винте эта библиотека не должна появляться ни при каких условиях, чтобы в случае нештатной перезагрузки системы DLL самоликвидировалась. В память компа библиотека записывается с внешнего носителя.

    Вопрос:
    как осуществить запуск динамической библиотеки, находящейся в памяти компа в виде массива данных? есть ли какие-либо нестандартные или недокументированные приемы позволяющие сделать подобное?
  • Сергей М. © (18.04.08 11:05) [1]

    > есть ли какие-либо нестандартные или недокументированные
    > приемы позволяющие сделать подобное?
    >


    http://www.rsdn.ru/article/baseserv/peloader.xml
  • Leonid Troyanovsky © (18.04.08 16:08) [2]

    > Leon.iD ©   (18.04.08 10:38)  

    > перезагрузки системы DLL самоликвидировалась. В память компа
    > библиотека записывается с внешнего носителя.

    Зачем записывать? Загрузить ее с внешнего носителя, после чего
    носитель можно уносить (до следующей загрузки).

    --
    Regards, LVT.
  • palva © (19.04.08 20:49) [3]
    Установите на машине RAM диск. Туда и записывайте dll. Посмотрите, например, здесь.
    http://www.picobay.com/projects/2006/06/how-to-make-windows-xp-ram-disk-drive.html
  • Leon.iD © (21.04.08 16:11) [4]

    > Зачем записывать? Загрузить ее с внешнего носителя, после
    > чего
    > носитель можно уносить (до следующей загрузки).


    носитель не стандартный. DLL оттуда читается в виде массива зашифрованных данных.


    > Установите на машине RAM диск. Туда и записывайте dll.

    вариант наиболее простой из предложенных, но мне было поставлено условие избежать (по-возможности) использование RAM диска.

    видимо придется использовать вариант предложенный Сергем М..

    тем не менее большое спасибо все откликнувшимся!
  • Leonid Troyanovsky © (21.04.08 18:31) [5]

    > Leon.iD ©   (21.04.08 16:11) [4]

    > носитель не стандартный. DLL оттуда читается в виде массива
    > зашифрованных данных.

    Куда-куда?
    Тогда это, пардон, совсем не длл.

    --
    Regards, LVT.
 
Конференция "WinAPI" » запуск DLL из памяти [D7, WinXP]
Есть новые Нет новых   [134433   +21][b:0][p:0]