Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Can't locate the right address (Achron)

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
Mucker
Newbie cheater
Reputation: 0

Joined: 29 Mar 2012
Posts: 10

PostPosted: Wed Jan 06, 2016 5:02 pm    Post subject: Can't locate the right address (Achron) Reply with quote

So I'm trying to create a simple table for two types of resources in a game called Achron, (can't post URLS, but the game is on steam if you want to have a look.) however I'm unable to, after going through the tutorials, find the right address that writes to either of the resources. From what I've gathered, the first values you find by simply scanning each time you gain/lose some of the resource is just the display value, as the value changes back to it's original value the moment you head back into the game.

What I've tried to do is backtrace to perhaps find the address that writes the actual resource amount. I've tried backtracing through the pointer method as detailed in step 8 of the CE tutorial, but I seem to keep getting stuck with having multiple addresses that don't have anything accessing them, but also don't do anything to the resource value.

What I have noticed however is that the addresses leading up to that point are accessed ~50 times per second, regardless of if the game is paused or not.

I can only assume that the game is doing lots and lots of checks to make sure the the display resource value matches with the actual one.

Anyway, after a bit of finding pointers that point to pointers, I came to a static address, but also two non-static addresses that had nothing writing to them, but the static address did. The text highlighted in red read "move esi, [Achron.exe+00177750], 00177750 was also the address of the guessed pointer.



When I tried to add the static address to the address list as a pointer, along with all the offsets I found along the way, I got a non-existent address and a value of ???.

So as of now, I'm completely stumped on where to go from here. Any ideas? Keep working through the tutorials? I appreciate any suggestions you guys can throw my way. I'm unable to post images as of right now, so I hope my description of my problem is enough for now.
Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Wed Jan 06, 2016 5:34 pm    Post subject: Reply with quote

Sounds like you never actually found the correct address that updated the game.
Finding pointers or instructions touching an invalid address is useless.

Try other data types; 2-byte, float, double.
If increased/decreased scans don't find anything, try changed/unchanged instead.
Back to top
View user's profile Send private message
Mucker
Newbie cheater
Reputation: 0

Joined: 29 Mar 2012
Posts: 10

PostPosted: Wed Jan 06, 2016 6:30 pm    Post subject: Reply with quote

Zanzer wrote:
Sounds like you never actually found the correct address that updated the game.
Finding pointers or instructions touching an invalid address is useless.

Try other data types; 2-byte, float, double.
If increased/decreased scans don't find anything, try changed/unchanged instead.


Gave that a shot after the first address I found didn't work, the same value exists for 1,2,4 and 8 bits - none of which do me any good.
Back to top
View user's profile Send private message
Rydian
Grandmaster Cheater Supreme
Reputation: 31

Joined: 17 Sep 2012
Posts: 1358

PostPosted: Thu Jan 07, 2016 12:15 am    Post subject: Reply with quote

Float, double?

Could also be that the value you're seeing is a combination of the other actual values, or a modification (0s added is common). Do an unknown initial value scan of the all type, then ONLY scan increased/decreased/changed/unchanged to try to find the actual way the game is storing that info.

_________________
Back to top
View user's profile Send private message
Mucker
Newbie cheater
Reputation: 0

Joined: 29 Mar 2012
Posts: 10

PostPosted: Thu Jan 07, 2016 2:30 pm    Post subject: Reply with quote

Rydian wrote:
Float, double?

Could also be that the value you're seeing is a combination of the other actual values, or a modification (0s added is common). Do an unknown initial value scan of the all type, then ONLY scan increased/decreased/changed/unchanged to try to find the actual way the game is storing that info.


Well, I managed to come across some new values, a float and a double that seem to relate to the other values I found earlier. The float and double values are extremely small, the float value being E -42, and the Double being E -132. Modifying any of these values seems to change all the others, however they all still revert back to their original state when I go back in-game.

I noticed some other odd behaviors as well, sometimes when changing a number to be quite a bit larger than it's original values causes one of the display values found to become different from the others.
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Thu Jan 07, 2016 2:46 pm    Post subject: Reply with quote

