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