Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Что значит "дальше не посмотрел"? Дальше (после... 02.09.05 12:28 Число просмотров: 3468
Автор: amirul <Serge> Статус: The Elderman Отредактировано 02.09.05 12:29 Количество правок: 1
|
> > Более того, kernel32!VirtualProtect() - просто stub > для > > kernel32!VirtualProtectEx(), а тот в свою - stub для > > ntdll!NtProtectVirtualMemory(), который в свою очередь > > является просто гейтом в nt!NtProtectVirtualMemory() > > > > Это все легко видно в отладчике.
> ну это правильно, а дальше-то что? что ж ты дальше не > посмотрел?
Что значит "дальше не посмотрел"? Дальше (после nt!NtProtectVirtualMemory) валидирование аргументов и уход в nt!MiProtectVirtualMemory(). Только это уж точно к делу не относится. Или надо смотреть ЕЩЕ дальше?
> ntdll!NtProtectVirtualMemory (или Zw* что одно и тоже) что > вызывает? > правильно, уходит в ядро в функцию какую-то > неэкспортируемую > подгрузи символы и увидишь ее название - > _ZwProctectVirtualMemory > и не говори после этого что ее нет в ядре
Название этой функции я написал выше. Это nt!NtProtectVirtualMemory() (она не экспортируется, но речь то не о ней, ты ее вообще не упоминал), а функции ZwVirtualProtect() ни в ядре, ни в юзерспейсе действительно нет.
> такие все блин грамотные пошли, ну как ядро может в > принципе жить без такой
Давай не будем меряться письками, скажи просто в чем проблема?
> функции подумай, а что MS-девелоперы не экспортировали ее - > это свинство и здорово > ограничивает возможности драйверов по управлению > useraddressspace
Во-первых это очень редко нужно, во-вторых эту функцию ОЧЕНЬ легко найти, если уж СИЛЬНО захочется.
> раз ты так все хорошо видишь в отладчике то посмотри как > загружается в каждый > новый процесс ntdll.dll - кое что новое узнаешь
Не понял о чем ты. Просвети уж
|
|
|