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

Ваш аккаунт

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

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

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

exe в ресурсах и склеивание файлов

4.1K
13 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
Вот несколько вопросов
1) Как добавить в свою прогу exeшник в виде ресурсов, и запустить его когда надо? Можно ли потом этот ехешник "выдрать" из себя, чтобы создать его в виде файла?
2) Можно ли склеить 2 dll?
3) Вытекает из 1-го: есть файл - Global.exe, полученный путем склеивания 2 файлов - game.exe и my.exe. Как файлу my.exe и можно ли вытащить себя из файла Global.exe?
Люди! Желательно все это с примерами!!!
11K
13 декабря 2006 года
_io_lock
73 / / 05.10.2006
1) Проще выковырять ресурсы вручную и прилинковать к своему ехе. Если уж неймецца, опять таки проще использовать на ехе с ресурсами LoadLibrary.
2) Сложно, но возможно. HIEW тебе в руки :D
3) См 1ый пункт - ничего склеивать не стоит, лучше использовать LoadLibrary и затем LoadResource/LoadIcon/GetProcAddress - смотря что нужно. RTFM MSDN, и будет тебе щастье ;)
1.8K
13 декабря 2006 года
_const_
229 / / 26.11.2003
Цитата: GRIENDERS
Вот несколько вопросов
...
Люди! Желательно все это с примерами!!!


Вирус пишем?

4.1K
13 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
Цитата: _io_lock
1) Проще выковырять ресурсы вручную и прилинковать к своему ехе. Если уж неймецца, опять таки проще использовать на ехе с ресурсами LoadLibrary.
3) См 1ый пункт - ничего склеивать не стоит, лучше использовать LoadLibrary и затем LoadResource/LoadIcon/GetProcAddress - смотря что нужно. RTFM MSDN, и будет тебе щастье ;)



Че то не могу догнать. Набросай простенький примерчик, если не сложно.
P S Мне нужно включить в свою прогу ДВОИЧНЫЙ код другого ехе файла в виде ресурсов и запустить его.

4.1K
14 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
Ну неужели никто не знает??????????????????
63
14 декабря 2006 года
Zorkus
2.6K / / 04.11.2006
Ты опиши подробнее задачу, и цель - возможно, существует намного более простое решение. А так:
Если ты хочешь запускать exe - шник из другого приложения - так запускай его созданием процесса.
Если хочешь использовать уже скомпиленные ресурсы в бинарниках - используй dll.
Просмотреть экспортируемые бинарным файлом ресурсы можно утилитой типа Dependency Walker.
354
14 декабря 2006 года
ШпиЁн
468 / / 19.02.2006
Надеюсь, этот пост поможет многим ;о)

Итак.
Создали ресурс, с произвольным содержимым. Нижеследующий код "распаковывает" этот ресурс в отдельный файл.
Код:
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?
Создаем архив sfx, например, с картинкой. Подшиваем его к проекту как ресурс. Вставляем код, нарисованный сверху. После распаковки ресурса, передаем ему управление через WinExec. Далее ;о) можно вставить свой код...

Кликаем по такой exe'шке. Вау, открывается окно WinRar... а наша прожка втихую продолжает работу ;о)))
Самое интересное ;о) у меня старый WinRar 3.24 ... так вот!!! наша чудо экзешка этим винраром(возможно и последующими) опознается как ОБЫЧНЫЙ SFX-АРХИВ! наш код в упор не хотят видеть ;о) Кликните правой кнопкой на нашем чудном exe - в меню появятся пункты "Извлечь файлы..." Открыть в WinRar..." Выбираем "открыть в WinRAR".. в нем видна только наша картинка ;о)))))
398
14 декабря 2006 года
Alexandoros
630 / / 21.10.2005
ШпиЁн, ну, сцуко, аццкий вирмакер.

>> P S Мне нужно включить в свою прогу ДВОИЧНЫЙ код другого ехе файла в виде ресурсов и запустить его.

А них у тя не выйдет. ;)
398
14 декабря 2006 года
Alexandoros
630 / / 21.10.2005
_____
3
14 декабря 2006 года
Green
4.8K / / 20.01.2000
Цитата: Alexandoros
ШпиЁн, ну, сцуко, аццкий вирмакер.

>> P S Мне нужно включить в свою прогу ДВОИЧНЫЙ код другого ехе файла в виде ресурсов и запустить его.

А них у тя не выйдет. ;)



Да выйдет, были бы голова да руки.

4.1K
14 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
Шпион, спасибо за код, очень помогло.
А этот sfx так и останется в моей проге в виде ресурса, нельзя ли его совсем выдрать из себя?
Цитата: ШпиЁн

Создаем архив sfx, например, с картинкой. Подшиваем его к проекту как ресурс.


Как подшить этот ехешник как ресурс ( т е его 2-ый код)?

354
14 декабря 2006 года
ШпиЁн
468 / / 19.02.2006
Этот ресурс может распаковываться сколько угодно раз, но "выдрать" его из проги насовсем скорее всего невозможно. Вероятно есть какой-то хитрый способ модификации секции .rsrc PE файла, но я с этим близко не знаком :о)))

Подшить ЛЮБОЙ ресурс можно: выбрав кнопку Custom, и далее вписываешь к примеру, слово NEW. Далее просто в WinHeX открой то что собрался копировать, скопируй в буфер обмена, потом вставь в окно где твой свежеиспеченный ресурс. :)
4.1K
14 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
Кнопку CUSTOM в какой программе?
4.1K
14 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
Сорри, уже нашел. Спасибо за инфу.

Шпиен, ну не варит у меня голова - как надо скопировать из WinHex - там есть несколько вариантов (Hex values, normaly и т д)
Заранее спасибо
354
15 декабря 2006 года
ШпиЁн
468 / / 19.02.2006
Тогда сделай так, максимально просто.
создай ресурс, в папку с проектом сбрось свой exe.
Далее щелкни по ресурсу, в его свойствах в поле Filename введи имя своего файла. IDE спросит, нечто типа "хотите ли вы загрузить (имя файла) Если выберите нет, содержимое файла будет перезаписано, и т.д." Жмешь Yes. :о)))
398
15 декабря 2006 года
Alexandoros
630 / / 21.10.2005
Цитата: Green
Да выйдет, были бы голова да руки.


Мне чето паказалось(?) что GRIENDERS хочет кусок чужого файла вытянуть. Сонный наверное был.

Цитата:

А этот sfx так и останется в моей проге в виде ресурса, нельзя ли его совсем выдрать из себя?



А ты подшивай не как ресурс, а как дополнительную секцию, правиш заголовок и все в шеколаде. Иди на васм.ру. Для вирей - стандартная метода.

4.1K
15 декабря 2006 года
GRIENDERS
117 / / 06.06.2006
Как говорил Морфиус :" Я могу лишь указать тебе дверь, но ты сам должен в нее войти".
Тут большое поле для деятельности, буду разбираться.
Всем спасибо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог