Ver Mensaje Individual
  #16  
Antiguo 22-02-2007
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 ArdiIIa
Espero aclararte algo roman.
Hola, muchas gracias. Ahora tengo un panorama general más claro aunque desde luego tengo que meterme en cada detalle. Para empezar, ¿en qué parte del SDK puedo encontrar información acerca del FileHeader, DosHeader, OptionalHeader, etc.?

Ahora bien, lo del IMAGEBASE sigue sin quedarme claro. Tal como dices, el programa funciona aún sin él, pero entonces ¿por qué es necesario si se tratase de una dll? ¿No vale el mismo proceso del VirtualAlloc?

Cita:
Empezado por seoane
Un ejemplo tipico en ambos casos, es hacer "subclassing"
A ver, tratar de liarme con ambas técnicas al mismo tiempo va a estar de locos pero vamos allá. Según creo recordar, en los tiempos del windows de 16 bits, el subclassing era tan sencillo como hacer un

Código Delphi [-]
SetWindowLong(hWnd, GWL_WNDPROC, LongInt(@WindowProc))

con lo que sustituíamos el procedimiento de ventana de la ventana hWnd con el nuestro WindowProc. Al llegar los 32 bits, también llegó esto:

Cita:
Empezado por SDK de Windows
The SetWindowLong function fails if the window specified by the hWnd parameter does not belong to the same process as the calling thread.
con lo cual se anulaba la diversión. Sin embargo veo que usas esto mismo en tu código (de ahí copié la línea de código anterior )

Entonces, inyectamos el código en el otro proceso precisamente para ser parte de él y poder hacer el subclassing. ¿Es esto correcto o nada que ver?

Otra cosa: ¿una dll siempre se inyecta? Es decir, cuando un proceso ejecuta código de una dll, ¿Windows mapea ese código dentro del espacio del proceso?

Muchas gracias a ambos.

pd: Entonces, ¿la técnica de ArdiIIa ya nos permitiría inyectar a WinLogon e interceptar el famoso Ctrl+Alt+Supr?

// Saludos
Responder Con Cita