剿灭“隐形刺客”——Desktop.ini维金(Worm.Viking.m)病毒的变种
套用一句笑话,在编程界,我中毒中的最多,在病毒界,我“消毒”消得最多。很郁闷的是我一直没有摆脱的病毒是Desktop.ini病毒,这个病毒似乎从我很小的时候就跟着我了,我MP3、PDA、各种优盘,里面全部是这类病毒,因为实在是太多文件了,大概2000多个G的文件要杀,最后我索性不管了,但是在编写了“郑大扫帚1kb文件夹病毒专杀”之后,我终于将炮口对准了这个“跟屁虫”。
制作的专杀工具截屏(这个我中途终止了杀毒):
以下是该病毒的简介:
一个名为“维金(Worm.Viking.m)”的病毒正在侵害用户的系统,该病毒是一种运行在Windows平台下,集成“可执行文件感染”、“网络感染”、“下载网络木马或其它病毒”的复合型病毒,具有极强的破坏性。该病毒主要通过共享目录、弱密攻击、感染系统文件、做为邮件的附件等方式进行传播。
病毒运行后将自身伪装成系统正常文件,通过修改用户系统注册表项使病毒开机时即刻自动运行;同时,该病毒利用“线程注入技术”绕过网络防火墙的监视,连接到病毒作者指定的网站,下载特定的木马或其它病毒。感染该病毒后,病毒会从Z盘开始向前搜索所有可用分区中的.exe文件,然后感染所有大小27kb-10mb的可执行文件,感染完毕,会在被感染的文件夹中生成一个处于隐藏状态的系统文件:desktop.ini,如果您的系统中发现此文件,表明您的系统可能已感染此病毒。
该病毒有一个很扯的特点,那就是“广撒网”,几乎在每一个文件夹下都有该文件,还有一个小聪明的特点就是,装“便衣”,所有文件都隐藏,并且与本来的系统中的desktop.ini是那么的相似,只有打开之后才发现他们有本质的不同。
后来呢,怎么办呢?
我改进了扫描速度,只扫描desktop.ini文件,因为我比较痛恨这个病毒,只要见到desktop.ini文件就杀,因为这类文件其实不会太大的影响。
如是改变代码,编写如下:
删除方法(有称过程的等等~~):
Private Sub SearchFileSpec(curpath$)
hFile& = FindFirstFile(curpath$ & FileSpec$, WFD)
If hFile& <> INVALID_HANDLE_VALUE Then
Do
DoEvents
If Not Running% Then Exit Sub
SendMessage hLB&, LB_ADDSTRING, 0, _
ByVal "Kill>>" & curpath$ & Left$(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1)
rval = SetFileAttributes(curpath$ & Left$(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1), attr)
killname = curpath$ & Left$(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1)
Kill killname
Loop While FindNextFile(hFile&, WFD)
Call FindClose(hFile&)
End If
End Sub
重启之后,发现该病毒没有了,我感染的这个只是其中一个不太厉害的变种,否则我早就收拾它了~~哈哈
写这篇,只是来告诉病毒制作者,如果你们的病毒仅仅就创建些进程、复制些文件、强制隐藏、更改注册表,就不要拿出来了,没有新意,没有技术含量,即使做病毒,也要做到极致,再拿出来,对于普通的程序员都会有能力对付这类东西,只是不愿意做而已,因此要制作病毒,就做CIH这种有技术含量的病毒~~另外,奉劝病毒制作者,用你们的技术造福大家!!!不要惹人烦,真的很没意思耶~~~