Ver Mensaje Individual
  #8  
Antiguo 09-09-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Reputación: 29
delphi.com.ar Va camino a la fama
Digamos funcionar funciona, los dos ejecutables quedan unidos en un único archivo que solo tu sabrás para que sirve... Si el exe que queda en la parte inicial del archivo no tiene ninguna protección, se ejecutará sin problemas sin enterarse de la existencia de lo que hayas agregado al final del mismo...
Prueba esto:
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
  fsDestino: TFileStream;

  procedure AddToStream(AFileName: TFileName);
  var
    fsOrigen: TFileStream;
  begin
    fsOrigen := TFileStream.Create(AFileName, fmOpenRead);
    Try
      fsDestino.CopyFrom(fsOrigen, fsOrigen.Size);
    finally
      fsOrigen.Free;
    end;
  end;
begin
  fsDestino := TFileStream.Create('C:\MIEXE.EXE', fmCreate);
  Try
    AddToStream('C:\WINDOWS\CALC.EXE');
    AddToStream('C:\WINDOWS\NOTEPAD.EXE');
  finally
    fsDestino.Free;
  end;
  WinExec('C:\MIEXE.EXE', SW_SHOW);
end;
Veras como la calculadora funciona normalmente, sin enterarse de la existencia del block de notas en el mismo archivo.
El comportamiento normal de muchos virus, sobre todos los virus de DOS, era agregar su código a la cola del archivo, y modificar el inicio de ejecución del exe, haciendo que primero se ejecute el virus y luego inicie el programa con normalidad. La mayoría de los troyanos de Windows, aprovechan las ventajas de los archivos de recursos y el instalador no es mas que un programa hecho por el mismo programador que instala un dato que tiene en el recurso.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita