Cheat Engine FAQ

## **Beginner Guide to Basic Hacking**

#### **Question: How does different Scan Types and Value Types work? How to use them?**

The answer to this question is targeted to people who have little programming/modding experiences

**> Scan Types <**

There are five, but the most useful three are explained here:

1. **Exact Value:**

Use this only when you are absolutely certain of what a value is, e.g. I currently have 8 dirt blocks, then you scan for 8. My maximum health value is 20 in Minecraft, so I scan for 20.

Pro tips: Rapidly changing values are difficult to locate, that's what the next scan type is about (see #2). E.g. my CURRENT health value is 15, and it's regenerating.

2. **Value Between:**

Use this when you sort of know the range of values you are looking for. E.g. on Day 0 in a Minecraft world, the sun is just rising. Try this command in creative: "/time set day", you will notice that it says in console "time set to 1000". But since time is rapidly changing, you only sort of know the approx. value maybe a range between 1000 and 2000.

Pro tips: If you have no idea of what the value is, scan type #3 is for you.

3. **Unknown Initial Value:**

It scans for all values in memory based on the Value Type you selected.

**> Value Types <**

There are eleven, but the most useful five are explained here:

They are 4-Bytes, Double, Float, All, and Array of Bytes (AoB)

1. **Double and Float:**

Both are USUALLY stored in the decimal format. Double is USUALLY much smaller than Float, so think of it as: a Double is double the decimal points than a Float. E.g. a random Double value: 3.2E-313, a random Float value: 3.2E-60. The value "E" represents the power in base 10. So "3.2E-313" is the same as 3.2 times 10 to the negative 313.

2. **4 Bytes and Array of Bytes (AoB)**

Integers are typically stored as either 4 or 8 bytes. 4-bytes store numbers between -2147483648 and 2147483647. An AoB is a collection of 4-byte values OR a collection of bytes.

3. **All**

Your default "All" scan type is consists of "Double, Float, and 4-bytes." So "All" will scan for all three of them at once.

#### **Question: I want to learn how to hack. Where do I start?**

Use the toolbar on top of the Wiki to navigate through the resources.

## **Intermediate Guide to Basic Hacking**

#### **Question: The value is server-sided, and I can only find what seems to be a display value, what do I do?**

Tip #1: Knowing what to change is really important. For example, you want to make a tiles hack on BMC, so you scan for "Changed" whenever you gain more tiles and "Unchanged" whenever you have the same number of tiles.

Tip #2: The reason to not scan for "Increased" "Decreased" or in "Exact" is because encrypted and server-sided values are stored randomly but some do change, just not in the way you want them to. For example, if the display value says you have $1000, the encrypted value may be a random 4-byte with a value of 1273568.

#### **Question: How to make your program less ?**

* Encryption is one way of hiding private and important info. Doing so converts information like your house address and credit card number to codes.
* Java programmers use encapsulation to confuse whoever looks at the code. They do this by doing every processing info outside of the client program, which is usually Main.java.
* There's also obfuscation, which means assigning random names and symbols to variables.