
这种手段一点也不高级,更谈不上技术。禁止杀毒软件相应文件名的程序启动,只不过是在注册表IFEO项写入几个键值而已。
至于关闭有杀毒字眼的窗口,也并不是非常复杂的。EnumWindows遍历窗口,在返回的程序自定义的EnumWindowsProc函数中,用GetWindowText得到窗口标题的字符串,然后与程序保存的“黑名单”比对,发现其中包含“黑色单”中的字眼时,马上关闭这个窗口(向窗口发送WM_CLOSE消息,或者结束窗口所在进程)。
以前病毒经常用EnumProcess遍历进程,然后TerminateProcess结束特定进程。但是现在由于杀毒软件对自身的进程保护能力提高,用OpenProcess没那么容易获得可结束杀毒软件进程的句柄了,所以病毒才需要采取更加“下三滥”的手段。
如果杀毒软件程序成功初始化之后,病毒就没那么容易出手了,所以IFEO劫持才成为选择,因为程序总归要初始化,很多手脚都是在初始化成功之前动的。这不是杀毒软件问题,而是由于这个是系统的设置,在这种情况下,杀毒软件进程根本就没被系统创建(一双击杀毒软件程序,系统按照这个文件名,直接转而执行IFEO指向的文件了,根本就没有执行原来的程序),连初始化的机会都没有了。