Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Запись в ядро 26.11.02 15:38
Автор: BXS Статус: Незарегистрированный пользователь
|
Ребят, подскажите как выйти из положения: есть DLL, которая загружается, как я понимаю, в область ядра (вызовы VirtualQuery возвращают 0, а GetLastError = NO_ACCESS, хотя прочесть память можно легко). Мне нужно переправить ее экспорт уже в памяти, но, ясен пень, винда не дает. Можно ли как-то залезть в ядро? Есть идеи?
P.S. Описанная ситуация происходит на WinXP. Мне нужно напсать прогу, котрая бы одинаково корректно работала бы и а XP и на прозрачной 98.
Заранее спасибо.
|
|
[Win32] Не видел ни одной dll, которая грузится в kernel-space 26.11.02 17:21
Автор: amirul <Serge> Статус: The Elderman
|
> Ребят, подскажите как выйти из положения: есть DLL, которая > загружается, как я понимаю, в область ядра (вызовы > VirtualQuery возвращают 0, а GetLastError = NO_ACCESS,
См в направлении AdjustTokenPrivilegies()
и Virtual<blablabla>Ex()
Но тут будут другие грабли: не забудь пофиксать dll-ку во всех контекстах и еще перехватить GetProcAddress() по крайней мере так у Рихтера сделано.
Во всех контекстах придется фиксать потому как импорты настраиваются в каждом контексте отдельно и, соответсвено, copy on write для IAT-а почти всегда срабатывает (кроме разве что при-bind-еных dll), а GetProcAddress фиксать для того, чтоб все новые экземпляры длл-ки получали тот же адрес
> хотя прочесть память можно легко). Мне нужно переправить ее > экспорт уже в памяти, но, ясен пень, винда не дает. Можно > ли как-то залезть в ядро? Есть идеи?
В ядро можно залезть или из драйвера. Способ перехода в 0-е кольцо без драйвера (но с нужными привилегиями) описан в 59-м phrack-е. Основан на использовании \Device\PhysicalMemory:
Ищется GDT (sgdt - непривилегированная операция) и через этот самый девайс там создается CallGate для перехода в 0-е кольцо из 3-го
> > P.S. Описанная ситуация происходит на WinXP. Мне нужно > напсать прогу, котрая бы одинаково корректно работала бы и > а XP и на прозрачной 98. > > Заранее спасибо.
|
| |
amirul, большой респект за быстрый+дельный ответ! 26.11.02 18:28
Автор: BXS Статус: Незарегистрированный пользователь Отредактировано 26.11.02 18:29 Количество правок: 1
|
|
|
|