Thursday, May 30, 2013

[Tutorial] Dissect data/structures in Cheat Engine

Once more, this post is only a duplicate of the definitive article and it is lost the pictures and the motion picture. You can see the definitive article here:

http://www.szemelyesintegracio.hu/cheats/41-amusement-hacking-articles/230 analyze information-structures

This excercise will demonstrate to You best practices to utilize the information dissector to find intriguing qualities and dissect information.

I will utilize Cheat Engine 6.0 as a part of the excercise. You can download it from here:

http://www.cheatengine.org

Our target procedure will be Armies of Exigo's Demo rendition. It is minor, uninhibitedly ready, exceptionally simple to find values and a decently exceptional diversion (one of my old top picks), so it is a fantastic decision for exhibit. Utilize Google to find portions of connections for the demo however here are a few connections to keep up the pace:

http://www.gamershell.com/download_6761.shtml

http://www.fileplanet.com/144582/140000/fileinfo/armies-of-Exigo-Demo

Our undertaking will be to discover a couple of unit's structure, break down them and gem a "player Id" to make a divine being mode trick.

Begin the amusement and play it a spot. Assuming that You have played Warcraft and comparative amusements, this diversion will be well known to You.

1st undertaking: Finding the unit's health and the code which is altering the health

This ought to be extremely simple, the wellbeing of an unit it showed when it is chosen. It is saved as a Float sort esteem. Discover a few adversaries, quest for Your health and assuming that You have discovered it (You may as well have just 1 consequence in Your record), add it to the table.

Notwithstanding right-click on it and pick "Find out what keeps in touch with this location". About-face in the amusement, detached some health and You will discover this code:

005da8dc -D9 5e 04 -fstp dword ptr [esi+04]

2nd undertaking: Finding some more unit's health

Right away You have the code which is adapting the health for all units when they are taking harm. Your errand is to discover a couple of unit's health, incorporating foe and neighborly units. Get 2 units and discovery a few foes. Right-click on the code that You have discovered and pick "Find out what addresses this code peruses from". Verify that Your test subjects won't expire the whole time. It might be optimal in the event that You could discover no less than 2 amicable and 2 foe unit's health. Like this:

3rd errand: Checking the structures

Right away You might as well have enough locations to begin examining an unit's structure. So what are structures? To keep it short, we should just say that a few qualities are archived together in one place rather than scattered around in the memory (You can discover numerous more information about structures on the Cheat Engine Forum).

For our situation, the most essential information around the range of an unit is archived together in a structure as You will see it in a moment. The begin of the structure is typically the register between the [], which is for our situation Esi. Esi+04 is the location of the health, so we can decidedly see that the health is saved very nearly at the begin of the structure. Alright, what sort of informative data would we be able to find here?

1. Open the memory program and utilization Tools->dissect data/structures.

2. As we have 4 units to analyze, utilization File->add additional location to include 3 more location spaces.

3. Presently in the location spaces, sort in the location of Esi, which is for our situation the health location 4 for each of the 4 units.

4. Provided that it is finished, use Structures->define new structure.

5. You can give a name for the structure, yet it is not critical, click Ok.

6. Click Yes and permit Cheat Engine to speculate the sort of the qualities accordingly. It will make an exceptionally great showing.

7. It is sufficient to examine 4096 bytes now, so click on Ok once more.

Right away You see 4 coloumns with a cluster of information utilizing red and green shades. Red implies that the qualities in the structures are diverse, green implies the qualities are immaculately matching in the structures for each of the 4 units.

To make things even less demanding for us, we can even make bunches. As we will attempt to break down the differencies between benevolent and adversary troopers, gave us a chance to put foes in an alternate gathering. Right-click on the foe unit's location and pick Change bunch. Set all adversary unit's gathering to 1.

You can promptly see that a few shades has updated and a few qualities are demonstrated with blue color. Blue shade implies that the worth is the same inside that gathering, yet it is diverse contrasted with different gatherings.

Here is a picture of what would it be a good idea for you to see:

Right away we can run on with the analyzis. I let you know this will be a simple diversion so You will quickly see the paramount qualities.

counterbalance 0000 [esi]: As You can see, the first quality is 0 for inviting units and 1 for foe units. Yes, You are correct. This worth is saving the possessor of the unit. 0 is the human player so if this worth is not 0, the unit is a foe unit.

counterbalance 0004 [esi+04]: We realize that recently, this is the steadiness of the unit.

counterbalance 0008 [esi+08]: If You have a sharp eye, You can most likely see that this quality is the most extreme measure of health for the unit.

counterbalance 000c [esi+0c]: Mana of the unit.

counterbalance 0010 [esi+10]: Max mana of the unit.

This illumination is recently enough for us to make a divine being mode script and assuming that You discover the code which is altering the mana, You can effortlessly make a limitless mana script too, which will work for Your units just.

Notwithstanding my test units don't have mana so 0c and 10 has 0 quality.

Only a short film to keep up the pace in the event that You are befuddled about something:

All we need to do now is compose a script which is checking the quality of Esi when the health might be altered and in the event that it is 0, change the unit's health to most extreme.

God Mode script (this is an old script that I have made matures prior):

fstp dword ptr [esi+04] //unique code which is modifying the health

pushfd //save banners

pushad //save registers

cmp [esi],0 //check if Esi=0

jne +6 //if Esi is not 0, the code will hop over the following 2 lines, bouncing to the "popad" direction

mov eax,[esi+08] //duplicate the max health on eax

mov [esi+04],eax //duplicate eax to the health, so max health = health

popad //load registers

popfd //load banners

Credits: Awsomecheats

1 comment: