-
-
[求助]IRQL=2时怎样获得当前运行程序的全路径名
-
发表于:
2008-12-27 12:57
4868
-
[求助]IRQL=2时怎样获得当前运行程序的全路径名
网上有可以能过PEB来获得得当前运行程序的全路径名,但在IRQL=2时要死机,所以请大虾们赐教,能不能给个具体的方面在IRQL=2时也可以实现,谢谢。
网上代码如下:
/*++ 获得当前进程全路径 --*/
PCWSTR FsdGetProcessFullName()
{
ULONG dwAddress;
dwAddress = (ULONG)PsGetCurrentProcess();
if(dwAddress == 0 || dwAddress == 0xFFFFFFFF)
return NULL;
//取得PEB,不同平台的位置是不同的。
dwAddress += BASE_PROCESS_PEB_OFFSET;
if((dwAddress = *(ULONG*)dwAddress) == 0) return 0;
// 通过peb取得RTL_USER_PROCESS_PARAMETERS
dwAddress += BASE_PEB_PROCESS_PARAMETER_OFFSET;
if((dwAddress = *(ULONG*)dwAddress) == 0) return 0;
//在RTL_USER_PROCESS_PARAMETERS->ImagePathName保存了路径,偏移为38,
dwAddress += BASE_PROCESS_PARAMETER_FULL_IMAGE_NAME;
if((dwAddress = *(ULONG*)dwAddress) == 0) return 0;
DbgPrint("name:%ws",(PCWSTR)dwAddress);
return (PCWSTR)dwAddress;
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课