Hola, tengo una pequeña duda con esta api, les cuento:
necesito que ecx me devuelva la dirección de la API ntdll.KiFastSystemCallRet
por lo que se me ocurrió saberlo con GetProcAddress, los parámetros son:
FARPROC GetProcAddress(
HMODULE hModule, // handle to DLL module
LPCSTR lpProcName // name of function
PUSH KiFastSystemCallRet
PUSH Manejador de ntdll
Call GetProcAddress
pero el manejador tengo entendido que se obtiene con GetModuleHandle:
HMODULE GetModuleHandle(
LPCTSTR lpModuleName // address of module name to return handle for
);
pero mi duda es que pongo cuando llame a esa API?, no me quedó claro
PD:no sé ASM
Saludos jeje
edit: en palabras fáciles como obtengo el adress de ntdll.KiFastSystemCallRet desde el olly
Saludos
Solo pushea el puntero a la string de la dll que queres saber su direccion.
A la string la podes escribir vos.
slds
por lo que me comentaste entonces si por ejemplo yo hago:
push ntdll.KiFastSystemCallRet si pongo esto en ollydbg en el ensamblador, en cualquier computador funcionaría? ya que ese es mi objetivo
Saludos
Citarntdll.KiFastSystemCallRet
te serviria solamente si pones FOLLOW IN DUMB>>Inmdiat constante y te aparece la cadena que necesitas, en este caso "KiFastSystemCallRet\0"
Para GetModuleHandle necesitas PUSHear un puntero a la string "NTDLL.DLL". Asi obtienes la ImageBase (hModule) del modulo.
Ya con eso puedes llamar a GetProcAddress, pasandole el valor anterior y otro puntero al nombre de la funcion "KiFastSystemCallRet".
Y listo... :P
Perfecto, Todo aclarado muchas gracias, saludos