Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.26;
Скачать: CL | DM;

Вниз

Как запустить программу из памяти?   Найти похожие ветки 

 
-=ARMAN=-   (2006-02-21 12:53) [0]

Как запустить на исполнение EXE файл, передав ему все параметры, из потока Stream (TMemoryStream, TFileStream, TStream - неважно), и запустить его сразу в память, не сохраняя на диск?


 
RO   (2006-02-21 12:57) [1]

В виде автономного процесса - никак.


 
RO   (2006-02-21 13:58) [2]

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

У тебя иной вариант ? Рассказывай..


 
-=ARMAN=-   (2006-02-21 14:37) [3]

не может быть, чтобы никак!

представьте код:

var
Memory: TMemoryStream;
begin
Memory := TMemoryStream.Create;
Memory.LoadfromRes(12,"somefile.exe");

{ КАК ТЕПЕРЬ ЗАПУСТИТЬ ЭТОТ ФАЙЛ НЕ СОХРАНЯЯ ЕГО НА ДИСК}

Memory.Free;

end;


 
RO   (2006-02-21 14:54) [4]


> представьте код


Представил.

А ты представляешь себе, ЧТО происходит в операционной системе Windows при "щелчке на иконке" ?


 
arman   (2006-02-21 16:59) [5]

вопрос ты понял?


 
Чародей ©   (2006-02-21 17:11) [6]

Чтобы передать управление необходимо получить адрес Stream + смещение на данные. Но это не так сложно,  если это настоящий exe, а не com и не бинарник, то из заголовка надо еще получить entryPoint, но еще интереснее то что надо будет переопределять сегменты ...


 
han_malign ©   (2006-02-21 17:46) [7]

к размышлению
http://rsdn.ru/article/baseserv/peloader.xml


 
TUser ©   (2006-02-21 18:49) [8]

> Чтобы передать управление необходимо получить адрес Stream + смещение на данные. Но это не так сложно,  если это настоящий exe, а не com и не бинарник, то из заголовка надо еще получить entryPoint, но еще интереснее то что надо будет переопределять сегменты ...

Вообще-то надо еще чтобы ОС понимала, что это - новый процесс. Сделала ему виртуальное адресное пространство. Запомнила бы, что данному процессу надо иногда выделять процессорное время и иные ресурсы. И т.д.

Сделать это можно, если создать ram-диск и сохранить файл туда. А потом запустить.


 
Leonid Troyanovsky ©   (2006-02-21 19:01) [9]


> han_malign ©   (21.02.06 17:46) [7]


http://groups.google.com/group/microsoft.public.win32.programmer.kernel/msg/fb58c55a2edd8e88

delphi

http://groups.google.com/group/fido7.ru.delphi/msg/dbf6083b8b7fbee4

--
Regards, LVT.


 
Игорь Шевченко ©   (2006-02-21 22:31) [10]

Leonid Troyanovsky ©   (21.02.06 19:01) [9]

Неббет, конечно безусловно велик, но всегда поражает "желание странного", как по твоей ссылке, так и в данной ветке. На свете миллионы программистов загружают DLL стандарным способом LoadLibrary(Ex) и не задаются вопросом, "как влезть со своими потрохами" куда-то.

Отчего так ?


 
kaZaNoVa ©   (2006-02-21 23:26) [11]

очень хорошая идея есть получать код защищенной программы с сервера (с шифрованием траффика),  чтобы не копировали - надо запустить напрямую ..  (конечно "профи" из памяти дампанут и т.д.)  но такая защита от "новичков" да и просто для простых юзеров - имхо очень эффективна..


 
Игорь Шевченко ©   (2006-02-22 00:57) [12]

kaZaNoVa ©   (21.02.06 23:26) [11]

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


 
аноним   (2006-02-22 04:31) [13]

античит, а-ля VAC2 :) кто крутится в этих кругах и т.д., хотя и там можно обойтись иначе, но даже Valve не брезгует подобными фишками ;)


 
Leonid Troyanovsky ©   (2006-02-22 09:22) [14]


> Игорь Шевченко ©   (21.02.06 22:31) [10]

> Отчего так ?


То, что касается библиотек, то стремление порождено, IMHO,
желанием скрыть сам факт использования данной библиотеки.
Что, собс-но, также, врядли можно назвать чистым помыслом.

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2006.03.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.038 c
1-1140919693
Grol
2006-02-26 05:08
2006.03.26
Быстро обновить все визуальные компонент на форме


2-1142333201
Sonnetrut
2006-03-14 13:46
2006.03.26
База данных - файл Excel


5-1127898961
Иванов__
2005-09-28 13:16
2006.03.26
Нужен компонент HTML-редактор


2-1141658303
KyRo
2006-03-06 18:18
2006.03.26
Как Перевести число


6-1133872760
V-A-V
2005-12-06 15:39
2006.03.26
Автологин на прокси сервер