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

Самоуничтожение программы   Найти похожие ветки 

 
New Neon ©   (2004-07-25 00:25) [0]

Доброго всем времени суток. Дорогие програмисты не подскажете можноли создать самоудоляющиеся приложение (не исользуя реестр). Тоесть нужно создать прогу которая будет выполнятся только один раз (вроде тестового примера), а затем самоуничтожатся по её закрытии.


 
Serge_   (2004-07-25 00:31) [1]

Есть такая интересная штучка как GlobalAlloc
так вот, если ты в память выделенную этой функцией закинешь свой код и сделаешь в нем FreeLibrary то модуль программы освободиться а код находящийся в памяти продолжит свое исполнение...
Это работает в W9x насчет NT не проверял...


 
Юрий Зотов ©   (2004-07-25 09:40) [2]

В NT это работает точно так же, как и в 9x. Так что все ОК.


 
Бином Ньютоныч   (2004-07-25 11:19) [3]

А что, через GlobalAlloc можно получить страницу с разрешением на исполнение? Как это сделать?


 
Юрий Зотов ©   (2004-07-25 12:08) [4]

> Бином Ньютоныч   (25.07.04 11:19) [3]

Думаю, это станет ясно чуть позже...
:о)


 
VMcL ©   (2004-07-25 13:55) [5]

>>Бином Ньютоныч  (25.07.04 11:19) [3]

Гы, нашел прямо в справке по GlobalAlloc.

Memory allocated with this function is guaranteed to be aligned on an 8-byte boundary. To execute dynamically generated code, use the VirtualAlloc function to allocate memory and the VirtualProtect function to grant PAGE_EXECUTE access.


 
Бином Ньютоныч   (2004-07-25 15:23) [6]

>VMcL ©   (25.07.04 13:55) [5]

Дык то-то и оно. Не, можно конечно после GlobalAlloc изменить атрибуты страницы, но на кой это, когда можно сразу VirtualAlloc юзать?!



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

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



Память: 0.46 MB
Время: 0.021 c
1-1090474546
wild_arg
2004-07-22 09:35
2004.08.08
Спрятать форму


3-1089869628
zorik
2004-07-15 09:33
2004.08.08
singleton-набор данных


6-1086871978
Softal
2004-06-10 16:52
2004.08.08
Сеть в DOS


14-1090575176
inic
2004-07-23 13:32
2004.08.08
Прекрасные стихи


1-1090923117
Хельм
2004-07-27 14:11
2004.08.08
Компонента для шифрования




   Наверх