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 


(Question for DB added) Other ways to find a timer value

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
Autem
Expert Cheater
Reputation: 1

Joined: 30 Jan 2023
Posts: 156

PostPosted: Sun Jun 11, 2023 12:08 am    Post subject: (Question for DB added) Other ways to find a timer value Reply with quote

I've found timers many times in many games. Usually they're floats or 2 byte, in my own experiences.

Recently I've found myself in a situation that even after dozens of tries, coming back to it several different days to try again, searching for every value type, and even covering both ascending and descending unknown initial value changes in case it's counting up instead of down. Still nothing.

What are some other ways one might find a timer if it almost seems like it doesn't even exist? It goes for about 30 seconds and during that 30 seconds is the only chance I have to scan for it because it only happens once per match.


Last edited by Autem on Mon Jun 12, 2023 5:55 pm; edited 1 time in total
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25806
Location: The netherlands

PostPosted: Sun Jun 11, 2023 3:29 am    Post subject: Reply with quote

Could be each time a new object is created with the endtime set.

e.g event starts: objectX is created with endtime set at currentgametime+30000

then while the game is running objectX is checked each time to see if the currentgametime >= objectX's endtime. And if so, destroy objectX and do stuff

As for finding it, not sure. Try finding what's accessing gametime and what it gets compared to ?

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sun Jun 11, 2023 3:57 am    Post subject: Reply with quote

In my experience, it could be a lot of different things. Sometimes, I have even had to use ultimap to find and control timers.

In some cases, the timer digits are treated as separate values, especially in cases with much older games.

Depending on the target (or environment), you may need to use a custom scan type, such as float big endian or similar.

In some cases, as DB suggested, the timer may actually be multiple timers or events etc..

The cool thing about ultimap or code filter etc., is that you can more-easily narrow in on a call (or jump) that is used, in lieu of trying to find some hidden timer value.

In terms of value searching, though, be sure to make use of the speedhack feature, if possible, so that you can make the most out of your limited scanning window. You can also set CE to pause during scanning to give you even more time.
Back to top
View user's profile Send private message
Autem
Expert Cheater
Reputation: 1

Joined: 30 Jan 2023
Posts: 156

PostPosted: Sun Jun 11, 2023 11:37 am    Post subject: Reply with quote

DB, that's a great point and something I hadn't thought of. Will definitely try that. Thanks for the idea.

Methos, I am a fan of Ultimap and would love using it but am a little unsure when it comes to a timer? I can't see the actual exact timer on screen, so I can't necessarily check for a code execution every time it descends by a number. In the past when I tried to use Ultimap to narrow down what gets executed at the end of the timer (as to avoid the ending effects) there are just far too many that are isolated to only executing at that exact split second when the timer has ended and everything changes.

With Ultimap, is there a way to tell it in advance that you are only interested in all instances of ONLY a specific instruction type? Like let's say I am only wanting to see something that involves "inc" and is increasing some value? If Ultimap can't pinpoint specifics like that, is there another way to do what I'm thinking? Similar to how when you scan for a normal value you can tell it in advance the ones you want. Can I do that if I want to find all the times an "inc" or some other specified instruction hits within the following window of time?
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sun Jun 11, 2023 12:38 pm    Post subject: Reply with quote

Think of ultimap as a tool that can detect when something has happened or not; an event, an effect or even the start of a timer etc.. You do not need to know any specifics, in most cases.

There are various ways to scan for when something hasn't happened, such as entering the menu screen or pausing the game etc., that can help to filter out unwanted calls.

If the timer or event is executed multiple times, then you will want to be sure to do your filtering-out at an appropriate time, else you may filter out a good call.
Back to top
View user's profile Send private message
Autem
Expert Cheater
Reputation: 1

Joined: 30 Jan 2023
Posts: 156

PostPosted: Sun Jun 11, 2023 1:43 pm    Post subject: Reply with quote

Is there any way with CE to specifically see if an exact instruction type is happening and only show those? I have had success with Ultimap for other endeavors many times but it doesn't seem to have this option I'm wondering about. Not sure if I am explaining right what I am wondering how to do...

Like if I want to only see all the "inc" instructions that happen during a small window of time? Or only look for "dec" instructions that happen during a small window of time? Is there a way to get that specific with what you want to see the results for? I was thinking maybe code filter would do something like that but from what I can tell it doesn't seem to. Any possible way at all? Even if I need something other than CE?

Basically a "show me all the times that an 'inc' gets executed in the next X amount of milliseconds" or how many times it was executed in the last 1 or 2 seconds, etc... something like that. So then I could just have a (possibly small) list of 'inc' instructions to sift thru and test to see if they're the one?
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sun Jun 11, 2023 2:34 pm    Post subject: Reply with quote

Not sure. Maybe DB can confirm.

I think, even if you could do that, it may not be good since you may not be dealing with that kind of instruction.

Ultimap will give you calls, however, that you can easily nullify to see if you are on the right track.

You can use the referenced functions tool, but unless the target provides a lot of game data, then that will likely not be efficient.

Some 3rd-party tools may give you more information as well, in terms functions, strings and so forth.

Maybe there are better ways, but I am not aware of any outside of what has been discussed here; at least, nothing that currently comes to my mind.
Back to top
View user's profile Send private message
Autem
Expert Cheater
Reputation: 1

Joined: 30 Jan 2023
Posts: 156

PostPosted: Sun Jun 11, 2023 3:15 pm    Post subject: Reply with quote

I never tried the referenced functions tool before. I tried it just now by going to: memory viewer > view > referenced functions

And a window appears but has nothing for me to configure, and no results ever appear in it even after a long time passes with a lot of things happening in game. Am I doing something wrong for this tool or what should be happening?
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sun Jun 11, 2023 3:59 pm    Post subject: Reply with quote

It should process them automatically if there is anything there. Same with strings, I believe.
Back to top
View user's profile Send private message
Autem
Expert Cheater
Reputation: 1

Joined: 30 Jan 2023
Posts: 156

PostPosted: Mon Jun 12, 2023 5:54 pm    Post subject: Reply with quote

Can DB or anyone else confirm if this is possible, and if so, how to do it? I have run out of options I think, otherwise...

Quote:
Is there any way with CE to specifically see if an exact instruction type is happening and only show those? I have had success with Ultimap for other endeavors many times but it doesn't seem to have this option I'm wondering about. Not sure if I am explaining right what I am wondering how to do...

Like if I want to only see all the "inc" instructions that happen during a small window of time? Or only look for "dec" instructions that happen during a small window of time? Is there a way to get that specific with what you want to see the results for? I was thinking maybe code filter would do something like that but from what I can tell it doesn't seem to. Any possible way at all? Even if I need something other than CE?

Basically a "show me all the times that an 'inc' (or whatever other code I specify) gets executed in the next X amount of milliseconds" or how many times it was executed in the last 1 or 2 seconds, etc... something like that. So then I could just have a (possibly small) list of 'inc' instructions to sift thru and test to see if they're the one?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4706

PostPosted: Mon Jun 12, 2023 10:08 pm    Post subject: Reply with quote

Quote:
Like if I want to only see all the "inc" instructions that happen during a small window of time?
No. Even if there was a way, that wouldn't work. There's an infinite number of ways you can add 1 to a value. `inc`, add 1, subtract -1, and `lea` trickery would be the most common.
_________________
I don't know where I'm going, but I'll figure it out when I get there.
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