Direccion de funcion API
Publicado por Mr. Sade (76 intervenciones) el 15/08/2005 03:55:22
alguien sabe un truco para obtener la verdadera direccion de una API?
@SendMessage no me da la verdadera direccion debido a que Delphi llama a las APIs mediante una tabla de saltos y cuando escribes @SendMessage da la direccion de la tabla. que apunta a otra variable que apunta a la direccion verdadera
se que puedo obtener la direccion verdadera llamando a getprocaddress() pero debe de haber una forma mas facil.
hasta ahora estoy usando esto:
mov eax, dword ptr SendMessage+2
mov eax, [eax]
mov lpSendMessge, eax
;- en delphi seria
lpSendMessge := Pointer(Pointer(Pointer( Integer(@SendMessage)+2 )^)^)
y el compilador de delphi genera esto, pero alguien conoce otra forma?
mov eax @SendMessage
add eax, 2
mov eax, [eax]
mov eax, [eax]
mov lpSendMessge, eax
@SendMessage no me da la verdadera direccion debido a que Delphi llama a las APIs mediante una tabla de saltos y cuando escribes @SendMessage da la direccion de la tabla. que apunta a otra variable que apunta a la direccion verdadera
se que puedo obtener la direccion verdadera llamando a getprocaddress() pero debe de haber una forma mas facil.
hasta ahora estoy usando esto:
mov eax, dword ptr SendMessage+2
mov eax, [eax]
mov lpSendMessge, eax
;- en delphi seria
lpSendMessge := Pointer(Pointer(Pointer( Integer(@SendMessage)+2 )^)^)
y el compilador de delphi genera esto, pero alguien conoce otra forma?
mov eax @SendMessage
add eax, 2
mov eax, [eax]
mov eax, [eax]
mov lpSendMessge, eax
Valora esta pregunta


0