![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запуск EXE из памяти, не выгружая на диск. [D5]
IgorMarx © (2004-08-07 19:26:00)Задача: на диске лежит зашифрованное тело EXE файла (формат я пока не смотрел). Я его считываю и расшифровываю. Теперь в памяти лежит его содержимое. Если теперь содержимое сохранить на диск с расширением EXE, то его можно запускать как угодно - из Проводника, CreateProcess и т.д. Но тогда пропадает смысл криптографической защиты.
Вопрос: можно ли его запустить, не сохраняя на диск? Как это делает сама ОС?
Спасибо, если кто подскажет, где искать ответ.
Erik1 (2004-08-10 10:56:00) [1]Почитай статью "Антикраковые мучения" на королевстве Delphi лежит.
IgorMarx (2004-08-09 21:43:00) [2]Упаковщик, а точнее, шифр, мой собственный. Длина зашифрованного строго равна длине зашифрованного, выравненного к 128 битам в большую сторону (такой способ, на основе хэш-функции, ключ зашит в аппаратной части железяки).
Вообще-то смысл в следующем:
1. Файл не должен валяться в открытом виде;
2. Файл должен запусткаться только при наличии программы-орбитра, контроллирующего данное приложение, а так же чтобы его было невозможно запустить без орбитра.
DC-AC (2004-08-09 11:44:00) [3]
> Я его считываю и расшифровываю
Некоторые криптоупаковщики распаковывают файл блоками, т.е. в памяти одновременно находится не весь зашифрованный файл.
Игорь Шевченко (2004-08-09 10:57:00) [4]
> можно ли его запустить, не сохраняя на диск?
Нет.
Точнее, можно, но надо писать собственный загрузчик, а это дело крайне длительное.