HOME / CHEAT TERMS & TUTORIALS / GAME MEMORY EDIT TUTORIAL

Tutorial


Game Memory Edit Tutorial by CreHx

CreHx Cheats - StarShip Ranger v1.86 Tutorial - Part #1 of 4
© Copyright Jan.18 - 2007 by CreHx

NOTE: READER ALERT - This one is so easy it may bore the more advanced GameHacker, so easy in fact, that it's a possibility a new PC User may even pick it up quite quickly. (But I would never recommened that a new PC user to try this as there are many things to learn about MS Windows before hand)

It's also best to know the basic's of Assembly Language.

Part #1 Very Beginner Level A simple Nop Unlimited Lives
Part #2 Beginner Level A simple change of 1 byte Unlimited Missiles
Part #3 Intermediate Level A simple change of 1 byte Unlimited Fuel
Part #4 Intermediate Level A CodeCave example Unlimited Energy

Part #1:Status - "Very Beginner Level", How to find - Unlimited Lives"
(Unlimited Lives and the use of T-Search)

Things Needed:

TSearch v1.6b
www.google.com
Might have to try and find it.

Starship Ranger v1.86
www.ArcadeStudio.com
Should work on any version but address's may very. Most games use DMA now anyway, so they will be different, but we will bypass the dma and those address's will be the same unless you have a different version of the game. "DMA" - Dynamic Memory Allocation.

Unlimited Lives:

1. Start TSearch. Size up the TSearch window to your likeing, then continue on.

