Hello everyone!
I am trying to call SendMovementUpdate but I am not having much success. The address for the function (574380) I got from the dump thread (4.3.4).
I used OllyDBG to get the arguments of the function and I came down to this:
Code:
"push 0x19FC30", // Hardcoded for now to match WoW's way of calling - Also tried "push 0", as it is in older expansions, but it doesn't work
"push 0x19FC40" , // Hardcoded for now to match WoW's way of calling - Also tried "push 0", as it is in older expansions, but it doesn't work
"push 0x7914",
"push " + (uint)Environment.TickCount,
"mov ecx, 0x" + PlayerPointer.ToString("X"),
"call 0x00574380",
"retn",
However, it crashes.
I am calling the same way WoW does (when I rotate the camera). Then, I compare the stack/registers when I call it, producing the same stack/registers.
ps: I have this function already working with 2.4.3 but it uses Player_Base_Address instead of Player_Pointer (as I called) in 4.3.4 which, I found to be Player.Base_Address + 0x100 (that Wow uses as an argument for the SendMovementFunction).
Here are the comparison of stack and registers:
a.png
b.png
What am I missing here? I've been going back and forth for the past 3 days but I'm stuck.
I tried to follow the code as deep as I could before it gives an exception, but it is so deep that I couldn't follow to address the problem.
Probably not helpful but it gives an exception here, when executing PUSHAD:
c.png
Thanks!