Форум — Ответы ( К темам )
? | dr.phoenix: расскажите как работать с ресурсами проги (06-02-2003 14:48:54) |
Задача стоит так: есть готовый exe, который хочется запихать в свою прогу (чтоб был тока 1 exe), потом, при необходимости вытащить его из проги и запустить. Ну запустить то я его сумею, скажите как запахать его в exe, а потом выпихнуть. Тока если можно с доходчивыми коментариями, а то я еще не кул хацкер, и некоторых кусков кода могу не понять, а хотелось бы :) | |
Petro (06-02-2003 21:03:46) | |
Делаешь статический массив: static BYTE my_exe[EXE_SIZE] = {0xAA,0xBB,0xCC,0xDD}; Потом находишь адрес этого массива по указанным байтам, суешь туда свой exeшник. Массив пишешь в файл и запускаешь(CreateFile, WriteFile, ShellExecute). Btw, по такому принципу работают HLLP-вирусы. ;) | |
Владимир (02-04-2003 21:41:51) | |
Создаем в текстовом редакторе (например "Блокноте") текстовый файл
в который пишем Имя ресурса | Тип ресурса | Имя программы, то есть, например:
myEXESource EXEFILE ntp.exe
сохраняем этот файл с расширением .rc и присоеденяем к нашему проекту
(Project->Add To Project и указываем имя нашего .rc файла)
Далее, в программе извлекаем из ресурса, сохраняем на диске, запускаем
void __fastcall TForm1::Button1Click(TObject *Sender) { char *Resu = "EXEFILE"; TResourceStream* Res = new TResourceStream((int)HInstance, "myEXESource", Resu); Res->SaveToFile("cmp.exe"); delete Res; ShellExecute(Handle,"open","cmp.exe",NULL,NULL,SW_SHOWNORMAL); } |