-
-
[求助]Hook NtCreateUserProcess
-
发表于:
2011-10-29 11:48
9822
-
[求助]Hook NtCreateUserProcess
win7系统, 驱动HOOK了NtCreateUserProcess函数,如何处理才不会弹出系统的“无效的句柄”等这样的对话框?
win7 以前可以返回 一个特定的值 0x80070000 来阻止弹出对话框,不知道WIN7 有没有处理的,给点思路。
HOOK 函数如下:
NTSTATUS MyNtCreateUserProcess (
PHANDLE ProcessHandle,
PHANDLE ThreadHandle,
PVOID Parameter2,
PVOID Parameter3,
PVOID ProcessSecurityDescriptor,
PVOID ThreadSecurityDescriptor,
PVOID Parameter6,
PVOID Parameter7,
PRTL_USER_PROCESS_PARAMETERS ProcessParameters,
PVOID Parameter9,
PVOID pProcessUnKnow)
{
NTSTATUS ntStatus;
UNICODE_STRING usProcessName;
UNICODE_STRING usCalc;
RtlInitUnicodeString (usCalc, L"calc.exe");
GetProcessName(ProcessParameters->ImagePathName.Buffer,usProcessName);
if (0 == RtlCompareUnicodeString (usProcessName, usCalc, TRUE))
{
return 0x80070000;
//
// 这里无论返回什么值,应用层都会弹出一个错误窗口出来,显示进程创建失败。不知道win7 怎么才能阻止窗口弹出来。
//
}
return ((LPFUN_NTCREATEUSERPROCESS)RealNtCreateUserProcess) (ProcessHandle,
ThreadHandle,
Parameter2,
Parameter3,
ProcessSecurityDescriptor,
ThreadSecurityDescriptor,
Parameter6,
Parameter7,
ProcessParameters,
Parameter9,
pProcessUnKnow);
}
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!