Страницы памяти в Vista
От: Denwer Россия  
Дата: 13.11.07 23:48
Оценка:
Итак ситуация следующай: берем список загруженных драйверов системы , находи его начало и чистаем всю занимаемую им память. В других версиях виндовса это работает, но не в висте. На некоторых драйверах идет падение с ошибкой что память недоступна, смотрю в дебаггере список драйверов командой lm, в этой памяти как раз драйвер, проверил с помощью lm a xxxxx, тоже самое, лежит там драйвер. НО ПРИ ОБРАЩЕНИИ ПАДАЕТ, даже если открыть окно мемори в дебаггере, то там знак вопросы одни. Вот и думаю, в чем отличае висты и хп? Может ли быть такое что в списках драйверов драйвер числется, но на самом деле не загружен? Хотя бывают случаи когда например первая страница в памяти есть(4КБ) — видна даже MZ абревиатура, так упадет на второй.
Re: Страницы памяти в Vista
От: Denwer Россия  
Дата: 14.11.07 01:29
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Итак ситуация следующай: берем список загруженных драйверов системы , находи его начало ...


Чуток не информативно написал, берем от туда инфу о каждом драйвере, находим его начало ....
Re: Страницы памяти в Vista
От: Sergey Storozhevykh Россия  
Дата: 14.11.07 09:21
Оценка:
Здравствуйте, Denwer, Вы писали:

D>Итак ситуация следующай: берем список загруженных драйверов системы , находи его начало и чистаем всю занимаемую им память. В других версиях виндовса это работает, но не в висте. На некоторых драйверах идет падение с ошибкой что память недоступна, смотрю в дебаггере список драйверов командой lm, в этой памяти как раз драйвер, проверил с помощью lm a xxxxx, тоже самое, лежит там драйвер. НО ПРИ ОБРАЩЕНИИ ПАДАЕТ, даже если открыть окно мемори в дебаггере, то там знак вопросы одни. Вот и думаю, в чем отличае висты и хп? Может ли быть такое что в списках драйверов драйвер числется, но на самом деле не загружен? Хотя бывают случаи когда например первая страница в памяти есть(4КБ) — видна даже MZ абревиатура, так упадет на второй.


Сложно что-то сказать без !analyze -v. На первый взгляд нужные страницы выгружены при обращении на высоком IRQL.
Re: Страницы памяти в Vista
От: TarasCo  
Дата: 14.11.07 11:22
Оценка:
Машина чистая? Я попробовал на практически нулевой висте х86 на реальной машине, PE заголовки у драйверов вроде на месте. Возможно, какой то гадт портит каталог страниц ( случайно или намерено ).
Да пребудет с тобою сила
Re[2]: Страницы памяти в Vista
От: Valery A. Boronin Россия linkedin.com/in/boronin
Дата: 14.11.07 11:26
Оценка: +1
Здравствуйте, Denwer, Вы писали:

D>>Итак ситуация следующай: берем список загруженных драйверов системы , находи его начало ...

D>Чуток не информативно написал, берем от туда инфу о каждом драйвере, находим его начало ....
как и любой PE image, посторонний драйвер может иметь .Init секции, информация из которых будет discarded после инициализации (читай выхода из Driver Entry), со всеми вытекающими. либо какие-то ошибки связанные с недоступностью paging в момент обращения (высокий IRQL, etc)
... << RSDN@Home 1.2.0 alpha rev. 0>>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[3]: Страницы памяти в Vista
От: Denwer Россия  
Дата: 14.11.07 18:00
Оценка:
Здравствуйте, Valery A. Boronin, Вы писали:

VAB>Здравствуйте, Denwer, Вы писали:


D>>>Итак ситуация следующай: берем список загруженных драйверов системы , находи его начало ...

D>>Чуток не информативно написал, берем от туда инфу о каждом драйвере, находим его начало ....
VAB>как и любой PE image, посторонний драйвер может иметь .Init секции, информация из которых будет discarded после инициализации (читай выхода из Driver Entry), со всеми вытекающими. либо какие-то ошибки связанные с недоступностью paging в момент обращения (высокий IRQL, etc)

Я бы тоже грешил на это, но заголовок РЕ разме может быть discarded ?
Re[4]: Страницы памяти в Vista
От: Denwer Россия  
Дата: 14.11.07 18:09
Оценка:
Здравствуйте, Denwer, Вы писали:

И еще одно уточнение, было даже такое что, падало на второй страницы секции.

Кстати, кто нибудь знает что происходит, с теми кусками памяти где раньше была секция,с флагом дискардет. Я вот не разу не встречал чтобы на этом месте был другой исполняемый код например, такое подозрение что эти секции всего то ЗАБЫВАЮТСЯ, возможно в висте это не так, из за технологии динамичсеского распределения памяти ядра.
Re: Страницы памяти в Vista
От: Ligen Украина http://zone-of-ambiguity.blogspot.com/
Дата: 17.11.07 15:20
Оценка:
D>Итак ситуация следующай: берем список загруженных драйверов системы , находи его начало и чистаем всю занимаемую им память. В других версиях виндовса это работает, но не в висте. На некоторых драйверах идет падение с ошибкой что память недоступна, смотрю в дебаггере список драйверов командой lm, в этой памяти как раз драйвер, проверил с помощью lm a xxxxx, тоже самое, лежит там драйвер. НО ПРИ ОБРАЩЕНИИ ПАДАЕТ, даже если открыть окно мемори в дебаггере, то там знак вопросы одни. Вот и думаю, в чем отличае висты и хп? Может ли быть такое что в списках драйверов драйвер числется, но на самом деле не загружен? Хотя бывают случаи когда например первая страница в памяти есть(4КБ) — видна даже MZ абревиатура, так упадет на второй.

Элементарно может быть не промапплен — и не только в виста — например так себя ведет win32k.sys.
Ибо Session Space.
Use ZwQuerySystemInformation + KeAttachProcess и вперед — где-то же он есть
Viva el Junta Militar! Viva el Presidente!
Re[5]: Страницы памяти в Vista
От: Аноним  
Дата: 17.11.07 20:25
Оценка:
После вызова инит рутины драйвера такие секции именно забываются. В т.ч. могут выгрузиться нафиг из памяти и их адреса могут стать невалидными.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.