Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

а -ля WinRar SFX [D6, WinME, Win2k]


Viktor Kushnir ©   (2002-12-01 08:04:00) 

Всем привет!

Подскажите, как мне записать в уже откомпелированный EXE (который я написал сам) ресурс произвольный длинны (binary)?

Как это делается в winrar sfx, или как-нить по другому.
Просто надо компановать ресурсы ф программу уже после её компиляции.


Георгий Бедный   (2003-01-12 12:25:00) [1]

А у меня такая фигня: надыбал LMPQAPI.dll - просто конфетка! Действует без storm.dll, Staredit.exe и пр. ботвы (кроме listfile.dat, разумеется). Теперь парюсь над архиватором. Объясните, плиз, как передрать из LMPQAPI.dll нужные функции в SFX-модуль? По идее, этот SFX-модуль должен создавать backup в теле SFX-архива для файлов, заменяемых в MPQ ресурсами этого же архива (типа как MPQDraft, только для пропатчивания Install.exe он тоже подходит). Так что, мужики, если получится - это будет новое слово в мод-мейкинге. Сейчас попробую забацать схему:

SFX.exe Install.exe
Archive(LEL): Archive(MPQ):
file1",<-------------->file1,<--------|
^ file2"<------------->file2,<------| |
| ^ file3... | |
| |_______________________________| |
|_____________________________________|

То, что стрелки в обе стороны, означает, что пропатчивание можно отменить, если SFX-архив не был удалён. Формат такого архива -LEL, в честь Леликова. Впрочем, можно оставить MPQ - к нему тоже можно SFX-модуль добавить.


Viktor Kushnir   (2002-12-09 08:53:00) [2]

В общем EXE будет клнечно же два. Один из которых бдудет создавать второй с заднным ресурсом. На счет правки ресурсов, в Help"e очень удачно сказано, что эти комманды в Win9x не работают :(

Может кто кинет в меня примерчиком, как править ресурсы без использования спецАпи?


SPeller   (2002-12-09 03:49:00) [3]


> Cobalt © (08.12.02 20:36)

А если бинарка не одна? Тогда уже проще будет сделать нечто подобное простейшей БД, создавать её, а потом дописывать в конец. Правда некоторые анитивирусы могут ругаться на такую хрень.


Cobalt   (2002-12-08 20:36:00) [4]

Можно еще поробовать вот как:
1) Дописываешь к файлу необходимую инфу.(Для этого понадобиться 2-я прога - открываешь ехе-ник на запись, устанавливаешь указатель на конец файла и дописываешь что тебе надо)
2) Тебе ведь известен размер уже откомпилированной проги, то просто открываешь(из этой проги) свой файл на чтение, и начинаешь читать с того смещения.


SPeller   (2002-12-08 17:27:00) [5]

Почитай о формате ресурсов, о том, как они в ЕХЕ зашиваются. Говорят (сам не проверял) в книге Рихтера это есть.


Viktor Kushnir   (2002-12-08 08:39:00) [6]

Гм, да я в курсе. Но как реализовать подобный (или другой но с таким же результатом) механизм?


SPeller   (2002-12-01 11:32:00) [7]

Вообще-то, РАРовские SFX-архивы - это ЕХЕ и следующий за ним обычный архив. Никаких ресурсов он не использует.


Наверх

Титульная страница Поиск, карта сайта Написать письмо