Problema con CreateRemoteThread y Win7 64 bits??

Iniciado por APOKLIPTICO, 16 Noviembre 2012, 06:47 AM

0 Miembros y 1 Visitante están viendo este tema.

APOKLIPTICO

Okay replanteo la pregunta.
Estoy tratando de hacer un hook desde un programa de 32 bits a uno de 64.

Traté de modificar la zona donde está el call a la función que quiero hookear (ntQuerySystemInformation) primero desprotegiéndola con virtualprotectEx, pero este me tira error 487 (INVALID ADDRESS) lo que me llevó a pensar que puede ser que esté tomando mal la dirección, la cual saqué utilizando getprocaddress desde el programa de 32 bits. Hay alguna manera de traducirlas de 32 a 64 bits para poder utilizarlas??

También probé ejecutando la función que hace el hook desde el programa de 64 bits utilizando CreateRemoteThread, pero me da un error 5 (ACCESS DENIED).
Alguna idea
Gracias!
Un abrazo
APOKLIPTICO.
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.

x64core

Cita de: APOKLIPTICO en 16 Noviembre 2012, 06:47 AM
Okay replanteo la pregunta.
Estoy tratando de hacer un hook desde un programa de 32 bits a uno de 64.

Traté de modificar la zona donde está el call a la función que quiero hookear (ntQuerySystemInformation) primero desprotegiéndola con virtualprotectEx, pero este me tira error 487 (INVALID ADDRESS) lo que me llevó a pensar que puede ser que esté tomando mal la dirección, la cual saqué utilizando getprocaddress desde el programa de 32 bits. Hay alguna manera de traducirlas de 32 a 64 bits para poder utilizarlas??

También probé ejecutando la función que hace el hook desde el programa de 64 bits utilizando CreateRemoteThread, pero me da un error 5 (ACCESS DENIED).
Alguna idea
Gracias!
Un abrazo
APOKLIPTICO.

Así que lo que quieres hacer es modificar unos bytes desde tu aplicación de 32-bits a un proceso de 64-bit cierto?
y utilizaste GetProcAddress para obtener la direccion de NtquerySystemInformation y lo hiciste desde tu applicacion de 32-bits pensado que ibas a obtener la dirección
De NtquerySystemInformation del proceso objetivo? Es broma verdad?
CreateRemoteThread no va a crear nada desde tu proceso de 32-bit a un proceso de 64 bits, Por ejemplo si la funcion que quiere hookear sobre pasa el direccionamiento al que se puede acceder desde x86 (4GB). Generalmente la gente perezosa tiene un array a los bytes de 64-bits y los inyecta en el proceso, luego obtienen la direccion
de la funcion y la hookean.

APOKLIPTICO

Okay, tranqui che, estoy aprendiendo. Y funciona perfectamente con los procesos de 32 bits.
Explicame como es eso de inyectar el array de 64 bits. Y como harían las personas "no perezosas"?
AMD Phenom II 1075T X6 @ 290 Mhz x 11 (HT 2036 Mhz NB Link 2616 Mhz) 1.23 Vcore
ASUS M4A89GTD-PRO/USB3
2x2gb G-Skill RipjawsX DDR3 1600 Mhz CL7 (7-8-7-24-25-1T)
Seagate 500 Gb
XFX HD4850 512Mb GDDR3. 650 Mhz/995 Mhz 1.1 Tflops.

x64core

Cita de: APOKLIPTICO en 20 Noviembre 2012, 01:38 AM
RHL: Entonces, después de ponerte increiblemente condescendiente y pedante conmigo ni siquiera respondés la pregunta??
[sarcasmo] Re bien lo tuyo eh! Asi queremos a los usuarios de elhacker.net! [/sarcasmo]

Perdon no me habia podido conectar te he enviado un link con el codigo fuente por mensaje privado, apreciaría que dijeras que
el tema fue resuelto  ::)