Главная страница
    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.037 c
3-1126531368
Os
2005-09-12 17:22
2005.10.23
Зеркало базы


1-1127983118
Вован_бол
2005-09-29 12:38
2005.10.23
Com


1-1128261565
SergP.
2005-10-02 17:59
2005.10.23
Разные результаты компрессии CompressBuf и TCompressionStream


3-1126527977
UVV
2005-09-12 16:26
2005.10.23
Blob и DBGridEh


2-1128133857
Dvayanu
2005-10-01 06:30
2005.10.23
Поиск по текстовому файлу в реальном времени.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский