NDIS Hook果然很方便

2010-9-10 Nie.Meining Coding

今天抽时间尝试了下NDIS Hook,搞了个demo,感觉确实比NDIS中间层驱动方便多了……

点击查看原图

阅读全文>>

评论(0) 浏览(14497)

奇诺反病毒软件的几个漏洞

2010-9-4 Nie.Meining Debug

今天安装奇诺反病毒软件看了看,漏洞挺多的。
奇诺安装好后,会在安装目录下释放两个驱动:KillFile.sys和chenoepro.sys,一个是用来强行杀文件的(通过自己发IRP实现),一个是用来自我保护的(通过inline hook NtOpenProcess实现)。
先看看KillFile.sys驱动,该驱动的IRP_MJ_CREATE和IRP_MJ_CLOSE派遣例程如下:

push    ebp

mov     ebp, esp

mov     eax, [ebp+Irp]

mov     dword ptr [eax+18h], 0

阅读全文>>

评论(0) 浏览(13545)

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掉,所以导致卡死。

阅读全文>>

评论(3) 浏览(15180)

Powered by emlog