Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Finding Entity List?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
nero1232
Advanced Cheater
Reputation: 0

Joined: 08 Mar 2017
Posts: 65

PostPosted: Fri Mar 10, 2017 7:53 am    Post subject: Finding Entity List? Reply with quote

Hi,

I have my player base (I think, I can change the x,y,z coords and I move).

I have a bot base (again, found out from his location and he moves when I edit these values).

How can I use these to find the rest of the players locations and bases?

I tried minusing the base addresses which gave me: 33FB3790 so they are no where near each other in memory.

I tried searching for the address in cheat engine but no results come up, even though I have 100 plus pointers for each.

Thanks
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Fri Mar 10, 2017 8:16 am    Post subject: Reply with quote

Right-click on the address(es) to see what is accessing it. The debugger window will pop up, showing you all of the instructions that are accessing the coordinate address that you selected. View one of those instructions in the memory viewer and right-click on it to see what other addresses it accesses. The addresses that you see should be all of the other coordinate addresses for other objects/characters etc., depending.

Depending on how that data is being handled, some instructions may only access player coordinates -- some may access player and other characters coordinates -- some may access player, other characters and objects (like cars/trees) coordinates etc..
Back to top
View user's profile Send private message
nero1232
Advanced Cheater
Reputation: 0

Joined: 08 Mar 2017
Posts: 65

PostPosted: Fri Mar 10, 2017 8:26 am    Post subject: Reply with quote

++METHOS wrote:
Right-click on the address(es) to see what is accessing it. The debugger window will pop up, showing you all of the instructions that are accessing the coordinate address that you selected. View one of those instructions in the memory viewer and right-click on it to see what other addresses it accesses. The addresses that you see should be all of the other coordinate addresses for other objects/characters etc., depending.

Depending on how that data is being handled, some instructions may only access player coordinates -- some may access player and other characters coordinates -- some may access player, other characters and objects (like cars/trees) coordinates etc..


This makes sense to actually get the coordinates but my plan is to code a wallhack, so I would need to get the entity list somehow or a array of pointers to each of those players.

How would I find those pointers or the array in memory?
Back to top
View user's profile Send private message
pellik
Advanced Cheater
Reputation: 0

Joined: 14 Jun 2013
Posts: 93

PostPosted: Fri Mar 10, 2017 8:38 am    Post subject: Reply with quote

He just answered that question.
Back to top
View user's profile Send private message
nero1232
Advanced Cheater
Reputation: 0

Joined: 08 Mar 2017
Posts: 65

PostPosted: Fri Mar 10, 2017 9:17 am    Post subject: Reply with quote

pellik wrote:
He just answered that question.


No he didn't. He told me how to find the addresses of all of the bots coordinates, which is not what I want.

I need the entity list or array in memory. The coordinates on their own are not enough as there locations change every time on death and I wouldn't know how many players are in the game for example.

So I want to find the array of player bases in memory, then I can iterate through those to get each location.

What he told me above will give me the addresses of the X location in memory for each thing, this would get me the coordinates yes but this isn't what I want (plus doing that search yielded thousands of addresses, it must access movement of lots of things in game, e.g. bullets, clips, guns, grenades and so on).

Tell me if I am being stupid Smile
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Fri Mar 10, 2017 9:19 am    Post subject: Reply with quote

nero1232 wrote:
Tell me if I am being stupid Smile
Very Happy
Back to top
View user's profile Send private message
nero1232
Advanced Cheater
Reputation: 0

Joined: 08 Mar 2017
Posts: 65

PostPosted: Fri Mar 10, 2017 9:48 am    Post subject: Reply with quote

++METHOS wrote:
nero1232 wrote:
Tell me if I am being stupid Smile
Very Happy


What am I missing?
Back to top
View user's profile Send private message
pellik
Advanced Cheater
Reputation: 0

Joined: 14 Jun 2013
Posts: 93

PostPosted: Fri Mar 10, 2017 10:26 am    Post subject: Reply with quote

++METHOS wrote:
Right-click on the address(es) to see what is accessing it. The debugger window will pop up, showing you all of the instructions that are accessing the coordinate address that you selected. View one of those instructions in the memory viewer and right-click on it to see what other addresses it accesses. The addresses that you see should be all of the other coordinate addresses for other objects/characters etc., depending.

Depending on how that data is being handled, some instructions may only access player coordinates -- some may access player and other characters coordinates -- some may access player, other characters and objects (like cars/trees) coordinates etc..


The same code that tracks the location of bots is usually also going to track the location of players. If you set a breakpoint and look around you should find that one of the registers or a close by pointer on the stack points to the player/bot structure. Dissect structure, find identifying information relative to that address. Then either just hook your hack in right there or use use {$LUA} in autoassemble for creating an array easily.
Back to top
View user's profile Send private message
nero1232
Advanced Cheater
Reputation: 0

Joined: 08 Mar 2017
Posts: 65

PostPosted: Fri Mar 10, 2017 10:50 am    Post subject: Reply with quote

pellik wrote:
++METHOS wrote:
Right-click on the address(es) to see what is accessing it. The debugger window will pop up, showing you all of the instructions that are accessing the coordinate address that you selected. View one of those instructions in the memory viewer and right-click on it to see what other addresses it accesses. The addresses that you see should be all of the other coordinate addresses for other objects/characters etc., depending.

Depending on how that data is being handled, some instructions may only access player coordinates -- some may access player and other characters coordinates -- some may access player, other characters and objects (like cars/trees) coordinates etc..


The same code that tracks the location of bots is usually also going to track the location of players. If you set a breakpoint and look around you should find that one of the registers or a close by pointer on the stack points to the player/bot structure. Dissect structure, find identifying information relative to that address. Then either just hook your hack in right there or use use {$LUA} in autoassemble for creating an array easily.



Right I did some searches of the base addresses and found the array in memory! I though my trouble was over

So I see an array of pointers to all of my bots and myself address like this:

XXXXXX + 10 = my base class
XXXXXX + 20 = bot1 base class
XXXXXX + 30 = bot2 base class
XXXXXX + 40 = bot3 base class

Now the problem is I can't get a static pointer to XXXXXX, I do a pointer scan and it find nothing up to 7 layers deep. So I have a structure XXXXXX where I can see all 8 players within a 10 offset of each other, but I have no static pointer to get to this array, so when I start a new game it changes and I have to search everything again.

How can I find a static pointer to get to that array? I am guessing there is no direct pointer to +10, +20 etc...more the case that there is a pointer to the start of the structure, but I don't know how to get to the start of that structure?

Getting there slowly but surely!
Back to top
View user's profile Send private message
pellik
Advanced Cheater
Reputation: 0

Joined: 14 Jun 2013
Posts: 93

PostPosted: Fri Mar 10, 2017 3:13 pm    Post subject: Reply with quote

I think you're kind of refusing to see the method that's being recommended here.

Look for a function in the game that iterates over all of the player/bot structures and grab addresses from it while it does.
Back to top
View user's profile Send private message
nero1232
Advanced Cheater
Reputation: 0

Joined: 08 Mar 2017
Posts: 65

PostPosted: Sat Mar 11, 2017 8:59 am    Post subject: Reply with quote

pellik wrote:
I think you're kind of refusing to see the method that's being recommended here.

Look for a function in the game that iterates over all of the player/bot structures and grab addresses from it while it does.


Okay sure I can try this, but the codes accesses thousands of addresses so how do I filter out all the ones I don't want, I need 8 addresses out of a huge list of them that show up?

Thanks
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites