当前位置:文档之家› 实验3 简单VBS病毒的编写

实验3 简单VBS病毒的编写

int CopyFile(const char* srcName,const char* dstName)
{
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路径
相关主题