Как получить имя файла по дескриптору в режиме ядра?

В отношении this answer Хочу знать, как получить имя файла с дескриптором Handles->HandleValue как параметр?

1 ответ

Есть много способов сделать это, вы можете сделать это через PsLookupProcessByProcessId и получить доступ к EPROCESS структурировать и получить ImageName от ImageFileName или доступ SeAuditProcessCreationInfo и получить имя.

Но очень, очень плохо полагаться на EPROCESS структура, так как она действительно меняется, и это может привести к синим экранам:D. Если вы используете XP+, вы можете использовать SeLocateProcessImageName если не просто использовать ZwQueryInformationProcess с ProcessImageFileName сначала, чтобы получить длину, затем выделить пул, а затем еще один вызов, чтобы получить фактическое имя изображения.

В любом случае, есть много способов сделать это, но вы поняли идею.

Другие вопросы по тегам