Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

зАПУСТИТЬ фАЙЛА иЗ оПЕРАТИВНОЙ пАМЯТИ

1.9K
15 марта 2004 года
OS17
40 / / 09.12.2002
Как запустить exe - файл, находящийся в виде массива в оперативной памяти на исполнение?
1
15 марта 2004 года
kot_
7.3K / / 20.01.2000
Цитата:
Originally posted by OS17
Как запустить exe - файл, находящийся в виде массива в оперативной памяти на исполнение?


В теории необходимо: создать и записать в начале блока памяти структуру PSP,создать копию переменных среды для этой программы, записать указатель на нее в PSP, считать заголовок файла, получить адрес точки входа,вычислить смещение,поместить в стек параметры запуска, создать файловый дискриптор, комадой Call загрузить функцию по адресу точки входа, выполнить...хех, наверно еще чтото забыл - ну про определения уровня процесса и прав доступа просто писать не не буду, как и про то что надо записать адрес возврата и тому подобную ерунду...:D . Практически, это можно решить - указать операционной системе эту область в памяти в качестве монтируемого устройства, типа USB-или виртуального диска, и выполнить простую команду ShellExecute. Тогда проблема сводиться к написанию драйвера виртуального устройства.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог