| View previous topic :: View next topic |
| Author |
Message |
sullx Cheater
Reputation: 0
Joined: 03 Jan 2013 Posts: 37
|
Posted: Fri Jan 04, 2013 6:16 pm Post subject: Movement speed pointer manipulation |
|
|
Ok, so I am somewhat new to memory hacking but not with programming by any means. The game is a mmorpg. After much work I have successfully bypassed the protection on my game. Now I believe I have isolated the pointers related to 'movement speed' in the game and want to attempt to increase the movement speed. This is where I am a bit uncertain, manually changing the value with cheat engine and 'activating' the change has no effect. The pointers value changes briefly but quickly resets back to its usual value.
I definitely have isolated the right pointer value. I have tried narrowing down the base with a pointer scan. Got it down from 16M to around 70k, pointers. Should I keep going until I have just 1? I was unable to find the base pointer manually using 'find what writes/accesses this address' as it was continuously written and accessed while running the debugger, and changing my movement speed in game didnt produce any unique 'writes'/'accesses'.
Any guidance here is appreciated! Thanks.
---edit---
Ok I tried reducing the list more by restarting and rescanning. It seems that my list is now irreducible. It will not decrease past 70k pointers.
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 475
Joined: 09 May 2003 Posts: 25973 Location: The netherlands
|
Posted: Fri Jan 04, 2013 7:02 pm Post subject: |
|
|
Before messing with pointers, first make sure that the address you're changing actually has an effect in the game.
If it doesn't, then pointers are useless.
Anyhow, perhaps the value is stored in a different way than you've found, and what you found is a display thing only
_________________
Tools give you results. Knowledge gives you control.
Like my help? Join me on Patreon so i can keep helping |
|
| Back to top |
|
 |
sullx Cheater
Reputation: 0
Joined: 03 Jan 2013 Posts: 37
|
Posted: Fri Jan 04, 2013 8:53 pm Post subject: |
|
|
Interesting, that is something I had not considered.
So are you saying that once I have found the correct memory address in game, when I change it and activate it, it should stay the value I desire and make the change in game? That seems a bit too easy. Aren't there ways that the developers code with pointers that prevent this simple manipulation?
I still feel like this is the right memory address. The pointer I have is a float. It correctly scales with the buffs/injuries one takes (ie when you fall of a cliff and take damage you get a -20% movement speed, this 20% decrease registers correctly to a 20% decrease in the value of the memory address I found). But I still have the same issue, when I manually set it to something else and click the activate tick box, it doesn't result in any noticeable change. And the value in CE flicks back and forth between the value I am forcing it to and the previous value (the value the game wants it to be).
Side note: when I do a scan to see what writes/accesses the pointer both result in a continuous stream of operations. They are all the same but just count up rapidly. I believe the opcode is always 'fstp dword ptr'
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 475
Joined: 09 May 2003 Posts: 25973 Location: The netherlands
|
Posted: Sat Jan 05, 2013 3:23 am Post subject: |
|
|
Yes, only if changing the value in the game has an effect it's the correct address, else it's a display address.
And sure, a developer can play with pointers, but then the value of the address would be wrong as well and never get updated again. Since it keeps getting updated, it's most likely just a temporary display value.
Take for example a progressbar that goes from 0.0 to 1.0
And in game the health is stored as a value between 22781 and 81723
so when your health is at 30000 you're at 12.24%
Every gametick the game will tell the progressbar object that it should set the position to 0.1224
Now, when you scan for float for a value between 0 and 1, you will find the address of the progressbar object, but not the real health
_________________
Tools give you results. Knowledge gives you control.
Like my help? Join me on Patreon so i can keep helping |
|
| Back to top |
|
 |
|