Я пытаюсь написать основной драйвер для процесса мониторинга и получить путь к процессу.
я создать PsSetCreateProcessNotifyRoutine
и получить информацию о процессе с использованием ZwQueryInformationProcess
, но в моей ProcessCallback
функции, когда я пытаюсь получить текущий процесс HANDLE
с помощью NtCurrentProcess
, он дает мне текущий процесс, запустить другой процесс.Преобразование ProcessID в обрабатываемую ручку
Для примера:
я пытаюсь запустить myprogram.exe в C: \, когда я иду к C: \ С помощью проводника Windows и запустить myprogram.exe мой водитель дать мне explorer.exe путь потому что myprogram.exe работать внутри explorer.exe
я есть ProcessId в моем заголовке ProcessCallback
void ProcessCallback(
IN HANDLE hParentId,
IN HANDLE hProcessId,
IN BOOLEAN bCreate
)
.can я могу преобразовать его в обработку дескриптора?
Я не уверен, но похоже, что вы должны быть в состоянии преобразовать идентификатор процесса к ручке процесса с использованием ZwOpenProcess. –
Я пытаюсь ZwOpenProcess, но я не уверен, что это работает отлично! Мой драйвер аварии и не работает! – AminM
Что такое ошибка при сбое? – dvasanth