View previous topic :: View next topic |
Author |
Message |
Astaroth4256 Advanced Cheater
Reputation: 0
Joined: 25 May 2014 Posts: 59
|
Posted: Thu Jun 30, 2016 7:49 am Post subject: How is this string address allocated |
|
|
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 |
|
 |
hhhuut Grandmaster Cheater
Reputation: 6
Joined: 08 Feb 2015 Posts: 607
|
Posted: Thu Jun 30, 2016 7:56 am Post subject: |
|
|
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 |
|
 |
Astaroth4256 Advanced Cheater
Reputation: 0
Joined: 25 May 2014 Posts: 59
|
Posted: Thu Jun 30, 2016 7:57 am Post subject: |
|
|
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 |
|
 |
hhhuut Grandmaster Cheater
Reputation: 6
Joined: 08 Feb 2015 Posts: 607
|
Posted: Thu Jun 30, 2016 7:59 am Post subject: |
|
|
Did you scan for the longer player string manually again?
|
|
Back to top |
|
 |
Astaroth4256 Advanced Cheater
Reputation: 0
Joined: 25 May 2014 Posts: 59
|
Posted: Thu Jun 30, 2016 8:06 am Post subject: |
|
|
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 |
|
 |
M-Z Advanced Cheater
Reputation: 1
Joined: 08 Nov 2014 Posts: 77 Location: Poland
|
Posted: Thu Jun 30, 2016 10:56 am Post subject: |
|
|
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.
Description: |
|
Filesize: |
1.26 MB |
Viewed: |
4790 Time(s) |

|
|
|
Back to top |
|
 |
Astaroth4256 Advanced Cheater
Reputation: 0
Joined: 25 May 2014 Posts: 59
|
Posted: Fri Jul 01, 2016 3:47 pm Post subject: |
|
|
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 |
|
 |
M-Z Advanced Cheater
Reputation: 1
Joined: 08 Nov 2014 Posts: 77 Location: Poland
|
Posted: Fri Jul 01, 2016 4:21 pm Post subject: |
|
|
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 |
|
 |
|