API Hooking (C++)

(1/3) > >>

HaX991:
hola estoy auyudando a un amigo a parhear una api pero intentamos de todo y no lo logramos..

lib  = psapi.dll
api = EnumProcesses

La api comienza aqui:
76BB3A9A > $ 6A 1C PUSH 1C
76BB3A9C . 68 C83BBB76 PUSH psapi.76BB3BC8
76BB3AA1 . E8 5BDBFFFF CALL psapi.76BB1601
76BB3AA6 . BE 00800000 MOV ESI,8000
76BB3AAB . 8975 E4 MOV DWORD PTR SS:[EBP-1C],ESI
76BB3AAE . 56 PUSH ESI
76BB3AAF . 8B3D B810BB76 MOV EDI,DWORD PTR DS:[<&KERNEL32.LocalAl>; kernel32.LocalAlloc
76BB3AB5 . EB 25 JMP SHORT psapi.76BB3ADC

cuantos bytes abria que cojer?

pd: usamos dll inyeccion

Gracias, saludos!!

Horricreu:
Léete este taller de MazarD, muy bueno:

Código:

http://mazard.info/tutos/apihooking.pdf

Saludos :P

Eternal Idol:
Si usas el metodo mas comun de poner un jmp a tu direccion (5 bytes) tenes que guardar en memoria, para ejecutar despues si queres llamar a la funcion original, las dos primeras instrucciones (7 bytes).

HaX991:
gracias pero probe desde 5,7,9,18,20 y peta igalmennte ...

si hookeo otra api va de lujo pero esa no se como hacerlo...

yo creo k son 7bytes pero k tengo k recalcular la distancia de salto...

[Zero]:
Pon el código de como lo estas haciendo, el salto (E9) son 5 bytes, y tu cojes 7, seguro saltas 7-5=2 bytes antes de donde tienes que saltar, con un debuger puedes verlo  :P.

Saludos

Navegación

[0] Índice de Mensajes

[#] Página Siguiente