Ver Mensaje Individual
  #4  
Antiguo 07-08-2013
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Aclarando dudas:
Cita:
Empezado por Jais Ver Mensaje
¿porque obtenemos la dirección de LoadLibrary?
Estudia la API CreateRemoteThread, el 4 parámetro precisa un puntero a una función y el 5 es un puntero que se pasará a la dicha función.

LoadLibrary es la API que se usa para cargar una dll en el proceso actual y usa un parámetro que es el nombre de la dll. La inyección se basa en obligar a otro proceso a cargar una dll, CreateRemoteThread hace esa función ejecutando en el proceso anfitrión LoadLibrary con el nombre de la dll que queremos inyectar. Por eso necesitamos conocer un puntero a Loadlíbrary y reservar memoria en el espacio de direcciones del priceso anfitrión para escribir el nombre de la dll que pasaremos a LoadLibrary. El truco se basa en que las direcciones de las APIs del sistema son idénticas para todos los procesos.

Cita:
Empezado por Jais Ver Mensaje
...este codigo no funciona en Sistemas Operativos de 64 bits. ¿Por que razon no funciona?
Un proceso compilado para 32bits no puede usar una dll compilada para 32bits, por lo tanto
no se puede inyectar código compilado para 32bits en un proceso 64bits.


Saludos.
Responder Con Cita