Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.044 c
1-1128073206
Артур
2005-09-30 13:40
2005.10.23
Автозагрузка


3-1126690359
Трушик
2005-09-14 13:32
2005.10.23
Экспорт информации из базы данных в Excel


2-1126844211
Annet
2005-09-16 08:16
2005.10.23
DBF


14-1128079411
oldman
2005-09-30 15:23
2005.10.23
Вера, Надежда, Любовь и мать их Софья.


2-1127749201
Shader
2005-09-26 19:40
2005.10.23
Opengl - прозрачный фон и вывод текста и другое





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский