Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The tutorial on cheat engine: (by Kerui Liu)
Since the tutorial web page of this project is down(https://forum.cheatengine.org/viewtopic.php?t=26540), this document will give a detailed tutorial of the cheat engine (which will be called CE in the rest of the file) with a specific example.
(All demonstrations will be presented with the 7.4 version. )
Interface:
The interface of the CE would like this.
The icon in the left top corner is where you should start interacting. It will lead you to a process list that you are currently running. By selecting the program or game you want to modify, you can start to "hack" it. The example, Minecraft will be taken as an example.
To modify the existing data:
Assuming I want to modify the number of dirt, the first step is simply putting the number of dirt cubes in the value section, then doing the first scan. The CE will scan all the memory addresses of the application, then list all addresses where the value is 10. The output of the first scan usually will give a large number, it's impossible we test it one by one, so users may need to do multiple scans by changing the number of the dirt cubes.
After a few times scans, there only a few addresses should be left. There are various situations that may happen:
Please noted that sometimes the application will not just store the data of an item in one address, it could be stored in multiple addresses for various purposes. So, the situation that multiple address values will stay the same even if the user is changing the value will occur. The solution is by examining the address one by one.
In most applications, programmers will tend to plan a certain section of memory for certain purposes, which means the addresses that are used to store the number of items will have a similar pattern, for example, the address of the poppy is BA7CDA8C, accordingly the user can assume that the address 9F50D59C is the address of dirt cube.
The second situation is shown in the picture and it's what the user will commonly see. In this situation, we can see there are three addresses left after scans. However, two of them are in red font. This is because they are in a dynamic motion, as a result of it the value will keep changing. So, when the user is doing the scan, they should always wait a few seconds to see if any of them is dynamic (yes, they will not instantly turn red after a scan) before they start the new scan.
Finally, simply right-click on the address and select the "change value of selected address" option to modify it.
How do you implement testing before you change the value of the address if you are not sure if it's the correct address?
An easy way to test if you are locating the correct address is by examining the memory region. Suppose we don't know
the address of poppy, let's right-click the address BA7CDA8C and select "browse this memory region". A memory viewer will pop out and automatically locate the targeted address. The first section in the address is 5A, which is the hexadecimal of 90, and the number of poppies is 90. The address is proven that is used for poppies
How to do magic out of nothing?
This is not recommended because it may cause the application to crash, and is usually hard to implement.
To get something you don't have, you need to know the "ID" of the item, for example, the "ID" of the poppy is 40 (in hex:28), which you have a rare chance to find on the internet(Even you do, there is a high chance the game versions are not same). Then, you need to empty your backpack (or any form of storage) in the game to avoid crash (if you generate a new item in an address that already has an item, the game crashes). Finally, enter the ID and wish number in the correct section.
Author: Kerui_Liu