Форум: "Начинающим";
Текущий архив: 2005.10.23;
Скачать: [xml.tar.bz2];
ВнизЗапуск одного ехе из другого Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c