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 


How to find adjacent values

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
NSpe
How do I cheat?
Reputation: 0

Joined: 24 Aug 2021
Posts: 3

PostPosted: Tue Aug 24, 2021 6:09 pm    Post subject: How to find adjacent values Reply with quote

Good day everyone!

For a start, I just registered here and got such message at first log on, probably little bug or something:
Code:
phpBB : Critical Error

Error updating last visit time

DEBUG MODE

SQL Error : 1366 Incorrect integer value: '' for column 'user_last_nonowner_fnid' at row 1

UPDATE cephpbb_users SET user_session_time = 1629847984, user_session_page = 0, user_lastvisit = 1629847984 ,user_lastip='-_-' ,user_lastfnid='560547', user_last_nonowner_fnid='', user_previouslastip='' WHERE user_id = 560547

Line : 303
File : sessions.php


My question is, is there a way to search for adjacent values — for example, when you have several in-game parameters that are usually used together, such as 10 Strength, 15 Dexterity, 13 Intelligence etc; can you somehow search for values 10 15 13 .. to find out where they are used side by side in the code?

Edit: And, as an extension for this question, is there a way to search for something like player coordinates using an algorithm like this:
Search for three adjacent unknown values
Move player
Search three changed
..Repeat..
Don't move
Search three unchanged
..Repeat..
If there is more than one three-value item, somehow (how?) search for player position signs
Back to top
View user's profile Send private message
Birdi
Expert Cheater
Reputation: 0

Joined: 08 Jun 2020
Posts: 124
Location: Migrating

PostPosted: Tue Aug 24, 2021 6:42 pm    Post subject: Reply with quote

It depends on how the game stores those values.
There's a possibility they're stored literally like that, as single bytes, in smaller/older games:
Code:

//10 15 13 11 09 18
//0A 0F 0D 0B 09 12


In that case you can just aobscan for that array of bytes (0A 0F 0D 0B 09 12) and it should find them if it exists. If you're unsure use the gray setting on the "writable" and "executable" scan options.

More likely values like these are stored as 4byte integers in memory, or possibly even floats.

4bytes:
Code:

//10 ** ** ** 15 ** ** ** 13 ** ** ** 11 ** ** ** 09 ** ** ** 18 ** ** **
//0A 00 00 00 0F 00 00 00 0D 00 00 00 0B 00 00 00 09 00 00 00 12 00 00 00


Floats:
Code:

//10 ** ** ** 15 ** ** ** 13 ** ** ** 11 ** ** ** 09 ** ** ** 18 ** ** **
//00 00 20 41 00 00 70 41 00 00 50 41 00 00 30 41 00 00 10 41 00 00 90 41


They might not even be directly adjacent to each other in memory, and may be separated by further offsets.. you have to tinker around if you're working blindly. It's easier to find them by scanning changed values and seeing how they look manually from there.

+Edit:

Finding coordinates is not super easy, but you can often find them by looking at your Z (height) coordinate in 3D games, or either X or Y in 2D games.

Scanning your changing height should be very easy since you know it's either higher or lower directly, compared to an otherwise unknown X or Y axis. Some engines will have easier ways to find these, like UE4 games you may use the Universal Unreal Console Unlocker tool to gain access to the console and a basic engine debug command will show you the coordinates of player objects, etc. Coordinates are almost always floats.

_________________
Trying to learn!

Add me on Discord if you want hands-on help:
Birdi.
Back to top
View user's profile Send private message Visit poster's website
NSpe
How do I cheat?
Reputation: 0

Joined: 24 Aug 2021
Posts: 3

PostPosted: Tue Aug 24, 2021 8:10 pm    Post subject: Reply with quote

Thanks a lot for byte search suggestion, especially for conversion examples (I just started learning depths of CE and this is very helpful).

As you said, there may be something between the desired values, so it will be hard to search without the abilities similar to regex search. Does CE have them?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4718

PostPosted: Tue Aug 24, 2021 8:52 pm    Post subject: Reply with quote

There's a "grouped" value type you can look into.
_________________
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
NSpe
How do I cheat?
Reputation: 0

Joined: 24 Aug 2021
Posts: 3

PostPosted: Wed Aug 25, 2021 10:01 pm    Post subject: Reply with quote

ParkourPenguin wrote:
There's a "grouped" value type you can look into.

Thanks! It seems to be what I was looking for
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