“欢乐时光”,想必大家都听说过了,本狐也不幸遭遇了此病毒。:-(
  虽然最新杀毒程序都能杀“欢乐时光”,但像滇狐这样用盗版,就没有免费升级的条件了。买一份正版的?可我穷啊!还是等编辑给我寄来稿费后再支持正版吧!没有杀毒软件,可机器还是要用的,只有自己写一份杀毒程序了!
  有正版杀毒软件的朋友,不妨也看看自制简易杀毒程序的写法,了解一下原理也是好的。
  先简要介绍一下编程思路吧。

  首先,清除内存驻留病毒。
  如果内存中有病毒,杀掉硬盘上的病毒后,内存中的还会再次感染硬盘文件,杀毒的工作就白做了。“欢乐时光”运行时,内存中驻留了“MSHta.exe”或“WScript.exe”。我们只要找到这两个文件并结束任务就可以了。怎样找驻留内存的程序呢?很简单,2000年第4期《电脑爱好者》中《用Delphi实现关闭正在运行的程序》一文有详细介绍,我就不抄袭他的作品骗稿费了。虽然那篇文章是用Delphi写的,但大部分代码都是在调用Api,移植到VC下应该是很容易的。另外,Borland C++例题中的PView95也提供了一段ProcessWalk代码,很好用。滇狐的代码就是从那里摘抄后稍加改编得到的。

  清除了内存病毒后,下面我们就可以放心大胆地杀灭硬盘文件中的病毒了。
  欢乐时光在硬盘上创建“Help.vbs”、“Help.hta”和“Untitled.htm”,这几个文件是病毒主体,要直接删除,绝对不留活口。但病毒还传染了成百上千的无辜的硬盘文件,也许还有用。特别是Windows\Web目录下的文件,删除它们后,文件夹“按Web页查看”带来的图片预览等许多实用的功能就没了。直接将染毒文件删除是不行的,需要修复。
  欢乐时光传染Html文件(.html,.htm,.htt)时,在文件代码中添加“<script language='VBScript'>”和“</script>” ,在其间放置病毒代码;传染Asp(.asp)文件时,在文件代码中添加“<%”和“%>” ,在其间放置病毒代码;传染Vbs(.vbs)文件时,直接在文件尾部放置病毒代码。病毒代码中有“Rem I am sorry! happy time”字样,在处理Html和Asp文件时,可作为判断病毒代码的依据,以防“误伤”正常Script代码。而在处理Vbs时,将这行和这行后的所有代码删除即可。

  杀灭了硬盘病毒后,再到注册表中做一些“善后”工作。
  病毒在“HKEY_CURRENT_USER\Software”下添加了“Help”主键,并在“HKEY_CURRENT_USER\Identities\{你的用户名ID}\Software\Microsoft\Outlook Express\5.0\Mail”下添加了“Stationery Name”键值,使你在发信时将病毒发送给你的朋友。将这几处地方删除就可以了。
  好了,不多说了。如果你中毒了的话,就赶快下载吧!