NT6上的获取进程全路径

  • 2019 年 12 月 20 日
  • 笔记

PUNICODE_STRING PsGetProcessFullName(PEPROCESS pTargetProcess)  {          PFILE_OBJECT pFileObject=NULL;          POBJECT_NAME_INFORMATION pObjectNameInfo=NULL;          if(!NT_SUCCESS(PsReferenceProcessFilePointer(pTargetProcess,&pFileObject)))                  return NULL;          if(!NT_SUCCESS(IoQueryFileDosDeviceName(pFileObject,&pObjectNameInfo)))                  return NULL;          return &(pObjectNameInfo->Name);//尚未释放内存 以及 ObDereferenceObject  }