Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

закинуть файл в мою прогу

290
28 августа 2008 года
Patr1ot
458 / / 09.02.2008
Привет всем! Подскажите как закинуть в свой проект прогу.

Что то наподобие архива, но экзешник. То есть файл хранится в моей проге и при этом моя прога смогла бы запускать этот файл.
8.8K
28 августа 2008 года
Se AD WMD
165 / / 10.01.2007
Добавь в res и читай справку по работе с ресурсами.
602
28 августа 2008 года
KPI Student
265 / / 16.12.2006
Или пиши свою утилиту типа ассемблерской filetodb, которая считает ехе с диска посимвольно, и выдаст тебе длиннющий текст вида:
 
Код:
const int fSize = 78234/*size of exe file, in bytes*/;
const char * fData [fSize] = {64,68,78,....... /* тут все байты нужного ехе */}

Далее, в нужный момент создаешь этот ехе на диске:
 
Код:
HANDLE hNewExe = CreateFile(newExeName, /* RTFM */ );
WriteFile(hNewExe,fData,fSize,/* RTFM */);
CloseHandle(hNewExe);

И вот, вдруг откуда ни возьмись на диске появился новый ехе, как раз тот, что ты у себя сохранил :) Теперь запускаешь новый процесс (если ты это хотел сделать):
 
Код:
bool succ = CreateProcess(newExe,/* RTFM */);


---------------------
ИМХО, написание подобной утилиты займет у среднестатистического прогера 2-3 часа. Это не так много. А юзай ее потом сколько хочешь.
490
28 августа 2008 года
frid-karatel
357 / / 15.09.2007
В дополнение к ответу Se AD WMD:

Код:
/* Извлечение ресурса в файл */
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;
}
//---------------------------------------------------------------------------
11
28 августа 2008 года
oxotnik333
2.9K / / 03.08.2007
[offtop]

интересно, к чему такая скрытность ?
че, нельзя вместе со своим ехе-шником поставлять сторонний, или при этом ущемляются чьи-то права?
14
28 августа 2008 года
Phodopus
3.3K / / 19.06.2008
Цитата: oxotnik333
[offtop]интересно, к чему такая скрытность ?
че, нельзя вместе со своим ехе-шником поставлять сторонний, или при этом ущемляются чьи-то права?



[offtop]
Неужели ты не заметил что этот человек задает вопросы однонаправленного характера - как скрыть прогу, как сделать прогу неубиваемой, как переместить прогу в другое место во время ее работы. Он клянется и божится что не пишет вирусы - он скромный администратор в своей фирме, он кандидат на самый глупый вопрос и он.. наверное считает нас дураками.. :(
А мы ему в этом активно помогаем! :)

255
28 августа 2008 года
Dart Bobr
1.4K / / 09.04.2004
Цитата: Phodopus
[offtop]
Неужели ты не заметил что этот человек задает вопросы однонаправленного характера - как скрыть прогу, как сделать прогу неубиваемой, как переместить прогу в другое место во время ее работы. Он клянется и божится что не пишет вирусы - он скромный администратор в своей фирме, он кандидат на самый глупый вопрос и он.. наверное считает нас дураками.. :(
А мы ему в этом активно помогаем! :)



[offtop]
Судя по уровню вопросов человека, то скорее всего это будет бедный узбецкий вирус :)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог