самомодифицирующийся код?

From
Vasily Nikishaev ()
To
All
Date
2002-09-18T15:37:33Z
Area
SU.WINDOWS.NT.PROG
From: Vasily Nikishaev <VNikishaev@gsu.unibel.by>


Hi, Aleksej !

AK> Можно ли как-нибудь в WinNT соорудить самомодифицирующийся код? В
Win9x особых
AK> проблем нет - сделал VirtualProtect и дальше всё замечательно
меняется. В NT так
AK> же не проходит. Что можно сделать (кроме написания драйверов и
т.п.)?

	Как раз наоборот в WinNT особых проблем нет. Потому что
VirtualProtect работает
для любой области памяти процесса, включая kernel32.dll , user32.dll и
т.д. Можно на
эти библиотеки поставить атрибут PAGE_READWRITE и система автоматически
поставит 
им атрибут PAGE_WRITECOPY. Тогда любая запись в область данных системных
библиотек 
создаст локальную копию изменений для текущего процесса. 
	А вот в Win9x такая возможность отсутствует и можно
модифицировать 
только код своего приложения.

		С уважением, Василий.

--- ifmail v.2.14
 * Origin: Gomel State University, Belarus (2:452/35.128@fidonet)