Hi everbody!
I'm trying to call this address on Rakion: "CPlayer::AquireGoldSword"...
But my code does nott work мм
Anyone can help me? I don't know if the problem is the account parameter or the way how I call the address >.<
Thx!
Code:
ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл
.386 ; create 32 bit code
.model flat, stdcall ; 32 bit memory model
option casemap :none ; case sensitive
; include files
; ~~~~~~~~~~~~~
include \masm32\include\windows.inc
include \masm32\include\masm32.inc
include \masm32\include\gdi32.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\Comctl32.inc
include \masm32\include\comdlg32.inc
include \masm32\include\shell32.inc
include \masm32\include\oleaut32.inc
include \masm32\include\dialogs.inc
include \masm32\macros\macros.asm ; the macro file
; libraries
; ~~~~~~~~~
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\gdi32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\Comctl32.lib
includelib \masm32\lib\comdlg32.lib
includelib \masm32\lib\shell32.lib
includelib \masm32\lib\oleaut32.lib
; ----------------------------------------
; prototypes for local procedures go here
; ----------------------------------------
.data
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;data seg
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.const
DllName db 'Engine.dll', 0
FunName1 db '?GetPlayerEntity@CEntity@@SAPAV1@J@Z', 0
FunName2 db '?IsLocalEntity@CEntity@@QAEHXZ', 0
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;code seg
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.code
getPlayer proc uses ebx roomNumber:DWORD
invoke GetModuleHandle, addr DllName
mov ebx, eax
invoke GetProcAddress, ebx, addr FunName1
push roomNumber
call eax
ret
getPlayer endp
isCurrentEntity proc uses ebx ecx entity:PVOID
invoke GetModuleHandle, addr DllName
mov ebx, eax;
invoke GetProcAddress, ebx, addr FunName1
mov ecx, entity
call eax
ret
isCurrentEntity endp
getCurrentPlayer proc uses ebx
xor ebx, ebx
.while(ebx < 20)
invoke getPlayer, ebx
.if(eax)
invoke isCurrentEntity, eax
.if(eax)
jmp @F
.endif
.endif
inc ebx
.endw
@@: ret
getCurrentPlayer endp
;beginning point
start:
invoke Sleep, 100
invoke GetAsyncKeyState, VK_F1
test eax, eax
jz @b
@b:
call dword ptr ds:[CPlayer::AquireGoldSword]
invoke ExitProcess, NULL
end start