某管家的自我保护很挫啊

2010-8-24 Nie.Meining Debug

今天看了看某管家的自我保护。用XueTr查看发现它的驱动对NtTerminateProcess进行了SSDT Hook。
于是逆向该驱动,把里面的FakeNtTerminateProcess抓出来看了看,发现该管家做事情相当纠结啊!
FakeNtTerminateProcess一开始先调用IoGetCurrentProcess()和PsGetCurrentProcessId()获得当前进程(即调用NtTerminateProcess的进程)的eproc和pid。
由于FakeNtTerminateProcess的参数中有目标进程的handle,于是它接下来通过ObReferenceObjectByHandle()由handle获得了目标进程的eproc。
接着通过对比当前进程的eproc和目标进程(即被terminate的进程)的eproc是否相等,来确定是不是自己结束自己,如果是就放行了。
如果不是自己结束自己,它又通过ObOpenObjectByPointer()将目标进程的eproc转换回参数里本来就有的handle(开始纠结了),然后通过ZwQueryInformationProcess()函数由handle获取目标进程的pid。这下他就有了当前进程和目标进程的pid,接下来他用当前进程和目标进程的pid分别取出这两个进程的名字。取法相当不给力:

阅读全文>>

评论(0) 浏览(23404)

hookport中的自我保护

2010-8-9 Nie.Meining Debug

今天无聊,看了下hookport中的自我保护部分。
360在KiFastCallEntry+0xe5的位置进行了hook,并且是两段跳,如图:
点击查看原图
360在DriverEntry的最后调用sub_18FB2()函数对hook点的第一段跳进行保护,sub_18FB2代码如图:

阅读全文>>

评论(1) 浏览(3711)

郁闷的卡死bug

2010-4-9 Nie.Meining Debug

调试了好久才找到问题,修改cr0后,如果在改回来之前发生过线程切换会很郁闷……

阅读全文>>

评论(0) 浏览(12803)

鬼影里的ZwSystemDebugControl

2010-3-21 Nie.Meining Debug

/***************************************************************************************

*

分析了一下鬼影病毒,从里面扒了段代码出来。

*

该段代码调用 ZwDebugSystemControl  Ring3 恢复 SSDT,并摘除

* PsSetLoadImageNotifyRoutinePsSetCreateProcessNotifyRoutine

* PsSetCreateThreadNotifyRoutine 三个钩子。

*

代码里 bug 较多,我用注释标示出来了,保留原味儿,未做修改。

阅读全文>>

评论(0) 浏览(3291)

一个非常劣质的钓鱼网站

2009-12-25 Nie.Meining Debug

昨天晚上先加我飞信,名字叫“同学”。今天名字改为“尊敬的”,然后往我手机上发短信,告诉我中奖了,去xx网站领。去那网站看了一下,很失望:

<td width="434"><p align="center"领取验证码:<strong>

    <input type="password" maxlength="8" size="10" name="myText" />

        <input type="submit" value="验证领取" name="myButton" />

            <script language="vbs" type="text/vbs">

                cont=1

                sub myButton_Onclick()

阅读全文>>

评论(0) 浏览(12823)

Powered by emlog