| View previous topic :: View next topic |
| Author |
Message |
Autem Expert Cheater
Reputation: 1
Joined: 30 Jan 2023 Posts: 156
|
Posted: Sun Jun 11, 2023 12:08 am Post subject: (Question for DB added) Other ways to find a timer value |
|
|
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 |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25806 Location: The netherlands
|
Posted: Sun Jun 11, 2023 3:29 am Post subject: |
|
|
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 |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sun Jun 11, 2023 3:57 am Post subject: |
|
|
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 |
|
 |
Autem Expert Cheater
Reputation: 1
Joined: 30 Jan 2023 Posts: 156
|
Posted: Sun Jun 11, 2023 11:37 am Post subject: |
|
|
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 |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sun Jun 11, 2023 12:38 pm Post subject: |
|
|
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 |
|
 |
Autem Expert Cheater
Reputation: 1
Joined: 30 Jan 2023 Posts: 156
|
Posted: Sun Jun 11, 2023 1:43 pm Post subject: |
|
|
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 |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sun Jun 11, 2023 2:34 pm Post subject: |
|
|
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 |
|
 |
Autem Expert Cheater
Reputation: 1
Joined: 30 Jan 2023 Posts: 156
|
Posted: Sun Jun 11, 2023 3:15 pm Post subject: |
|
|
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 |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Sun Jun 11, 2023 3:59 pm Post subject: |
|
|
| It should process them automatically if there is anything there. Same with strings, I believe.
|
|
| Back to top |
|
 |
Autem Expert Cheater
Reputation: 1
Joined: 30 Jan 2023 Posts: 156
|
Posted: Mon Jun 12, 2023 5:54 pm Post subject: |
|
|
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 |
|
 |
ParkourPenguin I post too much
Reputation: 152
Joined: 06 Jul 2014 Posts: 4706
|
Posted: Mon Jun 12, 2023 10:08 pm Post subject: |
|
|
| 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 |
|
 |
|