Дескриптор процесса Windows - PullRequest
2 голосов
/ 20 июля 2009

Для двойного связанного списка процессов есть Flink and Blink (прямая ссылка и обратная ссылка). Есть идентификатор процесса. Все это упаковано в структуру, которая называется PEPROCESS или _KPROCESS. Но где они и какие другие элементы в этой структуре?

Или, если ответ не является ни коротким, ни простым, где можно найти ссылки, если нет в документации или заголовочных файлах? (В каком месте я смотрел и, возможно, что-то упустил.)

Ответы [ 3 ]

2 голосов
/ 20 июля 2009

Ссылка EPROCESS

Структура EPROCESS является непрозрачной структура, которая служит процессом объект для процесса.

Некоторые процедуры, такие как PsGetProcessCreateTimeQuadPart, используйте EPROCESS для определения процесса действуют на. Водители могут использовать Процедура PsGetCurrentProcess для получения указатель на объект процесса для текущий процесс и может использовать ObReferenceObjectByHandle подпрограмма для получить указатель на объект процесса что связано с указанным справиться. PsInitialSystemProcess глобальная переменная указывает на процесс объект для системного процесса.

Обратите внимание, что объект процесса является Объект Диспетчер объектов. Водители должны использовать процедуры диспетчера объектов, такие как ObReferenceObject и ObDereferenceObject для поддержки количество ссылок на объект.

Это означает, что вам не нужно заботиться о том, каковы члены структуры процесса. Тем не менее, есть источники, которые подробно описывают структуру структуры процесса.

Эта книга содержит более подробное описание отдельных членов.

0 голосов
/ 04 февраля 2011

Структура EPROCESS особенно непрозрачна и может быть найдена только для каждой сборки, путем изучения типов данных, экспортируемых с помощью символов отладки сборки.

Чтобы вы могли сделать следующее:

  1. Скачать volatility здесь
  2. Запустите volatility на одном из их примеров дампов памяти или на своем собственном дампе, если хотите.
  3. Используя плагин volshell.py, запустите

    dt('_EPROCESS')

Это приведет к выводу структуры EPROCESS и различных других структур в ядре Windows

или вы можете просто увидеть содержимое структуры здесь

Это также может оказаться полезным

0 голосов
/ 29 сентября 2009

Структура EPROCESS документирована в символах отладки Windows.

При подключении к ядру с помощью windbg, при условии, что символы отладки установлены правильно, ввод команды "dt nt! _EPROCESS" должен дать вам макет структуры EPROCESS, характерной для версии ядра, к которому вы присоединены .

...