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 is this string address allocated

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

Joined: 25 May 2014
Posts: 59

PostPosted: Thu Jun 30, 2016 7:49 am    Post subject: How is this string address allocated Reply with quote

I managed to find a player structure and inside that I found an address with player's name (offset 21C), I added that pointer to the cheat table, the name was short - around 10 characters long. Then I logged on another account with also a short name (around 8 characters long), the pointer was still valid. Then I did it again, I logged on an account with a character with a long name (around 15) and the pointer wasn't valid any more so I looked up the player structure and addresses like character's location were valid but I couldn't find the character name inside that structure.

I'd like to understand why the long character name wasn't in the player structure any more, could someone explain?
Back to top
View user's profile Send private message
hhhuut
Grandmaster Cheater
Reputation: 6

Joined: 08 Feb 2015
Posts: 607

PostPosted: Thu Jun 30, 2016 7:56 am    Post subject: Reply with quote

Are you sure that your strcture-pointer was still valid? Perhpas it didn't point to the correct structure you wanted to see ...
Back to top
View user's profile Send private message
Astaroth4256
Advanced Cheater
Reputation: 0

Joined: 25 May 2014
Posts: 59

PostPosted: Thu Jun 30, 2016 7:57 am    Post subject: Reply with quote

hhhuut wrote:
Are you sure that your strcture-pointer was still valid? Perhpas it didn't point to the correct structure you wanted to see ...


I have said that the other values like character's location, energy, level and such were still valid. 3 characters with short names (6 to 10 characters) had their name saved inside that player structure, but the character with long name (15 characters) didn't have it's name inside the player structure.
Back to top
View user's profile Send private message
hhhuut
Grandmaster Cheater
Reputation: 6

Joined: 08 Feb 2015
Posts: 607

PostPosted: Thu Jun 30, 2016 7:59 am    Post subject: Reply with quote

Did you scan for the longer player string manually again?
Back to top
View user's profile Send private message
Astaroth4256
Advanced Cheater
Reputation: 0

Joined: 25 May 2014
Posts: 59

PostPosted: Thu Jun 30, 2016 8:06 am    Post subject: Reply with quote

hhhuut wrote:
Did you scan for the longer player string manually again?

No, as I said before it's a pointer that uses the player's structure base address and character's name offset which was 21C for the 3 characters. For the long one I manually looked through the entire player structure and was not able to find the character's name inside the structure.
Back to top
View user's profile Send private message
M-Z
Advanced Cheater
Reputation: 1

Joined: 08 Nov 2014
Posts: 77
Location: Poland

PostPosted: Thu Jun 30, 2016 10:56 am    Post subject: Reply with quote

It is probably some library thing. Some common library chooses this way of handling strings. Do not despair, the name is almost in the same place.


eu-strings.png
 Description:
 Filesize:  1.26 MB
 Viewed:  4792 Time(s)

eu-strings.png


Back to top
View user's profile Send private message Send e-mail
Astaroth4256
Advanced Cheater
Reputation: 0

Joined: 25 May 2014
Posts: 59

PostPosted: Fri Jul 01, 2016 3:47 pm    Post subject: Reply with quote

I see, well that explains where the string goes to(thanks) but I'm still curious why that one library allocates strings in this way. I'd ask on a programming forums but the community would just burn me for "cheating" games
Back to top
View user's profile Send private message
M-Z
Advanced Cheater
Reputation: 1

Joined: 08 Nov 2014
Posts: 77
Location: Poland

PostPosted: Fri Jul 01, 2016 4:21 pm    Post subject: Reply with quote

One thing that comes to mind is that authors wanted to assure that this structure will not be longer than 16+something bytes. In order for example not to get too much performance penalty if objects using these type of strings are put into table (vector) rather than list.
Back to top
View user's profile Send private message Send e-mail
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