-
-
[求助]IRQL=2时怎样获得当前运行程序的全路径名
-
发表于:
2008-12-27 12:57
4771
-
[求助]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;
}
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法