Page 1 of 1

Pointers periodically changing addresses during game

Posted: Thu May 10, 2018 12:12 pm
by SunBeam
That's what happens when you wrongly consider Pointer Scan to be the solution for your troubles. I keep telling people to verify their pointers, that they are being used by the game engine and not some temporary storage for operations. No one listens. Just simply scan for a pointer, find one that's convenient at a given moment in time, then whine "they change" :) Of course it may happen. Find a proper one and it won't. Additional question: are you 100% sure the list you're showing above works for another person on their PC/OS? Think of that.

Pointers periodically changing addresses during game

Posted: Thu May 10, 2018 12:23 pm
by SunBeam
The "blink" effect is the memory spot used as a temporary container for swapped addresses (XCHG [src],dest; or just temp MOV [addr],val). Try debugging the location and see what writes to it and where it happens, if you're interested.

Else, just find a stable pointer [B]and debug[/B] each level of it, starting from base. And when I say 'debug each level', I mean add to list each address you see when you open up the pointer tree. Then manually "find out what accesses this" and make sure there isn't any instruction that shows variability (such as MOV EAX,[ECX+ESI*4+8]). If that's the case, you don't have a working pointer, as that level of the pointer relies on a dynamic offset, which changes based on certain engine rules (e.g.: ESI can be 1 in first map, can be 2 on second map, etc.; so your pointer level will shift every 4 bytes, as you change game maps; just an example).

How's that for knowledge? :)

[QUOTE="MistahIncognito, post: 45400, member: 17166"][B]Edit[/B]:

In case it's not apparent, the address of the first pointer is going from P->48151808 to P->???????? to P->48151808. The gif is looping, but you are actually seeing the address stop resolving and resolve again.[/QUOTE]

As I mentioned, it's not a good pointer for you to use; there's no "fix"; discard it and find a stable one.