Solved Player array

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

PePPeRmix

Newbie
Full Member
Feb 14, 2016
5
244
0
Hello every one!

Sorry for my english.

Please help me figure out, how to find correct players array, i just confused, 7 days lost to find it via pointer scanner, with different settings, and haven't good result.
I found here good solution, which as i think help me find static address for Array.
But this Array content only 4 players of 5... offsets is 520, 560, 570, 580


After it i found another player, but he got another link for Array, and this Array have all 5 players, lost(found) player offset is 0, other players is 520, 560, 570, 580
Why this happen?
I found again wrong array?
How to detect end of array, maybe i just watch not all previos array.
If i found right array, how to read all offset of array and understand it's player, couse this array content another NPCs as i see... after reconnect array got different offsets.

Please help me figure it.
 

Rake

Cesspool Admin
Administrator
Jan 21, 2014
12,164
78,998
2,399
You need to find a pointer to the player array.
Is 7FFCEC684C50 a good pointer to your array or no?

Sometimes the array won't include your local/client player.

Pointer Scanning Like a Boss

How to find Entity List Assault Cube
 
Last edited:

PePPeRmix

Newbie
Full Member
Feb 14, 2016
5
244
0
Rake;40338 said:
You need to find a pointer to the player array.
Is 7FFCEC684C50 a good pointer to your array or no?

Sometimes the array won't include your local/client player.

Keep trying! Good luck
Yes it's pointer to Array, but looks like this Array contain all NPCs and Player characters.
Good it is or not, i don't know, below 2 Addresses of Arrays.
maybe each contains same elements, but i not look whole Array?
how to detect where is the end of Array? For example pointer for one of player character is 9C70 rly far from begin of array...
7FFCED524C00 (7FFCED524C20) 1st Array
7FFCEC684C50 (7FFCEC684C30) 2nd Array
 
Last edited:

PePPeRmix

Newbie
Full Member
Feb 14, 2016
5
244
0
Please can some one explain me, about elements in array?
I got NPC(Hero,Mobs,Towers) Array, every i*8(i*16) it's element of an NPC, but not always...
Offset:val
0:Npc address , 10:Npc address , 20:Npc address .... 1B0:Npc Address , 1C0:Npc Address, 1D0:Npc Address, 1E0:String, 1F0:Byte , 200:Byte , .......... , 530:Npc Address , 540:Npc Address , 560:Npc Address , 570:Npc Address , 580:Float , 590:Float , .... etc

 

Rake

Cesspool Admin
Administrator
Jan 21, 2014
12,164
78,998
2,399
Please can some one explain me, about elements in array?
I got NPC(Hero,Mobs,Towers) Array, every i*8(i*16) it's element of an NPC, but not always...
Offset:val
0:Npc address , 10:Npc address , 20:Npc address .... 1B0:Npc Address , 1C0:Npc Address, 1D0:Npc Address, 1E0:String, 1F0:Byte , 200:Byte , .......... , 530:Npc Address , 540:Npc Address , 560:Npc Address , 570:Npc Address , 580:Float , 590:Float , .... etc

Don't trust StructDissector to correctly guess datatype everytime. You can trust it ~80% of the time but not always! Did you notice that the first variable after each pointer in your array are similar? 00560052, 00590053 etc...? That looks worth investigating.
Often time their will be an integer variable that corresponds to the number of entities in the entity list. So try to find that. Also you have to figure out what kind of entity list is this? Is it an array or a vector? Is it a linked list? Is it an array of pointers or an array of objects? What's the size of the entity object? Is there padding between structures if it is an array of objects? Are all the objects in the array of the same class? Or are they all different classes that inherit from a super class? How is the array populated? If the array is fixed size you can just iterate through every element and compare certain variables that you know are constant.

Here's a method I devised to loop through the entities in a vector of object pointers in assault cube. I have a variable for the number of players in the game so I only loop through elements, and I also included a conditional to check if the virtual table pointer points to the correct vTable. This is an example of a variable of the player object that I know is constant and will only be true if it is a player or a bot
C++:
	void readPlayerData()
	{
		playerVector.clear();
		int numOfOtherPlayers = *numOfPlayers - 1;
		DWORD * playerArrayAddress = (DWORD*)0x50F4F8;

		for (int x = 0; x <= numOfOtherPlayers; x++)
		{
			DWORD * vtableAddress= (DWORD*)(*playerArrayAddress + x * 0x4);
			if (*vtableAddress!= 0)
			{
				if (*(DWORD*)*vtableAddress == 0x4E4A98 || *(DWORD*)*vtableAddress== 0x4E4AC0)
				{
					playerVector.push_back(PlayerClass(vtableAddress));
				}
			}
		}
	}
And in openArena it is an array of player objects that has a fixed size of [64] elements I found that if a element is not a valid player the player.name variable will be cleared to all zeros so I iterate through each element and do this:
C++:
	class clientArray
	{
	public:
		client clients[64]; //0x0000 

	};//Size=0x21000

	void readPlayerData()
	{
		clientArray * clientArray = (clientArray*)*(DWORD*)0x1F4BB44;

		playerVector.clear();

		for each (client &c in clientArray->clients)
		{
		
			if (c.name != 0)
			{
					playerVector.push_back(PlayerClass(c));
			}
		}
	}
It's all just trial and error m8, hope some of this helped
 

PePPeRmix

Newbie
Full Member
Feb 14, 2016
5
244
0
Rake;40443 said:
Often time their will be an integer variable that corresponds to the number of entities in the entity list. So try to find that. Also you have to figure out what kind of entity list is this? Is it an array or a vector? Is it a linked list? Is it an array of pointers or an array of objects? What's the size of the entity object? Is there padding between structures if it is an array of objects? Are all the objects in the array of the same class? Or are they all different classes that inherit from a super class? How is the array populated?
Thanks for help!
I try to figure out what kind of list is it... it's pointers and point change every time after die, after respawn he have another pointer in another location of array.
It's can't be a fixed size because NPCs at map may be from 5 to 300 or higher...
 
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods