-
-
[旧帖] [求助]进程监控 之卡死屏幕。 0.00雪花
-
发表于: 2012-4-6 22:01 973
-
我写的是一个类似于360的进程监控,就是创建进程时,有用户指定是打开抑或是关闭,在写到驱动和用户的确认信息时,遇到了个问题,一下是我nline后的函数,进程在最后创建时,需要将主线程激活,我就是这个思路,
NTSTATUS DetourResumeThread( IN HANDLE ThreadHandle,
OUT PULONG SuspendCount OPTIONAL )
{
NTSTATUS status;
ULONG TEMP = (ULONG)PsGetCurrentProcessId();
if(isPIDExist(TEMP) == TRUE)
{
__asm int 3;
//只允许一个进程创建
KeWaitForSingleObject(&SysToThread, Executive, KernelMode, 0, 0); ******************关键在于这里,如果一个程序已经到了选择的时候,另外一个程序此时进入该函数的时候,整个屏幕卡死,我查了下几个可能的原因,有的说是此时线程无法切换,或者是驱动在等待导致屏幕卡死,想了很久,不知道如何解决,拜托大侠们给我疏通疏通下筋脉,谢谢
Process_Info.ParentID = (ULONG)PsGetCurrentProcessId();
//通知用户
KeSetEvent(ProcessEvent, 0, 0 );
KeClearEvent(ProcessEvent);
//等到用户的选择
KeWaitForSingleObject(&TerminateItselfEvent, Executive, KernelMode,0 ,0);
DeletePID(Process_Info.ParentID);
KeSetEvent(&SysToThread, 0, 0);
if (Process_Info.allow == START)
status = OriginResumeThread(ThreadHandle, SuspendCount);
else
status = 0xFFFFFFFF;
}
else
status = OriginResumeThread(ThreadHandle, SuspendCount);
return status;
}
看了一个相关的,他的却不卡屏幕,不知道他为什么不卡,感觉我们的效果一样
http://bbs.pediy.com/showthread.php?t=128733 真的想了很久,还是无法解决呢
NTSTATUS DetourResumeThread( IN HANDLE ThreadHandle,
OUT PULONG SuspendCount OPTIONAL )
{
NTSTATUS status;
ULONG TEMP = (ULONG)PsGetCurrentProcessId();
if(isPIDExist(TEMP) == TRUE)
{
__asm int 3;
//只允许一个进程创建
KeWaitForSingleObject(&SysToThread, Executive, KernelMode, 0, 0); ******************关键在于这里,如果一个程序已经到了选择的时候,另外一个程序此时进入该函数的时候,整个屏幕卡死,我查了下几个可能的原因,有的说是此时线程无法切换,或者是驱动在等待导致屏幕卡死,想了很久,不知道如何解决,拜托大侠们给我疏通疏通下筋脉,谢谢
Process_Info.ParentID = (ULONG)PsGetCurrentProcessId();
//通知用户
KeSetEvent(ProcessEvent, 0, 0 );
KeClearEvent(ProcessEvent);
//等到用户的选择
KeWaitForSingleObject(&TerminateItselfEvent, Executive, KernelMode,0 ,0);
DeletePID(Process_Info.ParentID);
KeSetEvent(&SysToThread, 0, 0);
if (Process_Info.allow == START)
status = OriginResumeThread(ThreadHandle, SuspendCount);
else
status = 0xFFFFFFFF;
}
else
status = OriginResumeThread(ThreadHandle, SuspendCount);
return status;
}
看了一个相关的,他的却不卡屏幕,不知道他为什么不卡,感觉我们的效果一样
http://bbs.pediy.com/showthread.php?t=128733 真的想了很久,还是无法解决呢
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- [求助]进程监控 之卡死屏幕。 974
- [求助]加载NTOSKREL 的基址的问题 1441
- [原创]新人来袭,~努力学习驱动~ 1432
看原图
赞赏
雪币:
留言: