Difference between revisions of "Gamehack tutorials"

From Cheat Engine
Jump to navigation Jump to search
Line 28: Line 28:
  
 
[http://forum.cheatengine.org/viewtopic.php?t=68281 x0r's tutorial on how to find GodMode.]
 
[http://forum.cheatengine.org/viewtopic.php?t=68281 x0r's tutorial on how to find GodMode.]
 +
 +
----
 +
Some games use the same routine for health for the AI as for the player. So simply removing it won't work.In those cases you have to write a script that checks if the object whose health is being decreased belongs to the player or to the AI
 +
In a lot of fps games, you can look at the base class pointer of the object, which is usually the first 4 bytes of the player class/structure. That contains a pointer to a static location (static as in, it can be written as modulename+offset) , in your script you can then check if that value equals the static address it should be, and if so, do not decrease health, else decrease health, or in case of a 1 hit kill cheat, set health to 0
 +
 +
In other games like strategy games where there's not a big distinction between your units and that of the enemy you'll have to find some other kind of identifier. Perhaps the class structure contains a playerid, or a pointer to the controller. In those cases it's best to do multiple code injections. One at a spot to find the player's playerid, or controller pointer (usually gui related code) and at the location where health is decreased. Then at decrease health check if the playerid or playerpointer has been found, and if so, compare, and allow/deny. One tool that can be useful to find the playerid or playerpointer in the class structure of a unit, is the [[Cheat_Engine:Data_dissector|data dissector]]

Revision as of 23:11, 29 August 2009

This entry needs a lot of work. Please contribute if you can.

Check this page to see if there are some suggestions for adding to Gamehack tutorials.

How do I set Cheat Engine 5.5 to my game?

First of all, click the nice computer button in the left top corner of Cheat Engine.
Selectprocess.png
When you clicked this button you can select a process. Look for your game in the list. If the name is not in there, try looking for game.exe. When you selected your game successfully, "No Process Selected" in the middle changes to your game process.

How do I use my Cheat Engine?

Cheat Engine Instructions.png
Here you can see the top half of Cheat Engine. I will now tell you what most of it is for.
1. Here you enter the value you want to search for. You can search for anything, like health and score.
2. Scan values. You can search for different kinds of values here, such as Exact Value, Smaller or Bigger than, Value Between, and Unknown Initial value. The exact value gives you the option to find exactly what you enter. Smaller and bigger than searches for smaller or bigger numbers, so not the entered value included. Unknown initial value is if you don't know what it's yet but you do know it's there. If it's the second search, you can select more. On the second search, you can search for increased or decreased value, for if the value has decreased or increased. Another one is changed value, for if the value has changed, but you don't know what it is. Unchanged value is for if the value is the same as the previous scan. And last, the search for if it's the same as the first scan. Which is quite obvious of what it does.
3. Here you can search for binary, (Single, 2, 4, 8) bytes, binary, float, double, Text, and Array of Bytes.
4. The settings. They actually do exactly as they state they do.
5. The place where the search results will appear.
6. Speedhack, this hack is used to make your game go faster or slower.
7. The search buttons. The buttons will change according to your search numbers.

Where do I find tutorials for hacking?

We have a section on the forum for hacking with Cheat Engine. You can find that here.

Godmode

This is the most known hack for any available game. This hack usually prevents you, or your characters from dying, or losing health. This hack can be there in multiple forms. For example:
- Invulnerability by unable to lose health.
- Invulnerability by being unable to die.
- Invulnerability by being unable to be hit.

x0r's tutorial on how to find GodMode.


Some games use the same routine for health for the AI as for the player. So simply removing it won't work.In those cases you have to write a script that checks if the object whose health is being decreased belongs to the player or to the AI In a lot of fps games, you can look at the base class pointer of the object, which is usually the first 4 bytes of the player class/structure. That contains a pointer to a static location (static as in, it can be written as modulename+offset) , in your script you can then check if that value equals the static address it should be, and if so, do not decrease health, else decrease health, or in case of a 1 hit kill cheat, set health to 0

In other games like strategy games where there's not a big distinction between your units and that of the enemy you'll have to find some other kind of identifier. Perhaps the class structure contains a playerid, or a pointer to the controller. In those cases it's best to do multiple code injections. One at a spot to find the player's playerid, or controller pointer (usually gui related code) and at the location where health is decreased. Then at decrease health check if the playerid or playerpointer has been found, and if so, compare, and allow/deny. One tool that can be useful to find the playerid or playerpointer in the class structure of a unit, is the data dissector