below code -> ent is a class , modulebase is of type uintptr_t.
i understand whats happening here
|
ent* localplayer = (ent*)*(uintptr_t*)(modulebase+0x676907)
|
but the same code can written as
ent* localplayer = *(ent**)(modulebase+0x676907)
can someone help me understand whats happening here , i understand how ** pointer to pointer works , but really confused here
Last edited on
In both cases, you're:
- generating a temporary pointer of type uintptr_t, with the same value in each case
- casting it to a pointer-to-a-pointer
- dereferencing it to get another pointer, with the same value in each case (because all pointers are just integers)
- ending up with an ent*, with the same value in each case