-
Member
[Help][SL 9.2.7] GetObjectPtr
Hi, trying to call GetObjectPtr at 0x1A782C0 (__int64 __fastcall GetObjectPtr(WGUID *a1, int a2)):
Code:
__int64 __fastcall GetObjectPtr (wGUID* guid, int typemask)
{
return ((__int64(__fastcall*)(wGUID*, int))(Hook::baseAddress + 0x1A782C0))(guid, typemask);
}
wGUID guid = playerData.me->wguid;
auto pointer = GetObjectPtr (&guid, 32);
the call seems to be correct, but it causes a crash
function at 185EBE0 (no args) causes a crash too
Code:
__int64 GetObjectPtr_0()
{
return GetObjectPtr(&stru_3720E80, 32);
}
Last edited by Trogg; 04-12-2024 at 12:44 PM.
-
Contributor
You're crashing because it has a return address check in it. Meaning, wherever it is being called from needs to match the criteria of the check (somewhere in the WoW .text, i.e. the valid calls)
The ret checks in SL though weren't as thorough as the ones now, so you can trick it from where you're calling from easily with some assembly, and a ROP gadget
-
Post Thanks / Like - 2 Thanks
TheSmokie,
Trogg (2 members gave Thanks to scizzydo for this useful post)