информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Портрет посетителяЗа кого нас держат?Сетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
amirul, большой респект за быстрый+дельный ответ! 26.11.02 18:28  Число просмотров: 1130
Автор: BXS Статус: Незарегистрированный пользователь
Отредактировано 26.11.02 18:29  Количество правок: 1
<"чистая" ссылка>
<programming>
[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
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach