Code:
:SCM_MessageBox // 0AB1: /* [SP/MP] */ call_scm_func @SCM_MessageBox params 4 | hWnd 0@ lpText 1@ lpCaption 2@ uType 3@ | _errorCode 31@ |
0AA2: 25@ = load_library "User32.DLL"
0AA4: 26@ = get_proc_address "MessageBoxA" library 25@
0AA7: call_function 26@ num_params 4 pop FALSE | uType 3@ lpCaption 2@ lpText 1@ hWnd 0@ | _errorCode 27@ |
0AA3: free_library 25@
0AB2: RET 1 | _errorCode 27@ |
Example:
Code:
{$CLEO}
0AC6: 0@ = label @lpText offset
0AC6: 1@ = label @lpCaption offset
WHILE TRUE
0001: WAIT FALSE
IF 0ADC: test_cheat "1"
THEN
0AB1: /* [SP/MP] */ call_scm_func @SCM_GetForegroundWindow params FALSE || HWND 2@ |
0AB1: /* [SP/MP] */ call_scm_func @SCM_MessageBox params 4 | hWnd 2@ lpText 0@ lpCaption 1@ uType 0x00000000 | _errorCode 31@ |
END
END
:SCM_GetForegroundWindow // 0AB1: /* [SP/MP] */ call_scm_func @SCM_GetForegroundWindow params FALSE || HWND 31@ |
0AA2: 25@ = load_library "User32.DLL"
0AA4: 26@ = get_proc_address "GetForegroundWindow" library 25@
0AA7: call_function 26@ num_params 0 pop FALSE || HWND 27@ |
0AA3: free_library 25@
0AB2: RET 1 | HWND 27@ |
:SCM_MessageBox // 0AB1: /* [SP/MP] */ call_scm_func @SCM_MessageBox params 4 | hWnd 0@ lpText 1@ lpCaption 2@ uType 3@ | _errorCode 31@ |
0AA2: 25@ = load_library "User32.DLL"
0AA4: 26@ = get_proc_address "MessageBoxA" library 25@
0AA7: call_function 26@ num_params 4 pop FALSE | uType 3@ lpCaption 2@ lpText 1@ hWnd 0@ | _errorCode 27@ |
0AA3: free_library 25@
0AB2: RET 1 | _errorCode 27@ |
:lpText
HEX
"MessageBox" 0
END
:lpCaption
HEX
"Fuckyou" 0
END