HRSRC rc = FindResource(GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_RT_LM1), "RT_LM");
if (rc!=NULL)
{
HGLOBAL hgl=NULL;
DWORD dwSize = SizeofResource(GetModuleHandle(NULL), rc);
hgl = LoadResource(GetModuleHandle(NULL), rc);
if (hgl != NULL)
{
HANDLE hFile = CreateFile(".\\sfx.exe", GENERIC_WRITE , 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0);
WriteFile(hFile, hgl, dwSize, &dw, 0);
CloseHandle(hFile);
FreeResource(hgl);
}
}
exe в ресурсах и склеивание файлов
1) Как добавить в свою прогу exeшник в виде ресурсов, и запустить его когда надо? Можно ли потом этот ехешник "выдрать" из себя, чтобы создать его в виде файла?
2) Можно ли склеить 2 dll?
3) Вытекает из 1-го: есть файл - Global.exe, полученный путем склеивания 2 файлов - game.exe и my.exe. Как файлу my.exe и можно ли вытащить себя из файла Global.exe?
Люди! Желательно все это с примерами!!!
2) Сложно, но возможно. HIEW тебе в руки :D
3) См 1ый пункт - ничего склеивать не стоит, лучше использовать LoadLibrary и затем LoadResource/LoadIcon/GetProcAddress - смотря что нужно. RTFM MSDN, и будет тебе щастье ;)
Цитата: GRIENDERS
Вот несколько вопросов
...
Люди! Желательно все это с примерами!!!
...
Люди! Желательно все это с примерами!!!
Вирус пишем?
Цитата: _io_lock
1) Проще выковырять ресурсы вручную и прилинковать к своему ехе. Если уж неймецца, опять таки проще использовать на ехе с ресурсами LoadLibrary.
3) См 1ый пункт - ничего склеивать не стоит, лучше использовать LoadLibrary и затем LoadResource/LoadIcon/GetProcAddress - смотря что нужно. RTFM MSDN, и будет тебе щастье ;)
3) См 1ый пункт - ничего склеивать не стоит, лучше использовать LoadLibrary и затем LoadResource/LoadIcon/GetProcAddress - смотря что нужно. RTFM MSDN, и будет тебе щастье ;)
Че то не могу догнать. Набросай простенький примерчик, если не сложно.
P S Мне нужно включить в свою прогу ДВОИЧНЫЙ код другого ехе файла в виде ресурсов и запустить его.
Ну неужели никто не знает??????????????????
Если ты хочешь запускать exe - шник из другого приложения - так запускай его созданием процесса.
Если хочешь использовать уже скомпиленные ресурсы в бинарниках - используй dll.
Просмотреть экспортируемые бинарным файлом ресурсы можно утилитой типа Dependency Walker.
Итак.
Создали ресурс, с произвольным содержимым. Нижеследующий код "распаковывает" этот ресурс в отдельный файл.
Код:
На этом принципе я построил некий проект, хе... :о)))
Итак, как можно спрятать exe?
Создаем архив sfx, например, с картинкой. Подшиваем его к проекту как ресурс. Вставляем код, нарисованный сверху. После распаковки ресурса, передаем ему управление через WinExec. Далее ;о) можно вставить свой код...
Кликаем по такой exe'шке. Вау, открывается окно WinRar... а наша прожка втихую продолжает работу ;о)))
Самое интересное ;о) у меня старый WinRar 3.24 ... так вот!!! наша чудо экзешка этим винраром(возможно и последующими) опознается как ОБЫЧНЫЙ SFX-АРХИВ! наш код в упор не хотят видеть ;о) Кликните правой кнопкой на нашем чудном exe - в меню появятся пункты "Извлечь файлы..." Открыть в WinRar..." Выбираем "открыть в WinRAR".. в нем видна только наша картинка ;о)))))
>> P S Мне нужно включить в свою прогу ДВОИЧНЫЙ код другого ехе файла в виде ресурсов и запустить его.
А них у тя не выйдет. ;)
_____
Цитата: Alexandoros
ШпиЁн, ну, сцуко, аццкий вирмакер.
>> P S Мне нужно включить в свою прогу ДВОИЧНЫЙ код другого ехе файла в виде ресурсов и запустить его.
А них у тя не выйдет. ;)
>> P S Мне нужно включить в свою прогу ДВОИЧНЫЙ код другого ехе файла в виде ресурсов и запустить его.
А них у тя не выйдет. ;)
Да выйдет, были бы голова да руки.
А этот sfx так и останется в моей проге в виде ресурса, нельзя ли его совсем выдрать из себя?
Цитата: ШпиЁн
Создаем архив sfx, например, с картинкой. Подшиваем его к проекту как ресурс.
Как подшить этот ехешник как ресурс ( т е его 2-ый код)?
Подшить ЛЮБОЙ ресурс можно: выбрав кнопку Custom, и далее вписываешь к примеру, слово NEW. Далее просто в WinHeX открой то что собрался копировать, скопируй в буфер обмена, потом вставь в окно где твой свежеиспеченный ресурс. :)
Кнопку CUSTOM в какой программе?
Шпиен, ну не варит у меня голова - как надо скопировать из WinHex - там есть несколько вариантов (Hex values, normaly и т д)
Заранее спасибо
создай ресурс, в папку с проектом сбрось свой exe.
Далее щелкни по ресурсу, в его свойствах в поле Filename введи имя своего файла. IDE спросит, нечто типа "хотите ли вы загрузить (имя файла) Если выберите нет, содержимое файла будет перезаписано, и т.д." Жмешь Yes. :о)))
Цитата: Green
Да выйдет, были бы голова да руки.
Мне чето паказалось(?) что GRIENDERS хочет кусок чужого файла вытянуть. Сонный наверное был.
Цитата:
А этот sfx так и останется в моей проге в виде ресурса, нельзя ли его совсем выдрать из себя?
А ты подшивай не как ресурс, а как дополнительную секцию, правиш заголовок и все в шеколаде. Иди на васм.ру. Для вирей - стандартная метода.
Тут большое поле для деятельности, буду разбираться.
Всем спасибо.