2. Run StarShip Ranger v1.86 game.
Select: New Game.
Select Episode 1 (this dont really matter, but I figure it's the easiest)
We notice we start out with 3 Lives, press "P" to pause game.
Now we need to minimize the game window, Hold ALT key and press TAB key.

3. Now back in TSearch
Click on the "Open Process" button.
Select "starship.exe"

Now select the 1st magnifying glass under the open process button.

A Search box pops up: (Search type we need to do)

Search: Exact Value
Value: 3 <---- Make sure to put 3 for Value. (This is your lives)
Type: 4 Bytes

OK <---- Click ok.

30,000+ addresses, now click "Ok" on top of that window box.

4. Now go back to the game by clicking on the "StarShip Ranger" on the task bar.
Unpause and crash into something to loose 1 life
Pause game, (remember to always pause) and go back to TSearch, alt+tab.

5. Now we want to click the 2nd magnifying glass. (we use the 2nd mag-glass from now on)

Value: 2 <---- Make sure to put 2 for Value. (This is your new value of lives left)

Click OK, alot less addresses will be found this time. Click ok.


6. Go back to game and loose another life.

7. Back in TSearch, (you guesed it) 2nd mag-glass, and Value of (you guessed it again) 1 We now see 5 addresses listed (maybe you have more or less), and most of the time, the one that starts with a 4 is the one used to store what we need (most of the time, anyway)

Since I know this address (4D650C) does not use DMA lets go back to the game. (If your using the same version of the game, this addy must be the same, unless it uses a different kind of DMA, I hope it's the same as I have, anyway it "should" be unless you have a different version of the game)

8. Loose the last Life and then, choose New Game, Episode 1. Now we have 3 Lives again.

9. Back in TSearch, we see those address, only one of them should have a 3, but go ahead and search using the 2nd mag-glass and search Value of 3

Great only 1, now that is our address we need. Click on it to select it, and click the little green plus button to add it to the other side of the TSearch window, or you could double-click on it to add it.

Now the real fun begins: (When I refer to Tsearch we will be working with this from now on)

Description - the little square there is so you can click in it to freeze (Lock) the value at 3 but, were not going to do that just yet, other part you can click inside of to give it a name such as LIVES

Address - this display's the address, you can click inside of it to change it also, but we dont want to do that.

Value - display the value of current lives, lets change this, click inside on the 3 and change it to 9, make sure that the cursor has no blink to it when your done so as to make it so. (After doing this you can go back to game and see this wonderful thing in action)

Type - 4 Bytes, can be changed, but there is no need in that.

Note: TSearch were going to call TS, from now on, because were going to have another window soon called AutoHack or AutoHack Window or AH for short, and the game Starship Ranger we'll call SR for short.

Ok, at the top of TS click the Autohack menu option: click, Enable debugger

Again, at the top of TS click the Autohack menu option: click, AutoHack window

You will see that there is a top and bottom part to this window. (Size up and postion this window to your likeing, then continue on, you'll want it fairly wide)

Now what we want to do is, go to TS and right-click on the LIVES we found, a menu will popup, at the bottom of this little menu select AutoHack.


10. Go back to SR, loose a life, pause, go back to AH (Autohack Window). There should be an Address in the top section, click once on it. Now in the bottom half there should be the game's program code.

This display's the:

Address Op-Codes Assembly instructions

0046D23B A30C654D00 mov [0x4D650C],eax

In the bottom half of window, right-click the top line and select Backward
You should then see something like this:

mov [0x4D650C],eax
mov - means to copy
The instruction says to copy the value in eax into the address 4D650C
(it works backward like that)

EAX
We need to find where eax decresses and stop that from happening.

2 lines above this one, is this line:
0046d238 48 dec eax

So how do we stop this from decressing? Right-click on it, and choose: Nop this line

Now it should look like this:
0046d238 90 nop

11. Go back to SR (the game) and loose a couple lives. You have succeeded in cheating the lives in this game !!!

If you wanted to make a Trainer, this would be the address and opcodes to use.

46D238 48
90

If you were to use TMK 1.51 (Trainer Maker Kit)

Unlimited lives: ON Poke 46D238 90
Unlimited Lives: OFF Poke 46D238 48

I wont be explaining how to use TMK thouh, there are more Tut's out there on that.


Part #2: Status - "Begginer Level", How to find - "Unlimited Missiles"

Things Needed:

TSearch v1.6b
www.google.com
Might have to try and find it.

Starship Ranger v1.86
www.ArcadeStudio.com
Should work on any version but address's may very. Most games use DMA now anyway, so they will be different, but we will bypass the dma and those address's will be the same unless you have a different version of the game. "DMA" - Dynamic Memory Allocation.

Unlimited Missiles:

1. Start TSearch. Size up the TSearch window to your likeing, then continue on.

2. Run StarShip Ranger v1.86 game.
Select: New Game.
Select Episode 1 (this dont really matter, but I figure it's the easiest)
We notice we start out with 20 Missiles, press "P" to pause game.
Now we need to alt+tab to minimize the game window.

3. Now back in TSearch
Click on the "Open Process" button.
Select "starship.exe"

Now select the 1st magnifying glass under the open process button.

A Search box pops up: (Search type we need to do)

Search: Exact Value
Value: 20 <---- Make sure to put 20 for Value. (This is your Missles)
Type: 4 Bytes

OK <---- Click ok.

4,000+ addresses, now click "Ok" on top of that window box.

4. Now go back to the game. Unpause and fire the missiles 2 times. You will see that each time you fire them off it drops by 2.
You should have 16 missles left. Pause game, (remember to always pause) and go back to TSearch, alt+tab.

5. Now we want to click the 2nd magnifying glass.

Now we want to click the 2nd magnifying glass. (we use the 2nd mag-glass from now on)

Value: 16 <---- Make sure to put 16

Click OK, alot less addresses will be found this time. Click ok.

6. Go back to SR (the game) and fire the missles 3 times. You should have 10 missles left

7. Back in TSearch, (you guesed it) 2nd mag-glass, and Value of (you guessed it again) 10 We now see 1 address listed. Since I know this address is DMA you will have a different address then I do, even if we have the same version of the game.

Double-click on it, to add it to the right side.

Now the real fun begins:

Description - the little square there is so you can click in it to freeze (Lock) the value at 10 but, were not going to do that just yet, other part you can click inside of to give it a name such as MISSILES

Address - this display's the address, you can click inside of it to change it also, but we dont want to do that.

Value - display the value of current Missiles, you can change this value to 20 if you like make sure that the cursor has no blink to it when your done so as to make it so. (After doing this you can go back to game and see this wonderful thing in action)

Type - 4 Bytes, can be changed, but there is no need in that.

Note: TSearch were going to call TS, from now on, because were going to have another window soon called AutoHack or AutoHack Window or AH for short, and the game Starship Ranger we'll call SR for short.

Ok, at the top of TS click the Autohack menu option: click, Enable debugger

Again, at the top of TS click the Autohack menu option: click, AutoHack window

You will see that there is a top and bottom part to this window. (Size up and postion this window to your likeing, then continue on, you'll want it fairly wide)

Now what we want to do is, go to TS and right-click on the MISSLES we found, a menu
will popup, at the bottom of this little menu select AutoHack.

8. Go back to SR, fire Missles once, pause, go back to AH (Autohack Window).

9. There should be an Address in the top section, click once on it. Now in the bottom half there should be the game's program code.
This display's the:

Address Op-Codes Assembly Instructions

0043a4a4 890C90 mov [eax+edx*4],ecx

In the bottom half of window, right-click the top line and select "Backward" you should then see something like this:

0043a49b 8B0C90 mov ecx,[eax+edx*4]
0043a49e 83C1FE add ecx,-0x2
0043a4a1 83C330 add ebx,0x30
0043a4a4 890C90 mov [eax+edx*4],ecx

This time, what your really looking for is a SUB (subtract)
But it's not there...

Let's look closely at this line:

0043a49e 83C1FE add ecx,-0x2

What does this say (you might ask) "add ecx,-0x2"

It says: "Add -2 to ECX"

This is where ecx is decreasing. Believe or not there are 2 ways to stop this!

You will notice these, Op-Codes: 83 C1 FE

1st way. You can Nop that line, and it'll work.
2nd way. There is a much better way to do this.

We can change 1 byte instead of 3

Lets change this: 83C1FE
To this: 83C100

Right click on this line:

0043a49e 83C1FE add ecx,-0x2

And select Assemble
Change this: add ecx,-0x2
to this: add ecx,-0x0

Just replace the 2 with a 0 <-- Zero

10. Now you can go back to SR and fire off some Missiles

Congrats, you have just made a cheat for Unlimited Missles.

Trainer Codes:

In order to understand an address of the byte to change, I give you this next example.

0043A49E 83C1FE add ecx,-0x2

The byte FE is at address: 0043A4A0

If we could put each byte at a single address it would look like this

0043A49E 83
0043A49F C1
0043A4A0 FE

You may have to learn to count in hex to understand why A0 comes after 9F The address is counted in hex and the opcodes are also, it's actually just as easy to count 19 to 20, it works in simular the same way...

BASE 16
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22

and so on, and so on
all the way up to: FF

I give you this example:

lets pretend 19 = 9F (We know it really doesn't)
lets pretend 20 = A0 (maybe you can see now it's pretty simple once learned)


          |------------- Address: 0043A49E <--9E
          |
          |  |---------- Address: 0043A49F <--9F
          |  |
          |  |  |------- Address: 0043A4A0 <--A0
          |  |  |
          |  |  |
0043A49E 83 C1 FE


As you'll notice "A0" comes right before the next byte at address "A1" in the next line.

0043a49e 83C1FE add ecx,-0x2
0043a4a1  83C330 add ebx,0x30

So if we were to make a Trainer that would change 1 byte instead of 3 bytes

We would use this:

Missle Cheat ON: Poke 43A4A0 00
Missle Cheat OFF: Poke 43A4A0 FE

The above are for TMK (Trainer Maker Kit)


Part #3: Status - "Intermediate Level", How to find - "Unlimited Fuel"

Things Needed:

TSearch v1.6b
www.google.com
Might have to try and find it.

Starship Ranger v1.86
www.ArcadeStudio.com
Should work on any version but address's may very. Most games use DMA now anyway, so they will be different, but we will bypass the dma and those address's will be the same unless you have a different version of the game. "DMA" - Dynamic Memory Allocation.

Unlimited Fuel:

Note: Before doing this you should have unlimited lives turned ON (see part #1) so as to not have to start game over and risk loosing the address do to dma. Also, your fixing to have alot of work to do in this one.

1. Start TSearch. Size up the TSearch window to your likeing, then continue on.

2. Run StarShip Ranger v1.86 game.
Select New Game.
Select Episode 1 (this dont really matter, but I figure it's the easiest)
We notice we start out with an unknown value for the Fuel, pause game.
Minimize the game window.

3. Now back in TSearch (called TS from now on)
Open Process, starship.exe

Do your 1st search. (Make sure Type is set to 4 bytes)

Search: Unknown
Value:
Type: 4 Bytes

Ok, then Ok

1,000,000+ addresses.

Note: This may not be the "correct way" but, this is how I did it. (I might should have searched for a float value, but, ah-well...)

4. Now back to the game, Starship Ranger (called SR from now on) Let the Fuel be consumed for a second. Note: Stay away from fuel pads. Always remember to pause game.

5. Back in TS
Do a next search.
Search: Has Decreased
Ok. then ok.

6. Back in SR
Unpause and let Fuel be consumed for a second or 2
Stay away from fuel pads.

7. Repeat steps 5 and 6 until you get low on fuel.
You can let your ship die at this point and when starting anew you will be at a higher value of fuel, (OR) Re-Fuel at a FuelPad, then...

8. Back in TS
Do a next search:
Search: Has Increased
Ok. then ok.

9. Repeat step 5
Repeat step 6

10. Again, repeat the steps 5 through 9 until you have less then
20 address's left...

(I'll be here when you return)

Note: Yes, GameHacking is alot of work sometimes, but I love it...I can say that Part #4 when we find the Energy will be alot more easy, except the CodeCave, which I plan on making it fun.

11. I'm about to ask you something you may not wish to do, believe me when I say I know it's a pain, but do the above some more till
you get the number of address's down to 16 or less. The less, the better, trust me on this.

When your ready let's continue...

12. Because of DMA even if we have the same version of the game the following address's you and I have may be different:

Here is what I have. I have 16 Address's, yes, I'll list all16 + there values

Address Value

  4F37A0 1108559604
  4F37A1 54661958
* 4F37A2 213523
  A58F37 3166568448
  A58F38 1119665664
  A58F39 37928126
* A58F3A 148156
  B889CB 1209078908
  B889CC 1112019220
  B889CD 4343825
* B889CE 16968
  B88A1F 1905723962
  B88A20 1064408842
  B88A23 1661014335
  B88A24 1147339025
* B88A25 4481793

Note: Your address's should be very close to what you see here, they may not be the same, but close to it. This tells us 1 very important thing, we should have searched for a Float or Double values, but needless to say, I could not locate the correct address, so I had to use "any means nessessary" to find my Cheat, lol. I know it's alot of work, and sometimes when you add an address to be autohacked it throws you out of the game, and you have to start all over again. The joys of being a GameHacker... ;)

The above adrress's, you'll notice, follow in a sequence. It is a sure bet, that we only need the last one of this kind of thing, what I mean is the last address of a sequence.

Example: (One of these, is the one we are looking for) (see above where marked with "*")

  4F37A2 213523
  A58F3A 148156
  B889CE 16968
  B88A25 4481793

Note: "most" of the time, the one were looking for will start with a 4 or A (most of the time anyway)

  4F37A2 213523
  A58F3A 148156

To save you some time, let's AutoHack the one that starts with a "A" (Myself I would have 1st checked the one that had the 4 which I did already, it was not the one needed)

Double click on it to add it to the right side of TS window.
Enable Dubbuger
Open Autohack window

A58F3A (Right-click, and "Autohack" this!)
Note that your address might not be the same, but will be fairly close to this.

13. Back in SR loose a little Fuel, now pause, and.....

14. Now this is interesting:

in the top half of this autohack window, click once on this instruction, in the bottom half right-click on the top line, and choose "Backward", you should see this, in fact you will see this.

00438afd DCC0 fadd st(0),st(0)
00438aff D8AD78020000 fsubr dword ptr [ebp+0x278] ***
00438b05 D99578020000 fst dword ptr [ebp+0x278]

*** This is the instruction that decrease's our fuel, we want to stop this from happening.

00438aff D8AD78020000 fsubr dword ptr [ebp+0x278]

So right-click on the above line and choose "assemble"

Change this:
fsubr dword ptr [ebp+0x278]
to this: fadd dword ptr [ebp+0x278]

Now we see this:

00438aff D88578020000 fadd dword ptr [ebp+0x278]

D8AD78020000 - Opcodes of original.
D88578020000 - Opcodes we modified.

We changed the AD to 85

You can go back to SR and check out what happens to your Fuel... Cool eh ?

00438AFF - What comes after this address on this single byte?
00438B00 - this does, byte position, this is important to know how to count in hex or understand hex counting (so to speek)

Note: Please see Tutorial #2 for byte position example.

Trainer codes: (a 1 byte Change!)

Fuel Cheat ON - 00438B00 85 - Modified Value
Fuel Cheat OFF - 00438B00 AD - Original Value


Part #4: Status - "Intermediate Level", How to find - "Unlimited Energy"

Note's: Even when this says: "Intermediate Level" I still try to make it easy for the beginner...
Some of the pro's out there might look down on me for the way I do this, but as I say, use any means to cheat it! ;) It works for me.

Things Needed:

TSearch v1.6b
www.google.com
Might have to try and find it.

TCCT - Tsongkie’s Code Cave Tool
www.google.com
Might have to try and find it.

Starship Ranger v1.86
www.ArcadeStudio.com
Should work on any version but address's may very. Most games use DMA now anyway, so they will be different, but we will bypass the dma and those address's will be the same unless you have a different version of the game. "DMA" - Dynamic Memory Allocation.

Note:
I wanted to create a +6 trainer but I never could find where the sheild was stored in memory, i have searched many many times, but
as the Energy cheat is a godmode like code there is no real need, but it still would have been nice to be in there.

I must say, that I dont think you'll find another tutorial, out there written like the way this one is, I never did learn to use TSearch's
easywrite, and I did my thing, my own way, what I did works for me, and I say if you find something, that works for you, then use it, I share this info with you today.

Also, I am going to try, to make this so easy, that a flood of new GameHackers will rise from the shadows..

One could only hope...
CreHx

Unlimited Energy:

Note: Before we begin, you might at least want to have unlimited lives.

1. Start TSearch. Size up the TSearch window to your likeing, then continue on.

2. Run StarShip Ranger v1.86 game.
Select: New Game.
Select Episode 1 (this dont really matter, but I figure it's the easiest)
We notice we start out with 20 Missiles, press "P" to pause game.
Now we need to alt+tab to minimize the game window.

3. Now back in TSearch (called TS from now on)
Open Process, starship.exe

For our 1st search:
Exact Value
100
4 Bytes

We have about a thousand addy's, now lets narrow this down...

SideNote: The very 1st time I searched this I did an unknown value search, I learned soon enough that it started with this easy to search for value.

4. Back to starship Ranger (SR from now on)
crash you ship into "one" of the enemy's, to loose some energy.

5. In TS do a next search for "Has decreased"

6. In SR crash and get a new ship, so your back at full energy.

7. Next search: Exact Value 100. We have 2 addy's to work with, so...

8. Back in SR, crash into 1 of the enemy ships, loose some energy.

9. In TS do next search for "Has Decreased". Now you should have 1 address, if not, repeat from step 6.

Now that we have our address, we will need to AutoHack this.
(by now you should know how this is done, see previous parts 1, 2, and 3)

I'll be here when you return....

10. Now while you are AutoHacking this, you must play the game for a little bit.

These will be the things you need to do:
1. Die (must loose a Ship)
2. Kill some Enemies, collect an Energy bonus!
3. Must pause game when done.

I'll be here when you return...

11. CodeCave Info:
Note: You are about to learn a way to create a code cave in the likes of which has never before been seen in any tutorial (at least I don't
think it has), This is much more easy for me anyway, and it gets the address's and opcodes needed to make a Trainer. This works for me, as i dont use the easywrite in TSearch. "If" this is a "more easy" way, for you, then use it.

We should see 4 addy's in the top of the AutoHack window. (AH from now on)

Actually this one is all we really need:

mov   [esi+0x270],eax - This is what decrease's our energy, we want to stop this from happening. (To NOP this will NOT work)

We just need to visually see, at least one of these:

mov dword ptr [eax+0x270],0x64
mov dword ptr [ebp+0x270],0x64
mov dword ptr [edx+0x270],0x64

These, are what makes our energy go back to being at full again.

You will notice, we see:
esi+0x270
eax+0x270
ebp+0x270
edx+0x270

Now, here's what we need to do, in order to have full energy all the time:

mov dword ptr [esi+0x270],0x64

But this will have too many opcodes to replace that 1st instrucion. The 64 you see is a value in hex, it equals 100 in decimal.

I'm sure as you learn more ASM you'll be able to figure these things out on your own. (and it is hard at first, and I still hardly understand it myself, but I'm never going to give up - What I mean is, I understand some things, and I'm still learning new things).

Do as I do, and we should succeed in this codcave...

This is what you should see in the bottom half of the AH window, unless your using a different version of SR.

0043aa5c 898670020000 mov [esi+0x270],eax
0043aa62 5E pop esi
0043aa63 C20400 retn 0x4

Now let's find a codecave to work with.
Start TCCT and type in the name exactly like you see it in the the taskbar,
it is case sensitive, so it must be exact.
StarShip Ranger
That is, 2 upper case S's and a space and an upper case R
No not SS R
Use StarShip Ranger
Then click search

00010ABF - I choose this one.
Close TCCT

It's always best to have pencil and paper or notepad open to take notes and such...

Now in order to create this codecave:
Note: DO NOT go back to game until completly done with this. Right click on the following and select "Nop this line", yes, on the bottom half of the AH window

0043aa5c 898670020000 mov [esi+0x270],eax

Notice these opcodes are 6(six) bytes 89 86 70 02 00 00
The instrucion we need to replace it with is 10(ten) bytes, you'll soon see. This is main reson in creating a codecave.

Now you should see something like this:

0043aa5c 90 nop
0043aa5d 90 nop
0043aa5e 90 nop
0043aa5f 90 nop
0043aa60 90 nop
0043aa61 90 nop
0043aa62 5E pop esi
0043aa63 C20400 retn 0x4

It has turned into 6 nop's

Now right-click on this one and choose assemble

0043aa5c 90 nop

In this little box type in: jmp 0x00010ABF
(Note: we will come back to change this agian soon, because I like to use something a little further down)

You will now see this:

0043aa5c E95E60BDFF jmp 0x00010ABF
0043aa61 90 nop
0043aa62 5E pop esi
0043aa63 C20400 retn 0x4

That creates our jump to the codecave.
(The jump is 5 bytes, so that extra nop is suppoesed to be there, under the nop, is where we need to jump back from the codecave)

Now for the CodeCave itself:
Double click this line to "go" there

0043aa5c E95E60BDFF jmp 0x00010ABF

You should see this:

00010abf 0000 add [eax],al
00010ac1 0000 add [eax],al
00010ac3 0000 add [eax],al
00010ac5 0000 add [eax],al
00010ac7 0000 add [eax],al
00010ac9 0000 add [eax],al
00010acb 0000 add [eax],al
00010acd 0000 add [eax],al
00010acf 0000 add [eax],al
00010ad1 0000 add [eax],al
00010ad3 0000 add [eax],al
00010ad5 0000 add [eax],al
00010ad7 0000 add [eax],al
00010ad9 0000 add [eax],al
00010adb 0000 add [eax],al
* 00010add 0000 add [eax],al
00010adf 0000 add [eax],al
00010ae1 0000 add [eax],al
00010ae3 0000 add [eax],al

* Let's use this address as our codecave, we will of course fix the jump we made a minute ago to go here, in a few more moments...
(sorry for the really long list "nothing code" there)

00010add - This one looks good to me, we could have used 00010abf but as I said I like it a little furthur down.

Right click this line and choose "Assemble"

00010add 0000 add [eax],al

Type in: mov dword ptr [esi+0x270],0x64

What this does is every time you get hit or crash it keeps your energy at 100 max no matter what. (Godmode like code)

You now should see this:

00010adb 0000 add [eax],al
00010add C7867002000064000000 mov dword ptr [esi+0x270],0x64
* 00010ae7 0000 add [eax],al
00010ae9 0000 add [eax],al
00010aeb 0000 add [eax],al
00010aed 0000 add [eax],al
     

* This is where we jump back to the original code

Now right-click this line, and select "Assemble"

00010ae7 0000 add [eax],al

type in: jmp 0x0043AA62

Scroll up and check (in this document), the line we must go back to was the next instruction)

0043aa62 5E pop esi

You should now see this:

00010adb 0000 add [eax],al
00010add C7867002000064000000 mov dword ptr [esi+0x270],0x64
00010ae7 E9769F4200 jmp 0x0043AA62
00010aec 0000 add [eax],al

Note: (I will mention something else that is important here in a little bit)

We are done here, but we need to fix the 1st jump we created to get here.

00010add - This is the final address where the codecave starts, the 1st jump needs to be change so that it jumps to this.

Now double-click this line:

00010ae7 E9769F4200 jmp 0x0043AA62

Now right-click this line, and choose "Backward"

0043aa62 5E pop esi

You should see this:

0043aa5c E95E60BDFF jmp 0x00010ABF
0043aa61 90 nop
0043aa62 5E pop esi

Right-click this 1st jump we made and fix the address to the one we used. Choose "Assemble" and change the BF to DD like so:
change this:

0043aa5c E95E60BDFF jmp 0x00010ABF

to this:

0043aa5c E95E60BDFF jmp 0x00010ADD

Now you should see this:

0043aa5c E97C60BDFF jmp 0x00010ADD
0043aa61 90 nop
0043aa62 5E pop esi
0043aa63 C20400 retn 0x4

This Cheat is now complete...
You should now have Unlimited Energy.
Go back to game, get shot, and crash into things to test.

Important Note:
In the codecave there are 15 bytes we have changed, we need to even those bytes out to an even 16 bytes, after the jump from
codecave there needs to be 1 nop, but we can't do this with the autohack window, it must be done when trainer is made.

Here are the address's and opcodes for this cheat:

Orginal Code: 0043AA5C 898670020000
CodeCave: 00010ADD C7867002000064000000E9769F420090
Modified Orginal: 0043AA5C E97C60BDFF90

When making a trainer do a codecave, create codecave first 1st, then create the jump to it. When trainer turns off the cheat, all it has to do is just replace the, modified with the original.

Reading many more Tutorial's will help you to learn more.

I tried to make this simple as I could, I hope it was easy and someone learns something, besides me being partly a newb myself after more then 2 years of learning this stuff...

Well, this is my last part, of a 4 part tutorial. I hope you enjoyed it.


A few words and insight, my thoughts:

I like the word "Unlimited" better then I do "Infinite"
The programmers of TMK and GTS should work together, and create the Ultimate Trainer Maker Creator Tool.
I would love to hear your comments on this 4 part tutorial.
I wish everyone peace, happyness, and fun.
CreHx Cheats, sounds good enough to be a team name. hmm...
Well, take care and be safe ya'll...
I'm a Man on a Mission!

Thanx: To all in #gamehacking, CheatHappens, and many more.
Greetz: To ALL!

Some do not eat, some have pizza, some do only what they like...
My mission is somewhat over. (been there, done that, it was fun)

PS. I believe in SP (SinglePlayer) Cheats only.

Contact: [email protected]
https://www.cheathappens.com/user_pofile.asp?userID=8178