Текущий архив: 2004.04.25;
Скачать: CL | DM;
Вниз
Склеивание exe Найти похожие ветки
← →
Александр1 © (2004-04-04 07:16) [0]Здравствуйте уважаемые мастера!
Как склеить два exe файла при помощи программы написанной на Delphi?
Так чтобы при загрузке одно exe-ника загружалось две программы (ну это наверное понятно).
Если можно пример!
← →
хз © (2004-04-04 08:21) [1]А зачем, если не секрет?
← →
Александр1 © (2004-04-04 08:26) [2]Ну не вирус писать это точно. Я таким не занимаюсь. К стати когда я попытался жителям этого сайта объяснить зачем не склеивать exe они раскритиковали меня и не правильно поняли. Ещё сказали, чтобы я на сайте вопросы задавал конкретно. Поэтому я и задаю вопросы теперь конкретно. А если хочешь узнать зачем мне это? Укажи своё мыло я тебе персонально письмо напишу.
← →
хз © (2004-04-04 08:33) [3]> Ну не вирус писать это точно.
> Укажи своё мыло я тебе персонально письмо напишу.
Не стесняйся, пиши сюда. Интересно же...
← →
Александр1 © (2004-04-04 08:42) [4]Я полгода назад написал программу (долго плиса, программа длинная и муторная). Проект этой программы пропал, остался только exe. После того как я продал эту программу, юзир нашёл в ней ошибки. Теперь их надо исправлять. А как? Я придумал способ исправления, но не знаю, как его реализовать.
Можно ли дописать к exe файлу, какой либо алгоритм. Ну, например, склеить два exe в один. (т.е. кабы получиться доклеить SP) Когда нажимаешь на этот exe, то загружалось бы две программы. Одна - это старый exe и другой это новый, который бы я конечно сделал не видимым (это я знаю как делать). Это вторая программа корректировала действия старой. Т.е. Вводила некие данные в редакторы Edit1, Memo1 старого exe –ника, нажимала бы на кнопки.
Ну, т.е. мой вопрос разделяется как бы на два: 1. Как дописаться к exe-нику. 2Как управлять exe- ником.
Кстати на второй вопрос я частично нашёл ответ.
На счёт управления другим exe-нико я уже кое что нашёл. А вот как воплотить первое?????
← →
YurikGl © (2004-04-04 08:47) [5]По поводу исправления старой проги, есть такая штука DeDe (Delphi Decompiler), посмотри ее.
http://www.yandex.ru/yandsearch?text=DeDe+Delphi&stype=&nl=0
← →
хз © (2004-04-04 08:47) [6]Не морочь мне голову. Если все что ты описал - правда, то я тебе сочуствую, зря стараешься (можно просто патч, к примеру, сделать), в противном случае - я тебе не советник.
← →
KSergey © (2004-04-04 09:01) [7]Думаю, проще написат ьтретью, которая будет эти два хранить, например, в ресурсах. После своего запуска она их будет сохрянять на диск и оба запускать.
Для таписания понадобятся TFileStraem, TResStream, CreateProcess
Примеров куча в справке и на форуме.
← →
Александр1 © (2004-04-04 09:09) [8]
> (можно просто патч, к примеру, сделать),
Ну да я согласен сделать патч, а как? Проекта то нет! А заново писать с ума сойти можно.
YurikGl - Спасибо посматрю!
KSergey - Да уже так делал. Но там такая немного специфичная программа. Её постаянно носят на дискете. И требуется чтобы она (программа) состояла только из одного exe файла!
← →
naum (2004-04-04 09:42) [9]Все очень просто! Есть специальная программа (проект от coban2k) которая сливает 2 ЕХЕ в один. Даже у результирующего можно иконку менять. Именуется MicroJoiner (full ASM). Тоже, блин, мастера советчики, парня не смогли понять :) Александр отпишите мне на мыло я вам ее предоставлю в кратчайшие сроки! Меня зовут Алексей.
← →
formatC'vt (2004-04-04 10:14) [10]Как всегда, ответы "в тему" :)
DeDe ваще не в тему посоветован, т.к. если на эту прогу нужно немер времени в Delphi, то что тут говорить о ее варианте на ASMе, наверно тот кто он нем написл ни разу им не пользовался.
Лучше бы в RusFAQ.Ru обратился.
1. Пишем в блокноте RC-файл, куда прописываем все нужные нам программы, например:
ARJ EXEFILE C:\UTIL\ARJ.EXE
2. Компилируем его в ресурс при помощи Brcc32.exe. Получаем RES-файл.
3. Далее в тексте нашей программы:
implementation
{$R *.DFM}
{$R test.res} //Это наш RES-файл
procedure ExtractRes(ResType, ResName, ResNewName : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
// Записывает в текущую папку arj.exe
ExtractRes("EXEFILE", "ARJ", "ARJ.EXE");
end;
← →
formatC'vt (2004-04-04 10:20) [11]Хочешь автоматизировать, то пишешь программу, которая читает свой хвост, в котором грубо говоря записано два смещения и читает с одного по второе, сохраяет в виде отдельного файла, потом со второго по хвост и сохраняет в другом файле. Пишешь GUI которая берет этот загрузчик и сначало в кнец ему дописывает один файл, потом второй и потом смещение первого и второго относительно загрузчика. Работать будет 100% если ты не будешь править PE заготловок, т.к. винды игнорируют то что ты в файл дописал.
← →
Александр1 © (2004-04-04 10:56) [12]naum - Спасибо ну хоть кто-то нашёлся кто меня понял СПАСИБО БОЛЬШОЕ!
formatC"vt - И тебе спасибо! Я попробую твой метод.
← →
8ung © (2004-04-05 22:25) [13]Хм...
Тебе повезло больше, чем мне :-( //меня вообще на х.. послали(я тоже задавал такой вопрос)//
Я написал программу - склеиватель exe файлов(то, что тебе нужно).
Если нужны исходники, то пиши мне на мыло- вышлю ;8)
← →
Александр1 © (2004-04-09 20:02) [14]8ung
Пришли если можно!
Зарание спасибо!
Страницы: 1 вся ветка
Текущий архив: 2004.04.25;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.024 c