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

Вниз

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

 
-=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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.059 c
2-1142319552
mixder
2006-03-14 09:59
2006.03.26
Проблема с драг&док ами


2-1141997654
MC_GMC
2006-03-10 16:34
2006.03.26
Размещение файла в оперативке


1-1140168422
kyn66
2006-02-17 12:27
2006.03.26
Как доработать компонент


15-1140528782
Knight
2006-02-21 16:33
2006.03.26
Тут кто-нибудь парле по франсе?


2-1141973054
Елена
2006-03-10 09:44
2006.03.26
Работа с динамическими компонентами





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