C ++, как запустить файл .exe, содержимое которого хранится в массиве символов? - PullRequest
4 голосов
/ 04 января 2012

Я делаю определенную программу, и мне просто интересно, смогу ли я сделать это: запустите файл, содержимое которого хранится в массиве символов в WINDOWS.

это код, который читает исполняемый файл и сохраняет его в массиве символов:

filetoopen.open (C:\blahlbah.exe, ios::binary);
filetoopen.seekg (0, ios::end);
length = filetoopen.tellg();
filetoopen.seekg (0, ios::beg);
buffer = new char [length];
filetoopen.read (buffer, length);
filetoopen.close();

Я что-то слышал о RunPE и провел поиск, но мне не удалось найти какой-либо фрагмент кода C ++ для использования.

1 Ответ

2 голосов
/ 04 января 2012

Здесь показано, как загрузить EXE-файл и запустить его из памяти: http://www.codeproject.com/KB/cs/LoadExeIntoAssembly.aspx

Дополнительные показания здесь: CreateProcess из буфера памяти и здесь: Как запустить неуправляемыйисполняемый из памяти, а не с диска

...