With today’s article “Cheat Engine Tutorial for Beginners” we begin a series of guides on Cheat Engine in order to deepen this powerful tool to create cheats.
The purpose of these articles is to show the different aspects of Cheat Engine that are often ignored or underestimated and that instead represent the true strength of this application.
In this first guide we will cover the following topics:
- Search for single value (classic search for a single known value)
- Unknown initial value search
- Use the search for Floating points (searching for decimal values)
- Code finder (search and replacement of machine code)
- Pointers (Not available …)
- Code injection (Not available ….)
- Multilevel pointers (Not available ….)
- Shared code (Not available ….)
It should be noted that the guide will be realized using the present tutorial on Cheat Engine.
I to be honest I found out not long, and I must say I was very helpful to understand certain aspects of Cheat Engine that still did not know.
For this reason I decided to write this article about it, so that even the less experienced, can use complex functionality of Cheat Engine and being able to find the cheat suited to the situation.
But before you start, if you have not already downloaded Cheat Engine, here is the download link:
Cheat Engine Tutorial – Single Value Search
The simplest of the research that we can use to Cheat Engine is the search for a single value.
However I have already extensively discussed in other articles in the past and avoid repeating for the umpteenth time this type of research.
If you’ve lost them or want to give a reading to refresh your memory, you can have a look at:
In these articles you will also see how to use Cheat Engine with the Android emulator, but the concept does not change if the games are PC, you must always select the job in memory of the game you want and start the search for values.
As mentioned at the beginning of article, I will show you the Cheat Engine operation using his tutorial.
In this case we need to skip the first step of the tutorial, but if you want do some practice, i recommend you try to perform the first step of the tutorial, so you’ll understand if you have properly learned the notions mentioned in the previous articles, or not.
Cheat Engine Tutorial – Start the tutorial
Cheat Engine comes with a tutorial very well done which is able to let you exercise with different problems that can be addressed through the program.
To start it, run Cheat Engine and from the Help menu, select “Cheat Engine Tutorial”.
Doing this, connect the Cheat Engine to the process as if it were a normal application or game.
The process should be called Tutorial-xxx.exe, where xxx indicates the version of the software used.
Well, from now on, the tutorial will try to make small problems for you to practice with the different Cheat Engine functionality.
The next search mode for this tutorial on Cheat Engine is the search for unknown initial value.
Cheat Engine – Unknown initial value – What’s it about?
Suppose you have a game where there is an energy bar that you would like to avoid blocking your premature death.
If there is any numeric value that helps you identify the value you are looking for, there is no problem and you could use the first type of search.
What happens, however, if there is no way to understand what is the value indicated by that energy bar?
In this case, you will have to seek alternative routes to find the value of that bar and the first of these has its own research “Unknown initial value.”
The use of this research, of course, is not limited to this case.
It might even be impossible to determine with certainty what we are looking for, an integer, decimal, or even a string of values that have nothing to do with what you see onscreen.
However, in both cases, the only thing we know, is whether that value is decreasing, increasing or remaining constant.
Cheat Engine Tutorial – Unknown initial value – How to use it
Let’s take the Cheat Engine tutorial at step 3.
We could get there by completing the tutorial request or by skip to the previous step.
Either way, we will have a screen like:
and Cheat Engine ready to be used.
We choose the “Unknown initial value” search method on Cheat Engine.
And we start the first search by clicking the “First scan” button.
As a first result we will have a multitude of possible addresses, but this is normal, because we have not been able to say to Cheat Engine that has the searched value.
And this is where the difficulty of this search system begins, that is, the great number of attempts to find the address that contains our value.
We press the “Hit me” button (1) on the tutorial, we will see that the bar decreases (2).
We continue the search with the “decreased value” from the lookup combo.
and clicking on the “Next Scan” button.
It will result in a much lower number of possible addresses, since we have eliminated from our list all equal to and higher.
We repeat the operation until we have found only a few addresses to be tested.
Always pay attention to the tutorial bar level and keep in mind whether the value is rising by decreasing or staying constant.
If you make the mistake of choosing the operation contrary to the actual, definitely you lose the progress made up to that point and you have to start over again.
Continuing, as said, after some hit and research, you will find few addresses to be tested to find where the hidden value is hidden.
Reading the suggestions provided by the tutorial, you will notice that is given a fundamental indication, namely that the searched value is between 0 and 500.
In this case, it is advisable to change the format of the address values and set their representation to only 2 bytes.
In this way it is much easier to find the value that is between 0 and 500, since it is only present one.
Change the address value found, inserting 500 and have completed the step 3 of the tutorial.
Searching for Decimal Values on Cheat Engine is one of the likely solutions that you should try when you can not find the address of the value you are looking for.
In some cases, the games and applications do not store data in integer values, but on decimal fields, such as float or double.
Usually, when you have to deal with this type of values you can see at a glance, as these will be immediately visible as decimal.
In some cases, however, developers camouflage in decimal fields, their data that could be well represented as integer and the application will show them as integer fields.
Cheat Engine Tutorial – Search for Floating points – When to use
Search for unknown values is the most secure search type to find the values you are looking for.
However there is a small problem, with whom he had to do, those who have already tried to use it.
The slow pace of research.
It often happens that the procedure to find value, and even the same research steps, are really unsustainable.
From personal experience I tell you that the search for unknown values of Cheat Engine, is the last resort to which I hold if you just can not find the value, after trying all the other search methods.
The search for decimal values is a valid alternative to the normal search for integers and in some cases is the only way to avoid the transition from the search for “Unknown values”.
Cheat Engine Tutorial – Search for Floating Points – User’s Guide
As with the search for integers in the Cheat Engine, the search for decimal values starts with selecting the correct type of data in the search.
In this case we chose Float, but it could also be Double, the concept is the same.
Having done this, we have to include in the search field the value found in the application.
and start the search.
The result or the results can be added to the list of addresses found to change its value.
As you can see the process is the same as a normal search for integers.
The only difference lies in the type of data you are looking for.
You can also decide not to search for the exact value that you are seeing on screen, or, for example, to search for truncated or rounded values.
In this case, the power of this type of search is helpful, or finding the values you are looking for, though not quite exactly.
Another search mode as shown in this Cheat Engine Tutorial is the Code Finder.
You have certainly noticed that trying to reuse an earlier cheat created on your game, often after the game reboots, this cheat is unusable.
The reason is very simple when the game is restarted, the memory area that is used to load the game is different from the previous load, so the addresses found are pointing to different areas of memory and their editing is completely useless If not even “malicious” (it may cause the application to be blocked or, in the worst case, your operating system).
Here is the video tutorial for this lesson:
Cheat Engine Tutorial – Code Finder – What’s it about
Compared to the simple search for a memory address of which will modify its value to increase life points, energy or anything that comes to mind; The Code Finder, makes another step forward, allowing you to find out which code is going to write on that address.
In this way it is possible to modify the founded code and replace, for example, with another that does not reduce the value that we have tried.
Using this code, we will have a double advantage.
On the one hand, we can get “god mode” cheats and we’ll be invincible, even if so to say it’s reductive, because only the code’s ability to use and our imagination can limit the type of cheat that can be created with this technique.
On the other hand, using the code rather than the address, the cheat founded will be re-usable even when the game is restarted and you will not have to redo all the procedure to find the cheat.
Cheat Engine Tutorial – Code Finder – How to use it
See in detail in this tutorial Cheat Engine is an example of Code Finder.
We load Cheat Engine and his tutorial as shown in previous lessons.
Let’s take the fifth step of the tutorial, which will help us with an example for using the Code Finder.
The first step is to find the specified value.
The procedure is the same view in previous lessons.
Then we activate Cheat Engine tutorial on the process and insert this value (1) in the search field (2), as shown in the following figure:
and we start the search.
Edit the value of the tutorial and continue the search.
We will find a single address.
Add it to the address list, right-click on it, and activate the “Find out what writes to this address” entry by activating the debug mode.
At this point we are ready to find the code that writes to that address.
Click on the tutorial button to change its value.
The code will be found and will be added to this list on the debugger.
Well, find the code, the tutorial proposes instead a code which does absolutely nothing and add it to the codelist.
To do that, we first have to click on the “Replace” button (1) and subsequently on the button “Add to the codelist” (2) obtaining what is present on (3).
This will block its modification, and we can get in our favorite games the god mode mode with points that never go down, or endless weapons etc.
To complete the tutorial suggested by Cheat Engine, you must click on the “Change value” button and you will see that the indicated value will not change.
It will also activate the button to proceed to the next step of the tutorial, by successfully completing this step.
However, I would like to add something to better understand the potential of this technique.
Cheat Engine Tutorial – Code Finder – Its potential
Save the cheat previously found (click on the icon shaped like a disk).
In addition to the address, the code you added to the codelist will also be saved.
Close Cheat Engine and its tutorial and let it start from scratch.
Riportatevi the fifth step of the tutorial and redo the procedure to find the address of its value to search.
You will see, a result obtained, that this address is different from that found in earlier.
You will understand that by modifying the address value of the previous rescue would not have achieved any useful result.
Reload the save created at the previous step.
Cheat Engine will remind you of the presence of the codelist by opening the section with the saved code.
Activate the replace of the code as shown in the figure, and you will have reactivated the replacement of the null code.
This can be done in other ways, though at this moment is the easiest way, we will see others in the next lessons.
Try to change the value of the field on the tutorial, you will not be modified and will be activated the next button, in order to indicate in this case the operation to succeed.
In this section of the Cheat Engine Tutorial i’ll talk about pointers (Pointers).
Using the Code Finder, we can modify the code with fake instructions to prevent the value from changing.
However, this is not enough if we also want to change the value as we wish.
For this reason in this section i will explain how to find pointers (Pointers) used in the piece of code that modifies our value.
By combining the two techniques, we can either block the value by replacing the code, or by changing its value to our liking.
Here’s the video tutorial for this lesson:
Cheat Engine Tutorial – Pointers – Target
To achieve the desired result, we must find the pointer (hence the title of this lesson) that is used by the assembler code to access the memory area of the value we are interested in editing.
I understand the difficulty of less technical readers, and I will try to be as clear as possible, but these last lessons of the Cheat Engine Tutorial are certainly the most technical and complex to understand.
However if you have the patience to try and follow the tutorial carefully, you will certainly get much more exciting results with Cheat Engine.
Going back to what we were saying.
If we can figure out what this pointer is and block it using the Cheat Engine’s basic technique at a constant value, we will have a double advantage.
On one side we can change the value of our statistics, parameter, or what it is, present in our game.
On the other hand, we will be sure this address will not change, because our cheat will determine what is the pointer’s value.
Cheat Engine Tutorial – Pointers – The research
First, let us go to step 6 of the Cheat Engine tutorial.
The screen will appear as in the figure.
Below you can see three buttons (the third is the usual button that unlocks after completing all the steps in the tutorial)
The first one will serve to change the value (simulates how in the other cases the change of statistic or parameter)
The second, instead, changes the pointer and simulates the change of the pointer from our game.
After that, we will have to connect to the Cheat Engine tutorial process as seen in previous lessons, and look for the value of this field in the tutorial using Cheat Engine.
We start searching and find a lot of addresses.
Modify the value of the tutorial field using the button.
We continue the search using this new value.
We can get a single address or more than one, in the latter case, we continue searching until the result fails and we find the correct address.
Add the address found (1) to the list (2) of the addresses.
Right-click on the address and select the item “Find out what accesses this address”.
Debug mode will be activated and will capture the instructions that access the found address.
By changing the value of the tutorial input field (1), the code table that access to that address will populate (2).
So far, what we did, we had already seen the last lesson.
From now on instead pay special attention, because the procedure changes and becomes more complex.
From the list of assembler codes found, you should try to “sense” the correct code for analysis.
The Cheat Engine Tutorial Guide suggests that you only look for instructions that have populated square brackets, this is because the square brackets in assembler is equivalent to reading the parameter value shown in parentheses.
I add that in the list you see in the figure, only one statement has the basic feature that interests us, that is, the pointer reads, the other instructions access the pointer but do not read its value to store it elsewhere.
So let’s continue by selecting the second item in the list (1) with a double click of the mouse on the entry.
This will open a new window where you will find state the address to use for the next research step (2).
We use this value for search on cheat engine, but by activating the hexadecimal research, because the address is in this format.
Then, use the value (1) shown in the figure to populate the search field (2) on Cheat Engine.
Activate check Hex (3) to enable hexadecimal search.
We start searching, almost always will get a single value, if that was not the case, often our element searched is the first of the list.
Add, as before, this address to the address list.
Now we make a click on the “Add Address Manually” button (1) to add an address to the list, manually.
This will open a new window and selecting the check “Pointer” (2), will be modified as in the previous figure.
At this point we will have to enter the address value found previously (3) in (4) of the window.
Let’s continue with “Ok” and the game is done.
Note that there may be the most complex cases because the instructions are not as simple as the one you see.
There may be sums or subtractions of addresses, in this case you need to have a hex calculator and enter the value obtained from these calculations.
If everything has gone well, we will find a situation like this in the figure:
Note the address in paragraph (1) of the figure, compared to the other it is preceded by a P.
Moreover, the values (2) and (3) are equal, this will not change at least until the pointer.
To complete the tutorial step, we will need to click on the “Change pointer” button and within five seconds change the pointer value (2) to 5000.
By doing so we can proceed to the next step of the tutorial.
If you have found the guide useful, share the article and subscribe to my pages.
It costs you nothing, but for me it is an incentive to keep the blog updated.