Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2010, 19:53   #1
boostadv
Новичок
Джуниор
 
Регистрация: 09.12.2010
Сообщений: 2
По умолчанию Delphi и подобие файловой системы

Возможно ли такое реализовать, если да то как?

К примеру, есть файл program.dat, внутри него хранятся app.exe, app.dll, data\image1.jpg.

Есть внешний start.exe, который запускает app.exe из dat, не извлекая его вообще, но при том что app.exe мог бы работать со всеми файлами в dat (image1.jpg, app.dll) без вмешательств в app.exe т.к это сторонняя программа.
boostadv вне форума Ответить с цитированием
Старый 09.12.2010, 20:21   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Запросто. Используй записи, где будет некий динамический массив of byte, пара полей - имя, размер дата...
а потом потоком пиши в файл - получишь некое подобие базы данных, где в полях содержатся тела файлов.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.12.2010, 21:00   #3
boostadv
Новичок
Джуниор
 
Регистрация: 09.12.2010
Сообщений: 2
По умолчанию

Stilet, спасибо, но так решается вопрос упаковки данных. Но вот вопрос, как "запустить" exe из DAT без распаковки?
boostadv вне форума Ответить с цитированием
Старый 09.12.2010, 21:09   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от boostadv Посмотреть сообщение
Stilet, спасибо, но так решается вопрос упаковки данных. Но вот вопрос, как "запустить" exe из DAT без распаковки?
1. есть в сети готовый пример как запустить из памяти процесс.
1.1 как вариант, научится читать PE заголовок, далее передавать управление по адресу, а именно по адресу кода, но это очень не правильно.
2. распаковать ехе во временную папку, запустить, после окончания удалить папку и ехе
3. создать драйвер для свой файловой системы, установить в Windows, далее обращаться как к обычному файлу (ехе файлу)
BOBAH13 вне форума Ответить с цитированием
Старый 09.12.2010, 23:35   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Сообщение от boostadv Посмотреть сообщение
Но вот вопрос, как "запустить" exe из DAT без распаковки?
Правильный ответ на некоторые вопросы - не делать это вообще.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 10.12.2010, 09:55   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Правильный ответ на некоторые вопросы - не делать это вообще.
Ну почему же? Для развития кругозора очень даже полезно. Камасутру для прикола еще никто не отменял
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Драйвер фильтр файловой системы zumm Общие вопросы C/C++ 1 09.11.2010 18:47
Дизайн секъюрной файловой системы wk-cof Помощь студентам 0 24.05.2010 18:02
Устройство файловой системы Alexandr-vi-92 Операционные системы общие вопросы 2 06.11.2008 08:14
Парсер файловой системы FAT32 svennick Общие вопросы C/C++ 4 26.03.2008 23:26