Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.23;
Скачать: CL | DM;

Вниз

Запуск одного ехе из другого   Найти похожие ветки 

 
Pasha L ©   (2005-09-27 22:11) [0]

Здравствуйте. У меня вопрос: можно ли с помощью Дельфи зашить A.exe в B.exe, чтобы потом при запуске B.exe запустить A.exe, не извлекая его для этой цели наружу?


 
S@ska   (2005-09-27 22:48) [1]

Если Присоединить второй EXE в качетве ресурса к первому
Потом при старте первого ты из ресурса забираешь второй и сохраняешь его на диске. И дале просто запускаешь с помощью CreateProcess или WinExec :)


 
S@ska   (2005-09-27 22:58) [2]

Во кстати - пож-ста
http://forums.realcoding.net/index.php?s=dbb1b8969be86397e26e790de2efa209&act=Print&client=printer&f=2&t=1737


 
Думкин ©   (2005-09-28 06:28) [3]

> Pasha L ©   (27.09.05 22:11)  

1. Почти наверняка вы будете обвинены в вирусописательстве.
2. Почти наверняка вы обидетесь.
3. Почти наверняка вы не вирус пишите.
4. Почти наверняка вы неправы.

Если вы продрались сквозь расставленный мной лес и от 100% уверенности у вас отсалось хотя бы 5, то

1. что смущает в сохранении на диск?
2. что смущает в выносе кода в библиотеку?

Или вопрос ПРИНЦИПИАЛЬНЫЙ? Я бы и больше буквы сделал - но увы - никак.

Возможности есть. Но... стоит ли?

Если после этого ваша уверенность выше 1% - ждите.


 
Вова Полтавский   (2005-09-28 09:57) [4]

Думкин ©   (28.09.05 06:28) [3]

Следующий вопрос будет - А как запустить *.exe образ из памяти :) 100%


 
Pasha L ©   (2005-09-28 19:12) [5]

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 19:18) [6]


> [5] Pasha L ©   (28.09.05 19:12)

Ты готов писать собственный загрузчик? Думаю, что нет.


 
umbra ©   (2005-09-28 19:21) [7]


> Но мне надо, чтоб A.exe не извлекался, а запускался напрямую
> из B.exe.


Так не получится, если не написать свой загрузчик, как справедливо отметил > Джо ©  . Дешевле, наверное, извлечь, віполнить и удалить. А еще дешевле сделать ОДИН экзешник


 
Джо ©   (2005-09-28 19:22) [8]

Дополнение к [6].
В чем СМЫСЛ подобных манипуляция?

Если "екзешник" - твой, то зачем геморрой, если уже все давно придумано и выложено на тарелочку с голубой каемочкой - DLL.
Если "екзешник" - чужой, то это, вероятно, нарушение авторских прав - и в любом случае блажь...



Страницы: 1 вся ветка

Текущий архив: 2005.10.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
14-1128118890
Chuvak
2005-10-01 02:21
2005.10.23
spool.exe в папке Windows


1-1128013964
userrrrr
2005-09-29 21:12
2005.10.23
как получит ин-цию о процессоре?


14-1127992402
alk20
2005-09-29 15:13
2005.10.23
Помогите программа не работает так как надо из под win 98


14-1128150125
Старшеклассник
2005-10-01 11:02
2005.10.23
Чего ждет ослик?


2-1127369002
alexm
2005-09-22 10:03
2005.10.23
как назначить одну процедуру многим компонентам