Cheat Engine: Getting ingame chat

11/12/2017 03:36 p4rz1val#1
Hi, i'm trying to get the last message in a chat from a game, like this:

https://i.imgur.com/Ylcu0nl.png

Im trying to get the Base address to the last message, but sadly i'm not getting any results, in the first scan i'm getting aroud 2,000 results but in the rescan i'm getting 0, this is the memory view of the original address i found in cheat engine:

https://i.imgur.com/uQwhx4a.png

And this is my pointer scan configuration:

https://i.imgur.com/JIPr8Eg.png

Dunno what i'm doing wrong, every address i find MUST have a base address or are there any exceptions? What about the pointer scan max level, should i set it higher?
11/12/2017 11:13 florian0#2
It really depends on how the memory of the client is structured.
Lets assume its some kind of list because that makes sense.
If its an array-like list with fixed size, there is no reason to store a pointer to the last element other than needing it for a really special purpose.
If its a dynamic list, there might be a reason to store a pointer to the last element. And if the dynamic list has preserved elements for performance reasons, the pointer will not point to the last message, but to the last entry.
So lots of factors.

The memory shows some repeated pattern. That can indicate a fixed size list but it also can mean nothing at all, as this data can be leftover from a previous application. So be really careful with this assumption.
On a fixed list, you'll find a pointer to the list-start and a number of elements in that list. Maybe also an offset to the start depending on how they actually use the fixed size memory.

Also, the address of the text might not be the address you are looking for. The text might be part of a structure that's referenced with an offset. This is another level the pointer scanner has to resolve.

I recommend you to step one level up and get into reverse engineering so you don't have to assume and guess. You can just look inside and see.
I've found this Youtube video that explains how to find pointers without the scanner:
11/13/2017 02:16 p4rz1val#3
Quote:
Originally Posted by florian0 View Post
It really depends on how the memory of the client is structured.
Lets assume its some kind of list because that makes sense.
If its an array-like list with fixed size, there is no reason to store a pointer to the last element other than needing it for a really special purpose.
If its a dynamic list, there might be a reason to store a pointer to the last element. And if the dynamic list has preserved elements for performance reasons, the pointer will not point to the last message, but to the last entry.
So lots of factors...
Thank you so so much! I'll watch the video, i guess reverse engineering is the way to go, thanks!