How to Use Cheat Engine 'Cheat' While Playing Games
This is an article showing how to use Cheat Engine to 'cheat' when playing some computer games. Cheat Engine is a memory scanning tool that allows you to access data saved in your computer's memory and change it. This way, you can change information in the game, such as strength, ammo, points, lives and some other things in your inventory.
Install Cheat Engine
Open the Cheat Engine page. You need to visit https://cheatengine.org/downloads.php using your computer's browser.
Click Download Cheat Engine . This is the big link in the middle of the page.
This button also displays the current version information of Cheat Engine (such as Download Cheat Engine 6.7 ).
If you want to use Cheat Engine on Mac, click the Download Cheat Engine 6.2 For Mac link .
Install Cheat Engine. This will vary depending on your computer's operating system:
Windows — Double-click the Cheat Engine installation file, click Yes when asked, click Next , check the "I agree" box and click Next , click Next 3 more times Again, uncheck the "I agree to install McAfee WebAdvisor" box and click Next , then Install . When the installation is complete, you'll click Next when prompted, then click Finish .
Mac — Double-click the Cheat Engine DMG file, verify the installation when prompted, click and drag the Cheat Engine icon to the "Applications" folder, and follow the on-screen instructions.
Open Cheat Engine. After installing Cheat Engine, you'll open Start (on Windows) or Launchpad (on Mac), then click Cheat Engine .
You may have to click Yes or Open before Cheat Engine opens.
Open the game program in Cheat Engine
Start the game. You just need to open the game you want to use with Cheat Engine.
Note, you cannot open multiplayer or server-linked online games.
Click the "Processes" icon. In the Cheat Engine window, you will click on the computer icon in the upper left corner. This will open another window with your computer's current programs.
Select game program. Scroll through the list of shows until you find the game, then click the game's name. If you want to use Cheat Engine for browser games, select the browser name here.
If the game doesn't show up in the "Processes" list, you can't edit it in Cheat Engine.
You may first have to click the Processes tab at the top of the window.
Click OK . This is the option at the bottom of the window. This will open the game in Cheat Engine.
Find and change values in the game
Identify factors that need to change. In order for you to change an element of the game, that element must be associated with a number (such as ammo, strength, or resource count).
The number must be displayed on the screen. For example, if you want to change the number of a certain resource in your inventory, you must first open the information page that displays the number of resources.
Minimize the game window and click Cheat Engine. You need to open the Cheat Engine window when the game window is minimized.
Don't pause the game when you do this.
Click New Scan . It's the option at the top of the Cheat Engine window, right next to the frame on the left. Whenever you want to scan a new value, you need to click New Scan .
Select scan type. There are 5 types of scans you can perform when you want to start a new scan. The two types of scans you will use are "Exact Value" and "Unknown initial value". Use the drop-down list next to "Scan Type" to choose the type of scan you want. Scan types are as follows:
Exact value: Use this type of scan if you know the exact number to change. For example, if you know the exact number of lives or ammunition you have, you can choose this option.
Unknown initial value: In video games, sometimes the value is not displayed as a number. For example, power is often displayed as a measure instead of a number. In this case, you do not have an exact number of the current power. Power still has a numerical representation, but you don't see it on the screen. If this is your case, select Unknown initial value .
Bigger than… (Larger than…):' This is the choice when you don't know the exact number you're looking for, but you know the smallest possible value.
' Smaller than… (Smaller than…): This option is suitable for situations where you don't know the exact value, but know the largest possible value.
Value between… (Value between…): This is an option that allows you to enter the range of values you are looking for.
Select data type: Data type represents the value stored in memory. Maybe you don't know which data type to choose, and you'll have to guess. Use the drop-down list next to "Data type" to select the data type. If you can't find the value you need using a certain data type, you'll click New Scan and try again using a different data type. Some common data types you will use are as follows:
Bytes: The two data types you will use most often are 2 bytes and 4 bytes. Most Windows applications use 4 bytes, so you should start with that value. You can also find these values using 2 bytes. Besides, 1 byte and 8 byte data are also effective, but you may encounter some problems.
Float: A floating point data type is a value with a decimal point (but you won't see the decimal point on the game screen). Sometimes games store values as floating points to prevent basic memory scans. If you can't find the value you're looking for by scanning bytes, try scanning floating point.
Double: Double data are similar to floating points but they contain twice the number of numbers. If you can't find the value by scanning bytes or float data, try scanning as double data.
All: This is the option to scan all values of all data types. This option is useful when you don't know what you're looking for, but you're getting a lot of unfiltered search results.
Enter the value you want to change and click First scan . For example, if you only have 20 bullets left, you would enter it 20in the "Value" field. This will scan for all values with the number "20". You will get a lot of value in the address list, and you need to shorten the information.
Return to the game and change the value. How it works will depend on the game; For example, if you want to increase power, you must intentionally reduce power to lower the value. If you want to increase ammunition, shoot a few bullets to reduce the amount of ammunition you have.
Return to Cheat Engine and scan the updated numeric value. Minimize the game window again and return to Cheat Engine. Enter the new number in the "Value" section, then click Next Scan . This will scan all values on the first scan and display only those addresses that have changed the value you entered in the "Value" bar.
Unknown initial value: If you selected "Unknown initial value" on the first scan, select Increased value or Deceased value under "Scan type" depending on whether the value (or measure) increase or decrease. This will scan the entire value up or down instead of scanning for the exact number.
Repeat the search process until you have up to 4 values. You will continue to change numbers and search for updated numbers until you have no more than 4 values displayed in the left part of Cheat Engine.
Gradually you will see the previously searched number displayed in the "Previous" column of each numeric value, while the object's current value will display in the "Value" column.
Add value to address list. You can double-click the value to add it to the address list below, or you can click the address to select it and click the red diagonal arrow in the lower right corner of the value list. This will place the value in the address list at the bottom of the window.
To select multiple addresses, you can press "Shift", then click on the address above and the address below.
Change the number to the value you want. Following are the steps to change the number of values:
Double-click the number under "Value" in the list under Cheat Engine.
Enter the new number in the "Value" field
Click Ok .
Check if the value has been updated in the game. When you reopen the game, the value you edited should be the number you just entered. The next section will show you how to prevent the value from changing by replacing it with inactive code.
You need to change the value one more time before it updates.
Replace the code so the value does not change
Scan for the value you want to stop changing . This section shows you how to use Code Finder to find information related to the address you want to change and replace it with a code that doesn't work. This keeps the value unchanged during the game. Apply the steps in the previous section to find the value you want to change. Next, you'll add that value to the list at the bottom of the screen.
Right-click the address and click Find out what access this address . This is the operation to open Cheat Engine Debugger. You will see commands related to the address you are accessing.
Click Yes . This confirms that you want to add debugging tools to Cheat Engine. The code debugging tool immediately opens. You will see an empty list when the window appears.
Return to the game and change the value again. Again, you need to return to the game and make changes to the value you want to 'freeze'. This causes the code accessing the selected address to be displayed in the debug window.
Return to Cheat Engine and click the command in the list. You will probably see many addresses here. In this case, choose an address unrelated to the original address. Find the command whose values in brackets "[" and "]" are different from the rest.
Click Replace . This replaces that code with a non-operating (NOP) code.
If you see multiple options in the list, select them all.
Click Stop . The code does not work immediately. Thus, the value will not change during the game.
To restore the original code, you need to select the selection in the list and click Show disassembler . Right-click "NOP" and click Restore with original code . If you don't see this option, click Replace with code that does nothing , click Yes . Click NOP again and select Restore with original code .
Use pointer to find elements related to value
Scan for values that need to be changed . Sometimes the value can also change addresses when you restart the game, or while playing the game. You can use pointer to find information related to an address. Once you find a fixed root address that doesn't change, you can change that value.
Right-click the address and click Find out what writes to this address . This will immediately open the debugging tool window.
If there are multiple addresses, you will open as many debug windows as Cheat Engine allows.
Return to the game and change the value again. Again, you need to return to the game and perform the operation to change the value that needs to be changed (such as using a weapon, making the character injured). This opens the address-related command in the debug window.
If nothing changes in the debug window, you are using an incorrect address. Try another address.
Return to Cheat Engine and click the command in the list. This command is available in the debug window. You'll probably see multiple addresses. In this case, look for a command that has a string of characters in brackets "[" and "]" that is different from the rest. If you don't see any addresses with different character strings, try checking to see if all the information has the same pointer or not.
If the character string ends with a + sign and a number (such as [ESI+14]). That's the offset number. Take note of that number, because you will need it in the next step.
Click More information . This shows you the command that appears when the value changes in the Extra Info screen. You will see pointers related to the address.
You can also find the address by checking the characters in brackets, then checking the number after the characters listed below. For example, if you see "[rdx]" next to the address, look for RDX=xxxxxxxx below.
Click the check box next to "Hex" and perform a new scan to find the pointer address. The pointer address is mentioned in the sentence "The value of the pointer needed to find this address is probably xxxxxxxxx". Use the following steps to find the address at the end of this sentence.
Click New Scan .
Click the "Hex" checkbox next to the "Value" field.
Enter the pointer address in the Value field and click First scan .
Double click on the pointer address. This adds the address to the list at the bottom of the Cheat Engine window.
The address displayed in green in the scan results is a fixed address and may also be the pointer you are looking for. In some cases, the pointer you find is also a pointer. This is a multi-level pointer. In this case, you need to repeat the above steps for each found pointer to find the original fixed pointer address.
Double-click the number below "Address". The screen immediately displays the "Change address" dialog box.
Copy the address in this field and click Cancel . To copy an address, simply highlight all the data in the field above the "Change address" box. Right-click and click Copy , then click Cancel to close the field.
Click Add address manually . This is the button in the upper left corner of the list displayed below Cheat Engine. This opens a frame that looks similar to the "Change address" frame, except that this frame allows you to add addresses.
Click the box next to "Pointers". This immediately expands the frame and adds a new data field that allows you to enter a pointer.
Paste the pointer address into the field under "Pointers" and click Ok . This is the operation of adding a new address to the pointer that controls the value you want to change. The newly created pointer address will display as "P-->xxxxxxxx". That tells the pointer to point to a specific address.
If there is an offset number, you will enter it in the space above the pasted address field.
If there is more than one pointer, you will click Add offset . This will help you have more offset numbers above the address paste field. Please enter the correct offset number in each cell.
Click the "Active" box next to the pointer address you just added. This is the box below "Active" in the address list at the bottom of the screen. Thus, the pointer is immediately activated.
Change the value of the address just added. The value of the newly created pointer address should be the same as the address of the value you searched for. If the pointer is related to another address, the original address you scanned will be invalid. However, you can still change the value of the pointer address you just created. This operation is possible regardless of where the value is located. Click the number below "value" for the address you just added. Enter the new numeric value and click Ok .
Use Code Injection to change code
Scan for the value you want to stop . This section shows you how to use Code Injection to change the way your code generates values. For example, if a character loses strength every time he is hit, you can change the code to increase his strength when hit.
Right-click the address and click Find out what access this address . The Cheat Engine Debugger tool immediately displays.
Click Yes . This confirms that you want to add debugging tools to Cheat Engine. The code debugging tool is immediately opened after a click. You will see an empty list when the window displays.
Return to the game and change the value again. Again, you need to return to the game and change the value you want to stop. This causes the code accessing the selected address to be displayed in the debugging tool window.
Return to the game and change the value again. Again, you need to return to the game and change the value you want to stop. This causes the command associated with the address to show up in the debug window.
Return to Cheat Engine and click the command in the list. You will probably see many addresses here. In this case, look for a command with the word "sub" to decrease the value, or the word "add" or "inc" to increase the value.
Click Show disassembler . Thus, the code will show up in the separator tool.
Select the code to decrease or increase the value. Usually this is the first command above the code. The first part of the code usually has the word "Sub" or "Add" with the function of increasing or decreasing the value.
Click Tools and Auto Assemble . This opens the automatic arrangement tool.
Click Template and Full Injection . This brings up a window confirming the address where you want to insert the code.
Make sure it is the correct address and click Ok . Make sure the address in that field is the same as the address selected in the Memory Viewer separation window, then click Ok . The screen will display the new pattern.
Replace the opposing code. Scroll down to the "Code" section. The command line below this section is the code that changes the value. If the command line begins with "sub", you will replace "sub" with "add". If you see a command line that begins with "add", replace "add" with "sub". You can also change the value at the end of the command line to change the amount of difference you want to set for that value.
Click Execute and then click Yes twice. The "Execute" button is below the Code Injection window. You will be asked if you are sure you want to insert the code. Click Yes to confirm. You can then click Yes or No to open the new code in the splitter. If the code is inserted successfully, the value in the game will be the opposite of the action. You will have more ammunition when using weapons, instead of having less ammunition. The character's strength will increase instead of decreasing when hit.
Distinguish objects that share the same code
Scan for the value you want to stop . In some games, many objects have the same code. Inserting code to one object affects all other objects. So when you 'freeze' your power bar, you will see all your opponents' power bars 'freeze' as well. In this case, you need to find a way to differentiate the objects and only insert code that affects the objects you want.
To insert codes for different objects, you need to know some appropriate codes. However, creating a basic programming language is not too difficult.
Right-click the address and click Find out what writes to this address . Once you identify the addresses of values that need to be changed or stopped, find the factors associated with those addresses by opening the debug tool and identifying the associated factors.
Select the command and click Show disassembler . This is the command that is highlighted when you open the debugging tool. This shows you the command in the code disassembler.
Right-click the top command and click Find out what addresses this instruction accesses . The screen immediately appears with a window displaying a list of all addresses that the command accesses when associated with the new address.
Allows all objects in the game to change values. You will see a list of all the addresses that the command accesses. For example, if you want the power bar to stop changing, you can return to the game and let your character be attacked. Thus, the command to access that address will appear in the access address window. If you fight an opponent with the same command, the information is also displayed in the list of counter addresses window.
Select all addresses in the list of access addresses window. Once you have the individual addresses of all objects with the same address in the list of access addresses, you just need to click and drag to select them all.
Or, you can right-click each address and click Show registration states.
Analyze the data structure of all displayed addresses. Use the following steps to analyze the data structure of the entire address:
Right click on the selected address.
Click Open analyze data with selected addresses.
Click Ok .
Enter a name for the data structure and click Ok .
Click Yes .
Enter the initial capacity of the structure or leave it as is, and click Ok .
Find values that are consistent for the player, but distinct from the other audience. Whether you're looking at data structures or storage for each object, you need to find values that are uniform for all allies, but different for opponents. For example, if Group 1 has two characters, and Group 2 has two computer-controlled characters, Group 1's character is represented by the value 1, and Group 2 has the value 2.
If you can't find a uniform value for your ally, but different for your opponent, you can create your own. Just right-click one of the values (such as the pointer), and click Add Element . Select the "4 Bytes" data type and enter a numeric offset value that has not been entered for any other value. The offset number is displayed on the left side of the data analysis structure table.
Note the registry information for the value. Whether you view the registration information view or the data analysis view, the registration information is always on the left. In the registration information interface, it is the actual registration information related to the order (such as RSI, RDX, EDX, etc.). If you are looking at the data structure, the registration information will be the number or character offset on the left.
Open the template to insert new code for the command. Return to the Memory Viewer window and open the new code insertion form for a command related to another address. The steps are as follows:
Click the instructions in the Memory Viewer window.
Click Tools in the menu bar at the top.
Click Auto Assembler .
Click Template in the menu bar above.
Click Code Injection .
Create a new label for the object you want to change. Labels appear above the code insertion form. Add a new label for the object you want to change directly below the existing label. To add a label, simply type labelfollowed by the label's name in parentheses. For example, "label (player)" or "label (opponent)".
Create a new section for the newly created label. To create a new part for a label, you need to enter the label name and a colon (:) in front or after the original code.
Add code to the label that changes the value of the object to be adjusted. This requires you to have some understanding of assembly code. You need to add a line of code that changes the value of the object that needs to be changed the way you want to change the object. Next, add the output line, the original code, and the return code.
Generate the comparison code below "newmem". The command line "newmem:" in the code injection sample indicates that the command needs a new memory address. Typically, this line of code is in the original code labeled (code:) or (originalcode:). Use the "cmp" command to create a line of code that compares the values of different objects at the database or the database plus the offset. For example, if RDX with offset 14 identifies the player group from the computer group, and the player group has the value 1, you would enter cmp [rbx+14],1to check whether that object is a player.
Add a line of code to the section for the object you want to change. Use the "je" command to jump to the section for comparison commands. For example, if your label is "player", add a line je playerto jump to the player section if the value comparison is related to players.
Add transfer code to the original code. After you create a line of code that goes to the section for the object you want to change, you need to add a line of code that goes to the parent if the value is not related to a player or ally. Use the "jmp" command to create a line of code that goes to the original code immediately after the line of code that goes to the original code (or series of code that you create for another purpose).
To simplify operations, you do not need to add new labels. Create a comparison code at the end of the "newmen:" command to distinguish allies from enemies. Add a line of code that goes to the exit if it's an ally. If it's an opponent, you'll pass the command to the parent code. As such, when the player or an ally is attacked (or uses projectile weapons, etc.) nothing will change, but if the opponent is attacked, the code will execute as usual.
Click Execute . This executes the code just entered. If everything goes well, you will have a new code that differentiates between allies and opponents. Here's an example of a simple encoding you can use to distinguish between allies and opponents:
alloc(newmem,2048,"Tutorial-x86_64.exe"+2EB6D) label(returnhere) label(originalcode) label(exit) label(player) //New label for the player. newmem: //This is the new memory address. cmp [rbx+14],1 //Command to differentiate between allied and enemy team members je player //Command to jump to the player section if the target is in the player group. jmp originalcode //Command to jump to original code if object is a rival group. player: //Command to create a new section for the player group jmp exit //Command to move to the exit and not affect the player group. originalcode: //This is the original code movss [rbx+08],xmm0 //Command to execute the original command (for the opponent group) exit: //This is the end of the code. jmp returnhere "Tutorial-x86_64.exe"+2EB6D: jmp newmem returnhere:
Learn Cheat Engine
Learn how Cheat Engine works. This is a program that can access data samples stored in the computer's random access memory (RAM). When you use software, such as games, information is transferred from non-volatile memory such as a hard drive to RAM. From here, information can be read and written. The Cheat Engine program allows you to scan information stored in RAM and change it.
Understand terminology. Cheat Engine processes a lot of high-level computer code. To use the program easily, it's best to learn some terminology. The following are the terms used in Cheat Engine:
Value: Value is any numeric information in a computer program. In games, the value can be a percentage of power, ammo, or the number of objects you have. The Cheat Engine program allows you to scan for variables and make changes.
Address: Address is where information is stored in RAM. Sometimes, the location of the value may change.
Data Type: Data type indicates how the data is saved. These can be bytes (such as 2 bytes, 4 bytes or 8 bytes) and can also be float points or doubles.
Pointer: This is an address that contains a value related to another address. These addresses may change each time you download the game, or while playing the game.
Understand that Cheat Engine is not available on many games. You cannot use Cheat Engine for any game that has anti-cheat measures or online multiplayer functionality, and attempting to use Cheat Engine will usually result in your account or profile being banned. play online games.
If you 'cross the line' and use Cheat Engine to obtain resources that normally have to be purchased with real money, you may be charged with theft.
Cheat Engine is a famous software, so many games have measures to prevent it.
Know which games can use Cheat Engine. You can use the Cheat Engine for older single-player games and Steam single-player games, but the game must have an on-screen value that you can view and change.
Many online games with no community connection (such as no multiplayer and no high scores) are also compatible with Cheat Engine.
You should read it
- Cheat Engine - Download Cheat Engine here
- Complete how to install Cheat Engine and use Cheat Engine when playing games
- How to Use Cheat Engine
- Combining cheat software, changing game parameters offline like Cheat Engine
- The classic cheat codes, almost every 8x 9x player knows by heart
- What is EasyAntiCheat.exe? Should EasyAntiCheat.exe be removed?
- Hack cheat Among Us makes many people playing Among Us bored
- Summary of GTA cheat codes for Street Pirates IV game
- The best Cheat The Sims 4 codes
- PC and PUBG gamer's account using hack / cheat will be permanently banned
- How to Hack Your Wii Games for Free
- Cheat Diablo 2, code Diablo 2
Maybe you are interested
Summary of ways to turn off iPad power Top 10 formulas for VSCO image correction How to Create a Butterfly Clipart How to send self-destruct messages on Nachricht.co Facebook automatically opens the iPhone camera app, update it immediately to fix it How to play YouTube videos when turning off the screen on iPhone