Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];

Вниз

Склеивание 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.031 c
3-1080139064
Виктор
2004-03-24 17:37
2004.04.25
Как в dxDBGrid-е вывалить програмно ExtLookupColumn


1-1081415231
Vovas
2004-04-08 13:07
2004.04.25
Как привести форму-предок к типу формы-потомка?


1-1081514472
Denis_Visma
2004-04-09 16:41
2004.04.25
Прогресс бар на процесс конекта...


1-1081237348
MikePol
2004-04-06 11:42
2004.04.25
"Подвисание" MDI формы


3-1080629375
Daniel
2004-03-30 10:49
2004.04.25
создание DB класса





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