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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[NT] У меня на время возникла идея потрейсить NtQuerySystemInformation 03.02.03 21:50  Число просмотров: 1337
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
По крайней мере в Task Managere Idle присутствует, так что этой самой кверей он возвращается (можно и прогу написать для проверки, но мне лениво). А трейсить его можно для того, чтоб найти как он перечисляет процессы. Не думаю что тело основного цикла там сильно большое. Или можно не трейсить, а в ida-у загнать ntoskrnl и смотреть там. А лучше всего совместно.

Но потом сам не захотел долбаться :-)))
Если никто больше ничего не предложит - можешь воспользоваться как крайним вариантом :-)))
<operating systems>
[NT] 01.02.03 16:08  
Автор: AAS Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Как в режиме ядра получить адрес блока EPROCESS процесса system idle?
[NT] System или Idle? :-)) 01.02.03 19:17  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Как в режиме ядра получить адрес блока EPROCESS процесса
> system idle?
Ну в общем это я издеваюсь - не обессудьте :-))
Может так:

status = PsLookupProcessByProcessId(0, &pEprocess);

Аргументы, думаю, понятны. Экспортируется из ntoskrnl.exe
Если нужен System, то он скорее всего сразу за ним в списке:
pSystem = CONTAINING_RECORD(pIdle->ProcessListEntry, EPROCESS, ProcessListEntry);
Хотя и не проверял, но скорее всего так
[NT] Именно Idle 03.02.03 17:55  
Автор: AAS Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > Как в режиме ядра получить адрес блока EPROCESS
> процесса
> > system idle?
> Ну в общем это я издеваюсь - не обессудьте :-))
> Может так:
>
> status = PsLookupProcessByProcessId(0, &pEprocess);
>
> Аргументы, думаю, понятны. Экспортируется из ntoskrnl.exe
> Если нужен System, то он скорее всего сразу за ним в
> списке:
> pSystem = CONTAINING_RECORD(pIdle->ProcessListEntry,
> EPROCESS, ProcessListEntry);
> Хотя и не проверял, но скорее всего так

Нет, PsLookupProcessByProcessId здесь не кактит, лично проверял, в кольцевом списке активных процессов его нет. А с процессом System все проще: в ntoskrnl экспортируется переменная PsInitialSystemProcess, это и есть укзатель на EPROCESS System.
[NT] У меня на время возникла идея потрейсить NtQuerySystemInformation 03.02.03 21:50  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
По крайней мере в Task Managere Idle присутствует, так что этой самой кверей он возвращается (можно и прогу написать для проверки, но мне лениво). А трейсить его можно для того, чтоб найти как он перечисляет процессы. Не думаю что тело основного цикла там сильно большое. Или можно не трейсить, а в ida-у загнать ntoskrnl и смотреть там. А лучше всего совместно.

Но потом сам не захотел долбаться :-)))
Если никто больше ничего не предложит - можешь воспользоваться как крайним вариантом :-)))
1




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


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