Ver Mensaje Individual
  #19  
Antiguo 20-02-2015
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por escafandra Ver Mensaje
Ya entrados en el asunto y para saciar curiosidades, el código funciona de la siguiente manera:

1. Se pretende ejecutar un programa cargado en memoria y no desde un archivo.
2. Crea un nuevo proceso suspendido, en este caso una copia del mismo que se está ejecutando.
3. En el espacio de memoria del nuevo proceso se copian todas las secciones del PE del proceso "escondido en memoria" que pretendemos ejecutar.
4. Terminado este proceso, localizamos el nuevo punto de entrada a nuestro "binario escondido" y ajustamos el Contexto del nuevo proceso alterado para asignarle el nuevo punto de entrada.
5. Para finalizar reactivamos el hilo principal que estaba suspendido hasta este momento.
¡Ah! ¡Qué tiempos aquellos del for i:=1 to 10 writeln('hola');

Impresionante. La verdad, mis respetos escafandra

// Saludos
Responder Con Cita