How To Find the EntityList in Assault Cube with Cheat Engine Tutorial

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
alright gonna show you how to find the entity list in a salt cube it will be very similar in other games and there are many ways to do this here's a very quick way first thing we need to do you need to go and do this tutorial and before you do this tutorial actually need to do this tutorial and once you've done that you're gonna have the prerequisite knowledge okay so in those tutorials you will get a cheat table this is what it looks like and we need to add one thing to this to make it easy on us we need the name okay so my name is rake so we are gonna search for rake pretty smart right and we get a bunch of crap here let's take a look we see our other variables in our player class are in the 0 to 3 range so let's look for our name in that range and we only have one so let's look at that and then what we'll do is we'll change this to Drake and we'll see if it changes and my name is Drake so ok so that's definitely my name so that's great let's find the offset to it find out what access is this suggests and we're gonna see some stuff here let's stop them and let's just show the disassembler ok first one right here we're comparing the first byte of my name with 0 and the address of the name is in ESI and if we look at this yes I get this value from EDI plus 2 to 5 so EDI is the base dress of the player and 2 to 5 is the is the offset for the name let's see if we find anything else interesting nothing really there let's look here nothing really jumping out at me like an entity list let's see this one again ok we got some interesting right here anytime you see something that looks like this you know that you got that you're on the right spot so the entity list in a salt cube is an array of entity pointers and each pointer in the 32-bit app is is four bytes so if you look at this here it says move this into EAX and so four is the size of a pointer ESI is the element of the array that you're indexing into so that's like an iterator and then EDI is the address of the of the player array so if we had let's say you know on player 0 we take the address of the player a and add 0 plus 4 and that gives us the address of the first element in the array and you notice the brackets here the brackets remember mean dereference so whatever is in those brackets there is actually a pointer so when we dereference that we get the actual address of the player object and we move it into EAX now we see this test EAX with a X which maybe is checking if it's not if it's not null like if there's actual if the element in the array is actually a pointer if it's not it'd be 0 so we're testing that and and then we we're taking we're adding 2 to 5 to X so now that gets us to the address of our name variable so basically what I'm showing you here is that this is what you're looking for anytime you see this where we're indexing into an array now you're gonna ask me well how do we know it's an array of entity pointers because it could also be an array of entity objects so let me show you that real quick I just made it a little old test app here's some code so imagine we have an entity object with these variables we can make an array into the objects like this or we can make an array of pointers to enter the objects like this now if you have an array of n to the objects and you want to add a new object in in in the array you would just assign it like this using the constructor for entity and then if you want to loop through them you would just do a for loop like we always do let's say we want to print the the name so basically what this part here says is goto element I in the enter a and then the period means access the name variable of this object so we go to the object in the array grab the name from the object simple as that now if we have an array of entity pointers this is how you would dynamically create an entity on the heap and then place a pointer to it in the array of pointers just like that now let's say that we already had a an entity like let's call like entity me okay and then you wanted to set this to be the address of me so now you already have an object created somewhere else and then you just want to add the pointer to it into the array like so and then if you were gonna loop through an array of entity pointers you'd do the same SEC thing except would just read this little differently so go to element I of the array of entity pointers and this operator means basically dereference the pointer in that element and then grab the name from the object that it points to I see a lot of people are confused by pointers now it's it's really it's just see just C++ is just object-oriented programming I mean if you learn the C first it's gonna be so much easier to reverse games that are written in C you know at the end of the day all your CPU knows is addresses you know it doesn't know what objects are is just when the compiler makes this code okay it says then the name variable is at offset eight of the entity object so it has the address of the entity and then adds eight and then it reads sixteen bytes from it and that's how you read the name that's how the CPU does it so it's really nothing special I hate to see a lot of people confused about pointers okay so let's just add these to the cheat table this is easy so we're gonna scroll up a tad and here we see we said before EDI is the address of the array of player pointers es eyes the index and four is the size of each poner with each element in the array anytime you're indexing through any array it's gonna look like just like that they're doing a loop just like the four loop I just showed you so right here we see AC client +10 F 4 F 8 and that's that's the address and again it's dereferencing it so we actually have a pointer so let's add a pointer here and it's gonna be AC client itxc +10 F 4 F 8 alright and oops I did that on for just going to AC client HC + 1 0 F 4 F 8 and we're going to call this pointer to an to the list okay we're gonna right click that change it to hex now let's just do a little confirmation here let's grab that okay let's add another thing let's add a pointer this time and we are gonna index into its weirdest all cube the first element in the array is always empty so we want to go to the first one the first element in the array not not the zero element the the one element which is the second one and we're gonna call what are we gonna do we're gonna do f8 for house so this is entity one health yeah so that works and then let's say we want to check the next player's health we changed to eight checks the next ones that after that do see so we know that works so that is good and if we go and do control D on the member viewer we get the struct dissector and we're going to define our new struct and we're going to call it entity okay and let's grab our player object right here okay and if we look at this we know this the first address is the V table okay if we go to f8 we're gonna find hopefully some health right I call this health if we go to 2 to 5 we are going to find that says it's a pointer it's not so we're gonna change it to be let's just do a bite so we can get our address here let's do add element and offset 2 to 5 let's make it a string and let's make it 16 bytes that's just what it is in a salt cube so that is the name variable okay so we got Drake's name we got the health and that's all we're gonna do for now let's add a is all do let's define a new struct okay and we're gonna call it the entity list okay and we are gonna grab our entity list pointer over the hell it went to pointer to entity list okay we're gonna grab this that's the address of the entity list we're gonna drop it in there and remember each one of these things is a pointer so let's grab a bunch of these and do change element and let's make them all pointers and the structure we're gonna point at is called an entity hit okay and so now we have a bunch of pointers to entity in our entity list and the first the first element is 0 it points to nothing for whatever reason it's actually because salt cube wrote their own vector class rather than using like the standard one so if we open this first entity we're gonna scroll down and we're as f8 to see health f-84 Health 100 and then we should see a name osg B that's a cool guy I used to talk to you back in the day ok so that's it we got we have entity list here's a little idea of how you can use the struct dissector to loop through them let's looks Queenie's on there - so that's it we got the we got the entity list alright that's really it I want to give it back shout out to I power moderator danc'd here VIP on the forum he wrote this little text guide with screenshots on how to do this and that was really that was really like my motivation behind making this video so I'm going to link this all together in one thread alright that's it for the tutorial I want to remind everyone if they love guarded hacking if you like my videos you know I try to make as many as I can if you want to support us please donate there's a bunch of different ways you can do it guard attacking comm slash donut donate all right guys have a good one
Info
Channel: Guided Hacking
Views: 84,365
Rating: undefined out of 5
Keywords: entity list, entitylist, find entity list, find the entity list, how to find the entity list, how to find entity list, assault cube, cheat engine tutorial, cheat engine find entity list, cheat engine entity list, entity list cheat engine, how to find entity list cheat engine, unreliable entity list, find entity list cheat engine, entitylist tutorial, assault cube hack tutorial, game hacking, assault cube hack, hacking tutorial, how to find the entitylist, entity list tutorial
Id: TCu0qSivXUc
Channel Id: undefined
Length: 12min 10sec (730 seconds)
Published: Sun Aug 05 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.