Как получить имя файла по дескриптору в режиме ядра?
В отношении this answer
Хочу знать, как получить имя файла с дескриптором Handles->HandleValue
как параметр?
1 ответ
Есть много способов сделать это, вы можете сделать это через PsLookupProcessByProcessId
и получить доступ к EPROCESS
структурировать и получить ImageName
от ImageFileName
или доступ SeAuditProcessCreationInfo
и получить имя.
Но очень, очень плохо полагаться на EPROCESS
структура, так как она действительно меняется, и это может привести к синим экранам:D. Если вы используете XP+, вы можете использовать SeLocateProcessImageName
если не просто использовать ZwQueryInformationProcess
с ProcessImageFileName
сначала, чтобы получить длину, затем выделить пул, а затем еще один вызов, чтобы получить фактическое имя изображения.
В любом случае, есть много способов сделать это, но вы поняли идею.