Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | |
[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 и смотреть там. А лучше всего совместно.
Но потом сам не захотел долбаться :-)))
Если никто больше ничего не предложит - можешь воспользоваться как крайним вариантом :-)))
|
|
|