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

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

Hi, Kirill !

KN> Открыть устройство \\Device\\PhysicalMemory немного помудрить с ACL
и все
KN> ништяк. Вообщем писал я перехват фунцкий kernel32.dll на сях для nt5
и
KN> самомодифицирующийся код был необходимостью.... ( Идея была кодера
Elicz'a
KN> - он ее сначала реализовал на асме, а мне надо было на сях). Так что
если надо
KN> обращайся мылом.

	А можно поподробнее рассказать про модификацию kernel32.dll в
памяти ?
Я сам написал свой перехватчик функций kernel32.dll, user32.dll
gdi32.dll и т.д.
Но он модифицирует эти библиотеки в памяти каждого процесса по
отдельности, что 
не очень эффективно, так как приходиться внедряться в память каждого
выполняемого процесса.
Для меня достаточной была бы модификация стартовой процедуры
kernel32.dll 
или ntdll.dll (там вообще нет стартовой процедуры) таким образом, чтобы
сначала 
выполнялся вызовов LoadLibrary с именем моей библиотеки, а затем
вызывалась основная 
стартовая процедура. Для этого нужно записать в память по физическому
адресу
kernel32 порядка 20 байт, но так, чтобы эти изменения отразились на всех
текущих и 
будущих процессах.

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

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