PsRemoveLoadImageNotifyRoutine卡死

2010-9-2 Nie.Meining Debug

帮某同学调了个卡死问题,可能还有人也遇到过类似情况,干脆记录下来。
程序卡死在PsRemoveLoadImageNotifyRoutine处,但是问题实际上出在NotifyRoutine中,程序在NotifyRoutine中做了如下操作:

if (wcsstr(FullImageName->Buffer,L"NOTEPAD.EXE") != NULL) {

    KillProcess(ProcessId);    //ZwTerminateProcess实现

}

 

如果发现是记事本的映像,则结束进程。但是要知道,该回调函数正是运行在记事本的进程空间中的,所以KillProcess是在结束自己!当然KillProcess就不会返回,导致回调函数也不会返回。而PsRemoveLoadImageNotifyRoutine函数会等待回调函数都结束,然后把内存free掉,所以导致卡死。

评论:

Xogal77
2017-08-25 01:57
http://riu-grozny.ru/?option=com_k2&view=itemlist&task=user&id=5686, http://www.tdecor.com/?option=com_k2&view=itemlist&task=user&id=2314 buy bupron sr 2gm one time dose, http://www.tobiaextreme.com/?option=com_k2&view=itemlist&task=user&id=5733 http://americanvisiongroup.com/?option=com_k2&view=itemlist&task=user&id=11898, http://www.ciezaenlared.com/?option=com_k2&view=itemlist&task=user&id=5874, http://www.sz-kehlen.de/?option=com_k2&view=itemlist&task=user&id=1245
hello world
2014-07-24 21:15
今天遇到类似的情况,请问应该如何正确结束进程呢?
123
2018-06-07 19:11
@hello world:这种情况怎么解决呢?

发表评论:

Powered by emlog