当前位置:网站首页>关于PsGetProcessImageFileName获取结果不全的问题

关于PsGetProcessImageFileName获取结果不全的问题

2022-09-23 08:57:47宇龍_

前言:

PsGetProcessImageFileName是未公开的例程,其作用本质上而言就是读取EPROCESS结构的偏移(镜像文件名),其原型如下:

extern "C" PCHAR PsGetProcessImageFileName(PEPROCESS pEProcess);

其返回值为窄字节类型的字符串,最近在使用该例程时发现一个问题,其返回值并不完整,返回名称是残缺不全的15字节,本文正是为了追溯此原因而写,并提出相关解决方案,网上资料甚少。

正文:

看一段代码:

PEPROCESS pCurrentEprocess;
//pid是进程id
if (NT_SUCCESS(PsLookupProcessByProcessId((HANDLE)pid, &pCurrentEprocess)))
{
	DbgPrint("进程名字为: %s 进程PID = %d 进程的父Pid = %d\n",
		PsGetProcessImageFileName(pCurrentEprocess),
		PsGetProcessId(pCurrentEprocess),
		PsGetProcessInheritedFromUniqueProcessId(pCurrentEprocess));
		
	ObDereferenceObject(pCurrentEprocess);
}
原网站

版权声明
本文为[宇龍_]所创,转载请带上原文链接,感谢
https://zhiyu.blog.csdn.net/article/details/126962755

随机推荐