unpatterned allocation of entities

06/23/2024 10:31 Kayow#1
I'm currently trying to develop my first cheat, a Brawlhalla one. I'm using Cheat Engine (CE) to find a pointer chain to the local player entity and found this chains:

"Adobe AIR.dll"+ 01315500 ] + 608 ] + 8 ] + DD0

"THREADSTACK0"- 00000A38 ] + 148 ] + 6C ] + 8 ] + DD0

The "THREADSTACK0" is a CE symbol, i'll not explain how can you obtain that in c++ but here's a detailed video on it:

However, I noticed that this doesn't point to the local player entity but to a player entity, which could be either myself or an enemy. Additionally, I found that adding or subtracting 0x118 from that address points to different player entities.

Everything was fine until I realized that in an online match (with EAC disabled), this pointer chain is unreliable. The player entities jump around in memory, either moving forward or backward by 0x118 * x. They don't follow a predictable pattern, and my guess is that each time a new match starts, these entities are reallocated to the first available stack space. :confused:

Is there anything I can do to predict this behavior? Or any directions I should follow to fix this issue?
07/02/2024 14:42 Omdi#2
Quote:
"Adobe AIR.dll"+ 01315500 ] + 608 ] + 8 ] + DD0

"THREADSTACK0"- 00000A38 ] + 148 ] + 6C ] + 8 ] + DD0
Those two look wrong, try to look for chains where the main game executable/dll is the base.
02/13/2025 00:33 Kayow#3
Quote:
Originally Posted by Omdi View Post
Those two look wrong, try to look for chains where the main game executable/dll is the base.
Yeah, i was being quite dumb..
Managed to find a perfect one! Adobe Air was the base dll tho.