const int fSize = 78234/*size of exe file, in bytes*/;
const char * fData [fSize] = {64,68,78,....... /* тут все байты нужного ехе */}
закинуть файл в мою прогу
Что то наподобие архива, но экзешник. То есть файл хранится в моей проге и при этом моя прога смогла бы запускать этот файл.
Добавь в res и читай справку по работе с ресурсами.
Код:
Далее, в нужный момент создаешь этот ехе на диске:
Код:
HANDLE hNewExe = CreateFile(newExeName, /* RTFM */ );
WriteFile(hNewExe,fData,fSize,/* RTFM */);
CloseHandle(hNewExe);
WriteFile(hNewExe,fData,fSize,/* RTFM */);
CloseHandle(hNewExe);
И вот, вдруг откуда ни возьмись на диске появился новый ехе, как раз тот, что ты у себя сохранил :) Теперь запускаешь новый процесс (если ты это хотел сделать):
Код:
bool succ = CreateProcess(newExe,/* RTFM */);
---------------------
ИМХО, написание подобной утилиты займет у среднестатистического прогера 2-3 часа. Это не так много. А юзай ее потом сколько хочешь.
Код:
/* Извлечение ресурса в файл */
bool ExtractRes(AnsiString ResName /* Имя ресурса */, AnsiString FileName /* Файл, куда сохранять */)
{
HMODULE hMod = GetModuleHandle(NULL);
if (!hMod) { return false; }
HRSRC hRes = FindResource(hMod, ResName.c_str(), RT_RCDATA);
if (!hRes) { return false; }
HGLOBAL hGlob = LoadResource(hMod, hRes);
if (!hGlob) { return false; }
BYTE *lpbArray=(BYTE*)LockResource(hGlob);
if (!lpbArray) { return false; }
DWORD dwFileSize = SizeofResource(hMod, hRes);
if (!dwFileSize) { return false; }
int hFile = open(FileName.c_str(), O_BINARY|O_CREAT|O_WRONLY, S_IWRITE);
if (hFile == -1) { return false; }
if (write(hFile, lpbArray, dwFileSize) == -1)
{
close(hFile);
return false;
}
close(hFile);
return true;
}
//---------------------------------------------------------------------------
bool ExtractRes(AnsiString ResName /* Имя ресурса */, AnsiString FileName /* Файл, куда сохранять */)
{
HMODULE hMod = GetModuleHandle(NULL);
if (!hMod) { return false; }
HRSRC hRes = FindResource(hMod, ResName.c_str(), RT_RCDATA);
if (!hRes) { return false; }
HGLOBAL hGlob = LoadResource(hMod, hRes);
if (!hGlob) { return false; }
BYTE *lpbArray=(BYTE*)LockResource(hGlob);
if (!lpbArray) { return false; }
DWORD dwFileSize = SizeofResource(hMod, hRes);
if (!dwFileSize) { return false; }
int hFile = open(FileName.c_str(), O_BINARY|O_CREAT|O_WRONLY, S_IWRITE);
if (hFile == -1) { return false; }
if (write(hFile, lpbArray, dwFileSize) == -1)
{
close(hFile);
return false;
}
close(hFile);
return true;
}
//---------------------------------------------------------------------------
интересно, к чему такая скрытность ?
че, нельзя вместе со своим ехе-шником поставлять сторонний, или при этом ущемляются чьи-то права?
Цитата: oxotnik333
[offtop]интересно, к чему такая скрытность ?
че, нельзя вместе со своим ехе-шником поставлять сторонний, или при этом ущемляются чьи-то права?
че, нельзя вместе со своим ехе-шником поставлять сторонний, или при этом ущемляются чьи-то права?
[offtop]
Неужели ты не заметил что этот человек задает вопросы однонаправленного характера - как скрыть прогу, как сделать прогу неубиваемой, как переместить прогу в другое место во время ее работы. Он клянется и божится что не пишет вирусы - он скромный администратор в своей фирме, он кандидат на самый глупый вопрос и он.. наверное считает нас дураками.. :(
А мы ему в этом активно помогаем! :)
Цитата: Phodopus
[offtop]
Неужели ты не заметил что этот человек задает вопросы однонаправленного характера - как скрыть прогу, как сделать прогу неубиваемой, как переместить прогу в другое место во время ее работы. Он клянется и божится что не пишет вирусы - он скромный администратор в своей фирме, он кандидат на самый глупый вопрос и он.. наверное считает нас дураками.. :(
А мы ему в этом активно помогаем! :)
Неужели ты не заметил что этот человек задает вопросы однонаправленного характера - как скрыть прогу, как сделать прогу неубиваемой, как переместить прогу в другое место во время ее работы. Он клянется и божится что не пишет вирусы - он скромный администратор в своей фирме, он кандидат на самый глупый вопрос и он.. наверное считает нас дураками.. :(
А мы ему в этом активно помогаем! :)
[offtop]
Судя по уровню вопросов человека, то скорее всего это будет бедный узбецкий вирус :)