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

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

Как загрузить из блоба через TStream [D5, IB6.x]


Antonyan ©   (2006-05-19 19:11:00) 

Уважаемые мастера !
Вопрос в следующем. Использую Yaffil (клон Interbase). Моя программа строится следующим образом. Есть маленький модуль на машине клиента и именем и паролем. В базе на серваке в блобах хранятся разные модули - exe файлы. В зависимости от того, как предствился клиент, из блоба запускается тот или иной ехе файл. Сделано тупо, так как сначала этот файл сохраняется на машине клиента, а потом запускается. Как сделать так чтобы этот ехе грузился непосредственно в память машины клиента, не используя жесткий диск, через TStream. Никак что то не доеду.
Заранее благодарен


antonyan   (2006-05-26 14:02:00) [1]

Таким образом мы грузим исполняемый файл из блоба в контейнер использую процесс в памяти, а затем запускаем содержимое выполняться.


antonyan   (2006-05-26 14:00:00) [2]

Чтение из блоб-поля в OleContainer

var S: TStream;
begin
if not FIBDataset1BLOBFIELD.IsNull then
begin
S:=FIBDataset1.CreateBlobStream(FIBDataset1BLOBFIELD, bmRead);
try
OleContainer1.LoadFromStream(S);
OleContainer1.DoVerb(ovShow); //Запускает содержимое контейнера выполняться

finally
S.Free
end;
end;
end;


Johnmen   (2006-05-26 09:01:00) [3]

>Antonyan

Я тоже что-то не нашёл там,  как "из блоба запускается тот или иной ехе файл" :)))


atruhin   (2006-05-26 04:42:00) [4]


> надеюсь модераторы не обидятся за прямую ссылку ?

Ну и как это связанно с твоим вопросом? Ты спрашивал о запуске программы из памяти, причем здесь чтение блоба? Вообще где то были хакерские способы такого запуска, но на то они и хакерские.


Antonyan   (2006-05-25 23:57:00) [5]

надеюсь модераторы не обидятся за прямую ссылку ?

http://www.cracklab.ru/pro/faq.php?pg=478


Johnmen   (2006-05-20 19:45:00) [6]


> Antonyan   (20.05.06 15:29) [4]
>
> Вообще покапался и нашел решение делать это через OleContainer.
>  Кому нибудь интересно как ?


Мне интересно.


Antonyan   (2006-05-20 18:03:00) [7]

Всем спасибо


atruhin   (2006-05-20 15:34:00) [8]


> Кому нибудь интересно как ?

Нет. Вроде все и так знают :)


Antonyan   (2006-05-20 15:29:00) [9]

Вообще покапался и нашел решение делать это через OleContainer. Кому нибудь интересно как ?


Johnmen   (2006-05-20 01:09:00) [10]

Порассуждать можно. Только бесполезно и неконструктивно, т.е. толку ноль.


Antonyan   (2006-05-19 21:18:00) [11]

Сомневаюсь, что это невозможно. Предлагаю порассуждать. Может есть специализированные компоненты для особо тяжелых случаев ?


Johnmen   (2006-05-19 20:33:00) [12]

Решения не найдёшь...


Наверх

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