-
-
[求助][求助]关于ZwSuspendThread函数执行失败的奇怪问题
-
-
[求助][求助]关于ZwSuspendThread函数执行失败的奇怪问题
我的目标是想挂起System进程中某个线程,现在的情况是,能够通过ZwOpenThread函数打开目标线程句柄,并且标志设置成了THREAD_SUSPEND_RESUME,ZwSuspendThread函数地址也动态获取到了,但执行ZwSuspendThread函数失败,具体表现为,在WinDbg中单步到:
nStatus = ZwSuspendThread(hHandle, PreviousSuspendCount)这条指令后,如果继续单步的话,无法继续执行下去,nStatus状态貌似也没有返回,网上搜遍也没有找到合适的结果,我曾经在调用该函数之前执行如下操作:
nStatus = \
ObReferenceObjectByHandle(hHandle, THREAD_SUSPEND_RESUME,NULL,KernelMode,(PVOID*)&pEThread,NULL);
目标线程的ETHREAD地址也获取正确,执行上面这句没问题,nStatus状态也返回正确,就是到执行ZwSuspendThread的时候失败,百思不得其解,望遇到过该问题的朋友和大牛们帮忙分析下原因。。万分感谢!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!