-
-
[求助]请教一下这段InlineHook为什么会蓝屏呢
-
发表于:
2015-5-4 23:42
5089
-
[求助]请教一下这段InlineHook为什么会蓝屏呢
extern "C" NTSTATUS __declspec(naked)(__stdcall MyNtOpenProcess)(
PHANDLE ProcessHandle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes,
PCLIENT_ID ClientId)
{
NTSTATUS rc;
HANDLE PID;
if( (ClientId != NULL) )
{
PID = ClientId->UniqueProcess;
if(PID==MyPID)
{
//KdPrint(("被保护进程 MyPID=%d \n",(int)MyPID));
// 如果是被保护的PID,则拒绝访问,并将句柄设置为空
ProcessHandle = NULL; //这个是关键
rc = STATUS_ACCESS_DENIED; //这个返回值
__asm
{
retn 0x10 //执行保护后的返回
}
}
}
__asm
{
push 0x0C4
mov edx,RealNtOpenProcess
add edx,5
jmp edx
}
}
大概一分钟左右就蓝屏。ClientId->UniqueProcess也不是这个引起的。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)