![]() |
Ярпортал: форум Ярославля ![]() |
![]() ![]() ![]() ![]() |
Здравствуйте, Гость ( Вход·Регистрация ) | Сделать Yarportal.Ru стартовой страницей |
![]() |
![]() ![]() ![]() |
Цыган |
Дата 30.03.2010 - 18:36
|
Unregistered ![]() |
Привет,
Возможно ли как-нибудь загружать файл в память и затем запускать его оттуда? Я работаю над архиватором файлов, который может сжать, зашифровать и сохранить множество файлов в exe файл, который затем запускает сжатые файлы после распаковки их во временную директорию. Проблема в том, что файлы распаковываются на жесткий диск, а затем запускаются оттуда, становясь уязвимыми для юзера, который может попытаться получить оригинальные (незащищенные) файлы. Таким образом юзер не должен иметь доступ к файловым операциям, происходящим в фоновом режиме. Поэтому я должен спрятать оригинальные несжатые файлы от юзера до тех пор, пока они не будут открыты распаковщиком и затем удалены. Юзеры не должны иметь какого-либо доступа к файлам (не должен их видеть, открывать их, модифицировать или копировать), но в то же время распаковщик должен иметь доступ к их запуску. (вот почему я думаю, что память – лучшее решение) Есть ли какой-нибудь способ защитить их, например распаковыванием напрямую в память и затем запуском их оттуда? Может быть что-то вроде виртуального диска в памяти? Спасибо. |
|
Secur/TLG |
Дата 31.03.2010 - 13:18
|
||
Unregistered ![]() |
Тут сразу возникат вопрос - что за файл нужно загрузить в память и что в вашем понимании "запустить"? Если речь идет о запуске исполняемого exe-файла из памяти процесса, то да, можно, но потребуются не кислые знания PE-формата и WinApi по работе с ним. по такому, или зачастую схожему принципу работают PE-протекторы и упаковщики. В любом случае задача не тривиальная, ибо после того, как исполняемый файл будет загружен в память процесса, необходимо будет настроить: смещения секций, таблицу импорта, (релоки, TSL и прочее при необходимости), получить OEP и передать ее в выполняющий процесс, чтобы запустить процесс из памяти на выполнение. Но и тут могут возникнуть проблемы. В случае если ImageBase обоих (запускающего и запускаемого) процессов одинакова, или запускаемый файл окажется базозависимым, то это подкинет лишних проблем. Это сообщение отредактировал Secur/TLG - 31.03.2010 - 13:29 |
||
|
Цыган |
Дата 13.04.2010 - 17:39
|
Unregistered ![]() |
Друг мне подсказал хорошую штуку -
![]() |
|
Rebe |
Дата 13.04.2010 - 18:04
|
Unregistered ![]() |
Ай маладца.
|
|
vanches |
Дата 13.04.2010 - 22:41
|
![]() О_о ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Пользователи Сообщений: 23442 Пользователь №: 6987 Регистрация: 14.03.2006 - 14:55 ![]() |
когда же его забанят?
в основном тут специалисты в разделе, но все же... |
Logic |
Дата 13.04.2010 - 23:53
|
Unregistered ![]() |
Теперь боты ждут поста, чтобы реплаить со спамом ))
|
|
Rebe |
Дата 14.04.2010 - 02:41
|
||
Unregistered ![]() |
Не, у него таймер 2 недели |
||
|
RoSMag |
Дата 14.04.2010 - 07:55
|
Unregistered ![]() |
Цыган
Чудо чудное. Можно ещё профиль отредактировать, в подпись поставить ссылку ![]() Если добрые люди раньше не забанят ![]() |
|
![]() |
![]() ![]() ![]() |
Правила Ярпортала (включая политику обработки персональных данных)