![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как вставить файл в запущенное приложение? [D6, Win2k]
pwlusa © (2002-05-07 21:50:00)Как вставить файл в запущенное приложение?
Нужно чтоб файл вписывался в тело моей программы. И после закрытия остовался в ней.
Заранее спасибо.
Юрий Зотов (2002-09-20 01:36:00) [1]> Serg Gurin (19.09.02 01:42)
> Задачи разние бывают и решения то же разными бывают
Это верно. Но, я надеюсь, Ваши файлы вместе с Exe Вы не рассылаете по почте?
А тут получилась обратная ситуация - не задача говорит о решении, а решение говорит о задаче. Вот в чем дело-то.
> pwlusa © (19.09.02 17:38)
> А как его потом можно вытащить из exe файла.
1. resourcestring или LoadStr - для строк.
2. TResourceStream - для любых ресурсов.
pwlusa (2002-09-19 17:38:00) [2]Ну спасибо прогеры-мудрецы.
А еще один такой вопросик?
А как его потом можно вытащить из exe файла.
Например у меня есть названия файлов вписанных в exe файле (все происходит при запущенном exe) я выбираю определенное имя у меня должно выскочить окно типа куда его сохранить.
Плиз подскажите.
Serg Gurin (2002-09-19 01:42:00) [3]У меня в принципе похожая ситуация:
Есть программа, есть файлы которые должны обязательно! быть при работе программы - это файлы настроек, причем стандарты нечасто, но меняются, а при установке у клиента за три-девять земель бывает что какой-то файл забыли или положили не тот. Так вот чтобы исключить такую ситуацию я запихивал файлы в Exe а при запуске проверял, имеется ли он в наличии, если нет - создавал (сам-себе инсталлятор). Настройки выставляю не я и при этом бы хотелось, что бы они автомтически :( записывались в exe поверх старых. Но не судьба - проблем стало еще больше. Так что пока ручками линкую. - Это все написано по поводу троянов. Задачи разние бывают и решения то же разными бывают, может не оптимальными, но тоже имеющими право на существование.
Юрий Зотов (2002-09-18 22:45:00) [4]> Mirovodin © (18.09.02 17:16)
Исходный вопрос:
Как вставить файл в запущенное приложение?
Mirovodin (2002-09-18 17:18:00) [5]Sorry, правильно :
RSRC:=FindResource(HInstance, "MYFILE", RT_RCDATA);
Mirovodin (2002-09-18 17:16:00) [6]2 pwlusa ©
1) К exe файлу можно прилинковать все что угодно, для этого у PE файла есть спец-я RCDATA.
Делаем след-е.
Допустим нужно сделать дописать к exe файлу файл с названием F1.exe. Создаем RC файл со след-й строкой:
MYFILE RCDATA F1.exe
сохраняем в файле Res.rc , и компилируем brcc32.exe Res.rc
2) В исходнике 1-го приложения присоединяем полученный ресурс
{$R Res.RES}
3) Получаем доступ к ресурсу :
Var
RSRC : HRSRC;
RES : THandle;
P : Pointer;
...
RSRC:=FindResource(HInstance, "GAMEDATA", RT_RCDATA);
RES:=LoadResource(HInstance, RSRC);
P:=LockResource(RES);
...
В P указатель на данные, далее делаем что хотим...
Так можно помещать что угодно картинки, MP3, видео и делать с ним что угодно - сохранять в файл, проигрывать и т.д.
4) Это безобидный способ, а вот если нужно писать вирусы то нужно вклиниваться в чужой процесс. Об этом написано у Рихтера, слава богу что на C++ и достаточно сложно, иначе нас бы захлестнула волна вирусав :)
Rasa (2002-09-18 04:09:00) [7]А без unicode никак, да?
y-soft (2002-07-27 20:45:00) [8]D"Bug (25.06.02 11:47)
Если согласен ограничиться работой под WinNt/2k, то поищи UpdateResource в Win32SDK
Это не совсем так. BeginUpdateResourceW, UpdateResourceW, EndUpdateResourceW можно использовать и в Win95,98,Me при условии, что установлена поддержка Unicode (нужно скачать с www.microsoft.com unicows.exe и установить) (см. MSDN)
Woland_Form_ABF (2002-07-26 16:38:00) [9]www.abfSowftare.com
component TabfFileStorage
Woland_Form_ABF (2002-07-26 16:36:00) [10]www.abfsoftware.com
component TabfFileStorage
юзайте...там еще много чего интересного...
Юрий Зотов (2002-07-24 23:50:00) [11]> Мне нужен исходник который приписывал бы к exe файлу другой файл.
ОK, уговорили. Bот этот исходник. ПОЛНОСТЬЮ. РАБОТАЮЩИЙ.
copy ExeFile.exe + AttachedFile.ext ExeFile.exe
Bat-файл сами сгенерите, или тоже помощь нужна?
Вот только интересно, а как же адресат его вытаскивать-то будет? Ему же, бедолаге, придется определить, где кончается EXE и начинается аттач. Вот уж помучается-то...
И еще интересно - а зачем же такие навороты? Почему не пересылать файлы НОРМАЛЬНЫМИ способами? Хоть с паролем, хоть без него.
Так что не пудрите людям мозги, юный трояновирусотворец.
> В delphi есть же такая фигня как например приписывает
> графический файл к пректу.
Угу, есть. Ресурсы это называется. Одна лишь деталь - файл приписывается к еще НЕ ЗАПУЩЕННОМУ проекту.
ППавел (2002-07-24 21:19:00) [12]Слушайте я так и не получил ответа как мне это зделать!
Мне нужен исходник который приписывал бы к exe файлу другой файл.
В delphi есть же такая фигня как например приписывает графический файл к пректу.
VEG (2002-06-25 12:55:00) [13]>Например, в конец файла дописать...
Называеться аттач... Не трудно реализовать через потоки.
D'Bug (2002-06-25 11:47:00) [14]Если согласен ограничиться работой под WinNt/2k, то поищи UpdateResource в Win32SDK
Игорь Шевченко (2002-06-25 09:48:00) [15]vixic (25.06.02 07:26)
> эй программеры есть компонент который позволяет сохранять
> данные в ехе файл.
Есть. Называется TVirus
vixic (2002-06-25 07:26:00) [16]эй программеры есть компонент который позволяет сохранять данные в ехе файл.
WhiteRat (2002-06-08 21:20:00) [17]А просто файл данных зашифровать? И с паролем будет...
Anatoly Podgoretsky (2002-06-01 10:39:00) [18]vopros © (28.05.02 10:46)
В любое место, которое сочтешь нужным
pwlusa (2002-05-31 23:36:00) [19]Первая прога вроде контейнера в который я ложу файлы.
Потом отправляю адресату а он вытаскивает их из него. Естественно все это под поролем.
vopros (2002-05-28 12:22:00) [20]Действительно запускается. А помниться в DOS там какие-то контрольные суммы были. Щас дерьма набрал в конце exe и запустлась. Прикол.