Вниз
Скачать: 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.022 c
4-1088608218
Rain
2004-06-30 19:10
2004.08.08
Голосовой режим модема


14-1090402373
Piter
2004-07-21 13:32
2004.08.08
Окно уходит под "Панель задач"


1-1090512497
ййй
2004-07-22 20:08
2004.08.08
Image


6-1086369875
Driver
2004-06-04 21:24
2004.08.08
ICQ


1-1090998917
Chainik
2004-07-28 11:15
2004.08.08
OpenDialog - InitialDir




   Наверх