Функции, которые используются для загрузки модулей (LoadLibrary, LoadLibraryEx) не поддерживают загрузку модулей из памяти. Данный модуль реализует данную функцию.
Основа была взята с репозитария: https://github.com/fancycode/MemoryModule
Вносятся правки которые позволяют полноценно запускать EXE из памяти.
История:
15.02.16 - Реализована возможность указания командной строки перед запуском EntryPoint. Поток, исполняющийся внутри MemoryModule маркируется изменением значения ProcessParameters в _PEB. Производится перехват (методом импорта) некоторых важных функций для изоляции от основного процесса. !Модуль не учитывается в списке модулей процесса! 16.02.16 - Некоторые фиксы в TLS.
Проблемы:
- При отсутствии таблицы .reloc и невозможности выделить нужную память по ImageBase запуск модуля становится невозможным.