This game has multiplayer mode. Are the values server-sided?

Anyway, you may want to clarify which mode you are referring to, as discussion of multiplayer games is prohibited.

If the values that you are trying to change are for single-player mode and are handled locally, then you need to keep searching. If traditional search methods are not working, try thinking of different ways to alter the values, indirectly.
Back to top
View user's profile Send private message
Mucker
Newbie cheater
Reputation: 0

Joined: 29 Mar 2012
Posts: 10

PostPosted: Thu Jan 07, 2016 5:26 pm    Post subject: Reply with quote

++METHOS wrote:
This game has multiplayer mode. Are the values server-sided?

Anyway, you may want to clarify which mode you are referring to, as discussion of multiplayer games is prohibited.

If the values that you are trying to change are for single-player mode and are handled locally, then you need to keep searching. If traditional search methods are not working, try thinking of different ways to alter the values, indirectly.


This game HAS multiplayer, but I'm looking for the values for singleplayer. I'll see if I can't find this out myself, but in the mean time I'm open to hints or suggestions and the like.
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Thu Jan 07, 2016 10:46 pm    Post subject: Reply with quote

1. Some values may be encrypted, especially if there is a multiplayer/online mode, so finding them and/or changing them directly may not be possible without additional work. Such values can be manipulated indirectly, sometimes, by altering other things that affect the values in question (e.g. gold can't be changed, but the value or quantity of item sold can).

2. Some 'real' values may not actually get updated until after a certain sequence has played out (e.g. changing screens/locations or end of battle sequence etc.), so 'display' values can be deceiving.

3. When all else fails, scan for unknown initial value of all types and only search for increased/decreased and/or changed/unchanged.

4. If the above doesn't work, try scanning save-game files to locate the value.

5. If you explain what values you are trying to manipulate, someone may be able to help you out.
Back to top
View user's profile Send private message
Mucker
Newbie cheater
Reputation: 0

Joined: 29 Mar 2012
Posts: 10

PostPosted: Fri Jan 08, 2016 1:32 pm    Post subject: Reply with quote

++METHOS wrote:
1. Some values may be encrypted, especially if there is a multiplayer/online mode, so finding them and/or changing them directly may not be possible without additional work. Such values can be manipulated indirectly, sometimes, by altering other things that affect the values in question (e.g. gold can't be changed, but the value or quantity of item sold can).

2. Some 'real' values may not actually get updated until after a certain sequence has played out (e.g. changing screens/locations or end of battle sequence etc.), so 'display' values can be deceiving.

3. When all else fails, scan for unknown initial value of all types and only search for increased/decreased and/or changed/unchanged.

4. If the above doesn't work, try scanning save-game files to locate the value.

5. If you explain what values you are trying to manipulate, someone may be able to help you out.


The values I'm obtaining are for two kinds of resource that are obtained in-game by units that gather them at regular intervals. The values display as integers, and pretty much act like any other regular resource in most other games you could think of.

Another thing that may or may not be of interest is the fact that this game incorporates time travel. You can skip backwards in time to a maximum of about 6 minutes, but you can only edit the past 3 minutes back. By edit I mean like give past units new orders, maybe build a new structure that will be finished by the time it's the present. I mention this because for all I know the game could be working off a totally new and weird system of handling resources throughout all the points in time. The game has a demo if anyone wants to take a look for themselves, otherwise I'll keep working at it.
Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Fri Jan 08, 2016 3:39 pm    Post subject: Reply with quote

It sounds like the game may keep an ongoing list of every action you take and assigns a timestamp to it.
To calculate your total resources, it combines all positive and negative actions within that list.
That way, when you rewind time, it will simply throw out all items with a future timestamp.

Could try to use the following: http://forum.cheatengine.org/viewtopic.php?p=5624204#5624204

So if a unit costs 100 resources, do an initial scan for -100 (negative).
Execute the Lua. Build the unit. Start a new scan for -100. Execute the 2nd Lua.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites