Вниз
Скачать: CL | DM;

Запуск EXE из памяти, не выгружая на диск.   Найти похожие ветки 

 
IgorMarx ©   (2004-08-07 19:26) [0]

Задача: на диске лежит зашифрованное тело EXE файла (формат я пока не смотрел). Я его считываю и расшифровываю. Теперь в памяти лежит его содержимое. Если теперь содержимое сохранить на диск с расширением EXE, то его можно запускать как угодно - из Проводника, CreateProcess и т.д. Но тогда пропадает смысл криптографической защиты.

Вопрос: можно ли его запустить, не сохраняя на диск? Как это делает сама ОС?

Спасибо, если кто подскажет, где искать ответ.


 
Игорь Шевченко ©   (2004-08-09 10:57) [1]


> можно ли его запустить, не сохраняя на диск?


Нет.

Точнее, можно, но надо писать собственный загрузчик, а это дело крайне длительное.


 
DC-AC   (2004-08-09 11:44) [2]


> Я его считываю и расшифровываю

Некоторые криптоупаковщики распаковывают файл блоками, т.е. в памяти одновременно находится не весь зашифрованный файл.


 
IgorMarx ©   (2004-08-09 21:43) [3]

Упаковщик, а точнее, шифр, мой собственный. Длина зашифрованного строго равна длине зашифрованного, выравненного к 128 битам в большую сторону (такой способ, на основе хэш-функции, ключ зашит в аппаратной части железяки).

Вообще-то смысл в следующем:

1. Файл не должен валяться в открытом виде;
2. Файл должен запусткаться только при наличии программы-орбитра, контроллирующего данное приложение, а так же чтобы его было невозможно запустить без орбитра.


 
Erik1   (2004-08-10 10:56) [4]

Почитай статью "Антикраковые мучения" на королевстве Delphi лежит.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1094555125
Koala
2004-09-07 15:05
2004.09.19
Ошибка при выполнении процедуры


1-1093890542
Arcady
2004-08-30 22:29
2004.09.19
как справиться с генератором тестов


14-1093420906
Alx2
2004-08-25 12:01
2004.09.19
Когда предприятию необходим собственный полноценный отдел АСУ?


3-1092988776
Tormoz
2004-08-20 11:59
2004.09.19
Oracle SQL*Plus. Где результат запроса?


3-1092929825
Aleksandr.
2004-08-19 19:37
2004.09.19
Надо ли вызывать Coinitialize для обычных глобальных объектов?




   Наверх