360自带了一个简单的模块用来检测启动项等条目的装入、修改等动作,不过虽说是简单,但是也给木马们带来一些麻烦,这不一个小程序就用简单的方法挂掉了这简单的防御:

(具体过程请见:http://safelab.spaces.live.com/blog/cns!A6B213403DBD59AF!1822.entry

本文来自http://www.sacour.cn,转载保留

启动后程序会搜索有AFX:400000:0类名的顶层窗口(MFC的窗口?)找到后程序会看看标题,如果有360什么的那就是了,然后程序构造了N个mouse_event。

mouse_event (http://msdn.microsoft.com/en-us/library/ms646260(VS.85).aspx)

 The mouse_event function synthesizes mouse motion and button clicks.

mouse_event 函数用于创建鼠标动作和鼠标按钮点击

Windows NT/2000/XP: This function has been superseded. Use SendInput instead.

Win NT/2K/XP: 此函数已经被废弃(不过肯定还是能用的),使用SendInput来代替。

Syntax:

VOID mouse_event( 
    DWORD dwFlags,
    DWORD dx,
    DWORD dy,
    DWORD dwData,
    ULONG_PTR dwExtraInfo
);

程序获取hklm\software\microsoft\windows\currentversion\app paths\360safe.exe的值,找到360的安装位置(path键),然后组合到%s\safemon\360mon.dat,并用MoveFileA把他移走(到%s\tmp),这个文件是360监控的规则保存文件,移走当然就代表以前的规则全部报废了,然后呢,程序会找“允许此动作”和“总是执行相同动作”的位置,并用2个mouse_event点击下去,当然程序也会找“允许”的位置,以防万一。最后程序找到按钮“确定”的位置,一次mouse_event,完成,那么这样这个不管什么都是永久被允许安装的了……这个防御当然就形同虚设了。

相比来说,卡巴斯基(QQ远程帮人杀毒时候郁闷过啊~)貌似是处理了mouse_event函数,远程点击的时候根本无效,所以360还是有必要修下这个问题的。

.

图:360报警窗口