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 


Game timer

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Attack
Cheater
Reputation: 0

Joined: 21 Mar 2011
Posts: 46
Location: Canada

PostPosted: Thu May 09, 2013 5:49 pm    Post subject: Game timer Reply with quote

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
View user's profile Send private message
jucce
Advanced Cheater
Reputation: 1

Joined: 02 Apr 2013
Posts: 99

PostPosted: Fri May 10, 2013 2:16 pm    Post subject: Re: Game timer Reply with quote

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
View user's profile Send private message
Attack
Cheater
Reputation: 0

Joined: 21 Mar 2011
Posts: 46
Location: Canada

PostPosted: Fri May 10, 2013 2:19 pm    Post subject: Reply with quote

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
View user's profile Send private message
jucce
Advanced Cheater
Reputation: 1

Joined: 02 Apr 2013
Posts: 99

PostPosted: Sat May 11, 2013 1:03 pm    Post subject: Reply with quote

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
View user's profile Send private message
Attack
Cheater
Reputation: 0

Joined: 21 Mar 2011
Posts: 46
Location: Canada

PostPosted: Sat May 11, 2013 2:21 pm    Post subject: Reply with quote

It tracks the time from a new game. A save doesn't work as it has to be in one session
Back to top
View user's profile Send private message
Gniarf
Grandmaster Cheater Supreme
Reputation: 43

Joined: 12 Mar 2012
Posts: 1285

PostPosted: Sat May 11, 2013 3:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine 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