Solved Working with EntityList.

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

f0x

Newbie
Full Member
Dec 14, 2015
7
338
0
Hey there,

It's me again and i decided to go a step further and find out about the entity list. I've read through this forum and eventually learned how to get the base for other players.

Since searching for an bot's base didn't work for me (i can find my base ONLY when there is no other player/bot ingame - same for bot's base), i started a solo game and found my playerBase [50F4F4] and started to work from there. I dissected data structure and saw [50F4F8] right underneath it. While checking this out i saw a few pointers for each bot in the game (all the offsets are the same for health etc.) and noticed the iteration between those enemies seems to be [0x4].

Now for my code:

C++:
struct entityList_t
{
	DWORD localEntity;
	int health;

	void readInformation(int Player)
	{
		ReadProcessMemory(pHandle, (PBYTE*)entityBase + (Player * entityIteration), &localEntity, sizeof(DWORD), NULL);
		ReadProcessMemory(pHandle, (PBYTE*)(localEntity + healthOff), &health, sizeof(int), NULL);
	}
}entityList[32];
Now, i just want to COUT every bot's health in the console and this is where i'm struggling.

This is my main:

C++:
	while (!GetAsyncKeyState(f6KEY))
	{
		for (int i = 0; i < numOfPlayers; i++)
		{
			entityList[i].readInformation(i);

			cout << entityList[i].health << endl << endl;
			Sleep(1000);
		}
}
Hope someone can give me a hint!
 

Solaire

Respected Hacker
Dank Tier VIP
Dec 15, 2013
1,051
16,353
62
Thank you!

If i understand you correctly then u mean it like this ?

C++:
struct entityList_t
{
    DWORD localEntity;
    DWORD a;
    DWORD b;
    int health;

    void readInformation(int Player)
    {
        ReadProcessMemory(pHandle, (PBYTE*)entityBase, &a, sizeof(DWORD), NULL);
        ReadProcessMemory(pHandle, (PBYTE*)(a + entityIteration), &b, sizeof(DWORD), NULL);
        ReadProcessMemory(pHandle, (PBYTE*)b + (Player * entityIteration), &localEntity, sizeof(DWORD), NULL);
        ReadProcessMemory(pHandle, (PBYTE*)(localEntity + healthOff), &health, sizeof(int), NULL);
    }
}entityList[32];
This doesn't work for me!
I don't have the game nor required tools at the moment to do testing, but it should be something like this:

C++:
// Get the address of the first entity in the list
DWORD entListPointer = 0x50F4F8;
DWORD entList = NULL;
ReadProcessMemory(handle, entListPointer, &entList, sizeof(entList), NULL);
entList += 0x4;

// Now loop through
for (int i = 0; i < 32; i++) {
    // Get the dynamic address of the entity first
    DWORD dynEntAddress = NULL;
    ReadProcessMemory(handle, (entList + (i * 0x4)), &dynEntAddress, sizeof(dynEntAddress), NULL);

    // Read the health
    DWORD healthOffset = 0xF8;
    int health = NULL;
    ReadProcessMemory(handle, (dynEntAddress + healthOffset), &health, sizeof(health), NULL);
}
This is all just from memory so I have no idea if it'll work or not, or if there actually is a 4 byte pad at the start of the entity list.

You can also do this video
How to find Entity List Assault Cube
 
Last edited by a moderator:

Solaire

Respected Hacker
Dank Tier VIP
Dec 15, 2013
1,051
16,353
62
Assuming EntityBase is 0x50F4F8, adding the offsets to it will not work. You need to dereference first, add 0x4 because the first 4 bytes in that list is not an entity, then do your looping.
 

f0x

Newbie
Full Member
Dec 14, 2015
7
338
0
Thank you!

If i understand you correctly then u mean it like this ?

C++:
struct entityList_t
{
	DWORD localEntity;
	DWORD a;
	DWORD b;
	int health;

	void readInformation(int Player)
	{
		ReadProcessMemory(pHandle, (PBYTE*)entityBase, &a, sizeof(DWORD), NULL);
		ReadProcessMemory(pHandle, (PBYTE*)(a + entityIteration), &b, sizeof(DWORD), NULL);
		ReadProcessMemory(pHandle, (PBYTE*)b + (Player * entityIteration), &localEntity, sizeof(DWORD), NULL);
		ReadProcessMemory(pHandle, (PBYTE*)(localEntity + healthOff), &health, sizeof(int), NULL);
	}
}entityList[32];
This doesn't work for me!
 

f0x

Newbie
Full Member
Dec 14, 2015
7
338
0
Thanks!

After a bit of trying i actually got it to work with your code. Wondering why it didnt work with mine tho, because it seems similiar :(

But you helped a lot =)
 

Solaire

Respected Hacker
Dank Tier VIP
Dec 15, 2013
1,051
16,353
62
Thanks!

After a bit of trying i actually got it to work with your code. Wondering why it didnt work with mine tho, because it seems similiar :(

But you helped a lot =)
Yep, no worries :)
 

Praxeus

Jr.Coder
Full Member
Nobleman
Sep 12, 2012
48
408
1
He looped through the entities you did not and added the space between entities
 
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