Here's the official webpage:
http://www.cheatengine.org/
It's easy to use, and very useful. How to use:
Let's take a normal plataform PC game. You first open the program, then click on the upper right button with a screen. Then search the process of the game with the process list. Let's say you have 5 lifes, and want 99 lifes. First click New Scan. Then you shall put in the Value line the lifes you actually have, then use Exact Value scan type, and 1 byte value (one byte = 2 digits). After this, click First Scan. You will have a lot of results. After this *go back to the game and win/lose lifes. After changing your life's value, go back to Cheat Engine, and replace the old value's lifes with the new value of lifes, then click next scan. Repeat from the asterisk (*) until you come up with only one result. That's your lifes value. Now, doubleclick it, and it will appear in the list on the bottom. Doubleclick the Value, and change it to... Let's say... 99. Go back to the game and you will have 99 lifes. Cool.
You can use this in other games for ammunation, amount of items, amount of life, etc. BTW if you use freeze button, the value will stay there, so if you lose a life, it won't decrease.
Be careful using this tough, it can mess up your game, altrough I haven't had problems til now.
This "How to Use" is lacking on explanation and all, but you can seek another better one if you don't understand this one. Hope you like it, and good cheating
.