Hola, tengo un problema para traducir un codigo en MASM a FASM.
El codigo es parte de una DLL que inyecto en otro proceso.
(Sirve para llamar a la funcion PostMessage de la libreria user32.dll en ejecutables protegidos con GameGuard)
Codigo en MASM:
Mi traducción del código a FASM:
Gracias.
El codigo es parte de una DLL que inyecto en otro proceso.
(Sirve para llamar a la funcion PostMessage de la libreria user32.dll en ejecutables protegidos con GameGuard)
Codigo en MASM:
Código (asm) [Seleccionar]
Pulsacion proc
LOCAL wParam1:DWORD
LOCAL lParam1:WORD
mov wParam1,VK_SPACE ;Tecla a Pulsar
invoke MapVirtualKey, wParam1,0
mov lParam1, ax ; Mapeo virtual de la tecla y movemos los dos ultimos bytes a lParam1
invoke PostMessageX, hWnd, WM_KEYDOWN, wParam1, lParam1 ; Pulsacion virtual, Tecla en estado presionado.
invoke PostMessageX, hWnd, WM_KEYUP, wParam1, lParam1 ; Pulsacion virtual , tecla en estado de reposo.
ret
Pulsacion endp
PostMessageX proc W:DWORD, X:DWORD, Y:DWORD, Z:DWORD
option prologue:none
option epilogue:none
push ebp ; Trampolin
mov ebp, esp
jmp Salto; El resultado va hacia salto donde tenemos ya guardada nuestro handle del "PostMessage"
PostMessageX endp
Mi traducción del código a FASM:
Código (asm) [Seleccionar]
proc Pulsar
locals
wParam1 dd ?
lParam1 dw ?
endl
mov [wParam1],VK_SPACE
invoke MapVirtualKey,[wParam1],0
mov [lParam1],ax
stdcall PostMessageX,[hwnd],WM_KEYDOWN,[wParam1],[lParam1] ; EL PROBLEMA ESTA AQUÍ
stdcall PostMessageX,[hwnd],WM_KEYUP,[wParam1],[lParam1] ; EL PROBLEMA ESTA AQUÍ
ret
endp
proc PostMessageX W,X,Y,Z
push ebp
mov ebp,esp
jmp [Func]
endp
Gracias.