Why would value be stored as x43?
Why would value be stored as x43?
I've been playing an early access game (Dragon Cliff, if it matters) and been making myself a table each update, no problem. Most values have been stored as "double", because there's a lot of percentage increases and decreases in the game, so hey, easy find. Each time I found a value, there was two entries for each; one that if edited/locked, immediately changed anyway, and one that worked. This time, there's still an accurate address for the uneditable value, but the one that WORKS is... as the topic title suggests, the amount I have x43. So if I want, say, 10000 gold, I edit this address to 430000 and it works. I can still edit it, so in the end I succeeded, but... why 43? Especially since it wasn't this way until the latest major update (which did change the "caps" on both experience and gold, if it matters), I just can't find anything special about 43. There some programming wizardry that makes this make sense?
Re: Why would value be stored as x43?
Some naive attempt at anti-cheat, perhaps.
Re: Why would value be stored as x43?
Because your real value is most likely not stored as Double and you edit only part of it; or you edit more than you're supposed to. Browse the location in memory, earn gold, and see what changes. Also stop following others' tutorials.
Re: Why would value be stored as x43?
Thanks for the tip. It seems i still have trouble finding the correct address. Anyone could point me to a tutorial, please?
I use the debuger and try to find the addres that access the money, but none of the addreses change anything.
I use the debuger and try to find the addres that access the money, but none of the addreses change anything.
Why would value be stored as x43?
I can't figure this out either. The x43 of the double value is not working for me.
Why would value be stored as x43?
nevermind
Last edited by Ze6rah on Thu Jan 01, 1970 12:00 am, edited 1 time in total.
Why would value be stored as x43?
Try "Find out what writes to this address" or "Find out what accesses to this address" to your address.
From there you can get values real address or value type.
Ex:
if you see assembly code like that "fld [ecx+60]" your address must be Float. and if you look "Show register states" , you will see what ecx contains then add 60 in hex. you will get real address.
ex: "movss [eax+80],xmm0" again this is float address
"mov byte ptr [ecx+80],00" This is byte address
"mov [ecx+80],eax" This is 4 byte address
"mov dword ptr [ecx+80],eax" This is 8 byte address
I cant remember how to move double values so cant give an example, but you can see an explanation inside memory view of ce.
Good luck?
From there you can get values real address or value type.
Ex:
if you see assembly code like that "fld [ecx+60]" your address must be Float. and if you look "Show register states" , you will see what ecx contains then add 60 in hex. you will get real address.
ex: "movss [eax+80],xmm0" again this is float address
"mov byte ptr [ecx+80],00" This is byte address
"mov [ecx+80],eax" This is 4 byte address
"mov dword ptr [ecx+80],eax" This is 8 byte address
I cant remember how to move double values so cant give an example, but you can see an explanation inside memory view of ce.
Good luck?
Who is online
Users browsing this forum: No registered users