![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запуск одного ехе из другого [D6, XP]
Pasha L © (2005-09-27 22:11:00)Здравствуйте. У меня вопрос: можно ли с помощью Дельфи зашить A.exe в B.exe, чтобы потом при запуске B.exe запустить A.exe, не извлекая его для этой цели наружу?
Джо (2005-09-28 19:22:00) [1]Дополнение к [6].
В чем СМЫСЛ подобных манипуляция?
Если "екзешник" - твой, то зачем геморрой, если уже все давно придумано и выложено на тарелочку с голубой каемочкой - DLL.
Если "екзешник" - чужой, то это, вероятно, нарушение авторских прав - и в любом случае блажь...
umbra (2005-09-28 19:21:00) [2]
> Но мне надо, чтоб A.exe не извлекался, а запускался напрямую
> из B.exe.
Так не получится, если не написать свой загрузчик, как справедливо отметил > Джо © . Дешевле, наверное, извлечь, віполнить и удалить. А еще дешевле сделать ОДИН экзешник
Джо (2005-09-28 19:18:00) [3]
> [5] Pasha L © (28.09.05 19:12)
Ты готов писать собственный загрузчик? Думаю, что нет.
Pasha L (2005-09-28 19:12:00) [4]S@ska (27.09.05 22:58) [2]
Я посмотрел ссылку. Но там есть ещё одна ссылка, которая возможно могла бы мне помочь. Но дело в том, что она дохлая. Всё остальное - про зашивание ехе в ехе я знаю. И как извлечь его потом - тоже знаю. Делаю это так:
Создаю r.rc, где пишуkey0 EXEFILE A.exe. Потом даю команду brcc32.exe r.rc. Получаю r.res. В B.dpr пишу{$R r.res}. Для дальнейшего извлечегия A.exe пишу
program myprog;
uses
classes, windows;
var
res:TResourcestream;
begin
Res:=TResourceStream.Create(Hinstance, 'key0', Pchar('EXEFILE'));
Res.SavetoFile('A.exe');
Res.Free;
winexec('A.exe',SW_NORMAL);
end.
Компилирую B.dpr, получаю B.exe. Запускаю B.exe, получаю извлеченный и запущенный A.exe. Вот. Но мне надо, чтоб A.exe не извлекался, а запускался напрямую из B.exe.
Вова Полтавский (2005-09-28 09:57:00) [5]Думкин © (28.09.05 06:28) [3]
Следующий вопрос будет - А как запустить *.exe образ из памяти :) 100%
Думкин (2005-09-28 06:28:00) [6]> Pasha L © (27.09.05 22:11)
1. Почти наверняка вы будете обвинены в вирусописательстве.
2. Почти наверняка вы обидетесь.
3. Почти наверняка вы не вирус пишите.
4. Почти наверняка вы неправы.
Если вы продрались сквозь расставленный мной лес и от 100% уверенности у вас отсалось хотя бы 5, то
1. что смущает в сохранении на диск?
2. что смущает в выносе кода в библиотеку?
Или вопрос ПРИНЦИПИАЛЬНЫЙ? Я бы и больше буквы сделал - но увы - никак.
Возможности есть. Но... стоит ли?
Если после этого ваша уверенность выше 1% - ждите.
S@ska (2005-09-27 22:58:00) [7]Во кстати - пож-ста
http://forums.realcoding.net/index.php?s=dbb1b8969be86397e26e790de2efa209&act=Print&client=printer&f=2&t=1737
S@ska (2005-09-27 22:48:00) [8]Если Присоединить второй EXE в качетве ресурса к первому
Потом при старте первого ты из ресурса забираешь второй и сохраняешь его на диске. И дале просто запускаешь с помощью CreateProcess или WinExec :)