 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
Attack Cheater
Reputation: 0
Joined: 21 Mar 2011 Posts: 46 Location: Canada
|
Posted: Thu May 09, 2013 5:49 pm Post subject: Game timer |
|
|
| Hi, I am playing DLC Quest at the moment and there are some achievements for beating the game under certain times. I am about 5-10 minutes off. Open CE, but I cannot for the life of me figure out how to get the times. Tried searching for individual values, added up, unknown increasing/decreasing. So I really don't know where to go from there.
|
|
| Back to top |
|
 |
jucce Advanced Cheater
Reputation: 1
Joined: 02 Apr 2013 Posts: 99
|
Posted: Fri May 10, 2013 2:16 pm Post subject: Re: Game timer |
|
|
| Attack wrote: | | Hi, I am playing DLC Quest at the moment and there are some achievements for beating the game under certain times. I am about 5-10 minutes off. Open CE, but I cannot for the life of me figure out how to get the times. Tried searching for individual values, added up, unknown increasing/decreasing. So I really don't know where to go from there. | Can you save the game? I think your best bet is to use decreased/increased value scan. Scan, play for a while, search for increased values. But mix it up and reload a save so you can search for decreased values or pause and search for unchanged values if possible.
However there might be a fundamental problem if they simply save the current time when you start and then save the current time at the end, calculating the difference. Then there is no running counter to change. Is there a clock that shows your time somewhere on screen?
|
|
| Back to top |
|
 |
Attack Cheater
Reputation: 0
Joined: 21 Mar 2011 Posts: 46 Location: Canada
|
Posted: Fri May 10, 2013 2:19 pm Post subject: |
|
|
Yes, there is a visible counter. I have figured out that I was approaching it very, very wrong.
Using the save game I can find the stored time. I can search for that value after I load the game. From there it's pointers, but I haven't used CE since Civ 5 came out, so it will take a lot of time before I can figure this out again
EDIT: OK, so maybe someone can help me, because I have become lost.
So the save file stores the time in millionth of a second... yeah. So for example, I open the save file and find this number: 6658500947, i.e. 11m5s...
Now I can find this number, but it's static. It is accessed to calculate the ongoing time as a base. So I can change it to 0, but that does not stop the time running. I can alter it up and down, but that doesn't help my cause.
The on going timer that uses this as a base, cannot be found, so there is some code, somewhere that I need to find
Only thing I can do is check what accesses the value, there are two lines
mov eax,[ecx]
mov edx,[ecx+04]
ecx being the address to my value. I don't even recognise any of this anymore. The tutorials are honestly not helping as they always deal with write access, not read.
Now I can save and quit to see some ore instructions, but that is no good, as they are then gone.
How do I go about tracing eax or edx further to hopefully find where the increasing counter is coming from so I can freeze or remove it?
|
|
| Back to top |
|
 |
jucce Advanced Cheater
Reputation: 1
Joined: 02 Apr 2013 Posts: 99
|
Posted: Sat May 11, 2013 1:03 pm Post subject: |
|
|
What if you edit the value in the save game? Subtract a couple of minutes then completing it under the time limit should be easy.
Alternatively hit "Show disassembler" when you have the code lines that access the value selected, then try to follow the code and see what happens with the base time.
You can also try replacing those two lines with "nop", reloading the save and hope that you will now start from a lower base. It's also possible to use code injection to change the base before it is read.
|
|
| Back to top |
|
 |
Attack Cheater
Reputation: 0
Joined: 21 Mar 2011 Posts: 46 Location: Canada
|
Posted: Sat May 11, 2013 2:21 pm Post subject: |
|
|
| It tracks the time from a new game. A save doesn't work as it has to be in one session
|
|
| Back to top |
|
 |
Gniarf Grandmaster Cheater Supreme
Reputation: 43
Joined: 12 Mar 2012 Posts: 1285
|
Posted: Sat May 11, 2013 3:57 pm Post subject: |
|
|
Did you try the following theory: the game uses 2 variables to store the time. One stores the number of seconds (or mili/micro seconds) and one stores the number of minutes. That would defeat increased/decreased/not changed searches if you're not careful because the second counter is reset every minute.
So the idea would be new game, unknown value, wait 1mn 10s, increased value (by 1?), wait 30s, unchanged....
And another possibility is an encrypted timer, in which case just use the changed/unchanged filtering methods.
And yet another one, since you have to play in one session, is that they store only the start time, and repeatedly compute now-start_time.
|
|
| Back to top |
|
 |
|
|
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
|
|