Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


[TUT] Dealing with dynamic code addresses

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials
View previous topic :: View next topic  
Author Message
sven3107
Expert Cheater
Reputation: 0

Joined: 04 Feb 2009
Posts: 118
Location: Belgium

PostPosted: Sun Mar 01, 2009 3:29 pm    Post subject: [TUT] Dealing with dynamic code addresses Reply with quote

Okay, this is just a simple guide for those who have trouble with finding or addressing opcodes in the disassembler.
Sometimes it can occur that it's impossible to find a pointer because the addresses are stored in the debug registers and not in a plain simple address.
In that case it would be very hard to find a pointer and it would be very easy to just find the code that writes to the address and make an auto-assemble cheat.
But there are cases in wich the location of the code changes as well, this does not happen on all games or all codes but it does occur.
In that case it would be impossible to make an entry in your cheat table by just using a hex address. This tutorial shows how this can be done in case you're relatively new to CE or assembler code, I will be using Unreal Tournament 2004 as an example of moving code.

In this case i want to make a table than can remove gravity, now I already found that the following code writes to the falling speed of players
Code:
007fd7a6 - 89 41 08 - mov [ecx+08],eax

It would be simple to just use the code list but all I can do from there is NOP a code so i need an entry in the cheat table like this
Code:

[ENABLE]
007FD7A6:
db 90 90 90
[DISABLE]
007FD7A6:
db 89 41 08


This would just take the code away but only for once, I restart the game and now the code at 007FD7A6 reads
Code:
007fd7a6 - 50 - push eax

this is caused by the moving codes, this can easily be solved by nopping the code in your code list, restoring it, and opening the disassembler there.
Note the the address is now completely different from the previous one but above the code window is a label and an offset, it reads the following address
Code:
APawn::physFalling+5F6

This is what is used by the code list to get to the correct code and open replace it with NOPs so i can use that in my assembler to make my code work.
This is what the final code looks like
Code:

[ENABLE]
APawn::physFalling+5F6:
db 90 90 90
[DISABLE]
APawn::physFalling+5F6:
db 89 41 08

This is a very versatile way of finding the correct code in an executable that will ALWAYS work (unless you use a different game or version).

Note that it can occur that the top bar just reads the address of the code in plain hex and not as a label. Don't worry, that means the code is not dynamic and will stay where it is even if you buy another PC and play the game there.

I hope this tutorial was helpful and I REALLY hope i didn't screw my codes up causing everyones PC to crash.
If you want the table for UT2004 or the demo version, you can find it on the tables section of the forum and soon on the main site.
Back to top
View user's profile Send private message Send e-mail MSN Messenger
Butcher
Expert Cheater
Reputation: 0

Joined: 04 Mar 2009
Posts: 125
Location: lAS vEGAS no joke

PostPosted: Thu Mar 05, 2009 5:14 pm    Post subject: Reply with quote

thanks
Back to top
View user's profile Send private message
sven3107
Expert Cheater
Reputation: 0

Joined: 04 Feb 2009
Posts: 118
Location: Belgium

PostPosted: Fri Mar 06, 2009 12:46 pm    Post subject: Reply with quote

no problem
Back to top
View user's profile Send private message Send e-mail MSN Messenger
Butcher
Expert Cheater
Reputation: 0

Joined: 04 Mar 2009
Posts: 125
Location: lAS vEGAS no joke

PostPosted: Sat Mar 07, 2009 3:57 pm    Post subject: Reply with quote

um, this is complicated =[ this is what i would do?

actually i have no idea on how to do this.

a pointer for a noob on what i shud do? please? brb i hvae to restart my computer, spyware doctor froze and i cant access my C drive *.*
Back to top
View user's profile Send private message
sven3107
Expert Cheater
Reputation: 0

Joined: 04 Feb 2009
Posts: 118
Location: Belgium

PostPosted: Sun Mar 08, 2009 6:52 am    Post subject: Reply with quote

you did do the cheat engine totorial right?
Back to top
View user's profile Send private message Send e-mail MSN Messenger
Butcher
Expert Cheater
Reputation: 0

Joined: 04 Mar 2009
Posts: 125
Location: lAS vEGAS no joke

PostPosted: Mon Mar 09, 2009 11:42 am    Post subject: Reply with quote

kinda, i got most of it done. I skipped the last 2 parts or something like that, might have been 3.
Back to top
View user's profile Send private message
sven3107
Expert Cheater
Reputation: 0

Joined: 04 Feb 2009
Posts: 118
Location: Belgium

PostPosted: Mon Mar 09, 2009 1:23 pm    Post subject: Reply with quote

it has 9 steps, the last 2 or 3 can be skipped.
Back to top
View user's profile Send private message Send e-mail MSN Messenger
Butcher
Expert Cheater
Reputation: 0

Joined: 04 Mar 2009
Posts: 125
Location: lAS vEGAS no joke

PostPosted: Thu Mar 19, 2009 3:07 pm    Post subject: Reply with quote

kk, im hacking Ut3, lol, i need help with this please. where do i enter the

[ENABLE]
007FD7A6:
db 90 90 90
[DISABLE]
007FD7A6:
db 89 41 08

?
nvm I FOUND IT OUT YESSS HAHAHAHAHAHAHHA OWNAGEASDFASDFASDFSDF

http://forum.cheatengine.org/viewtopic.php?t=259549 THIS HELPED A LOT ALSO


thx
Back to top
View user's profile Send private message
CodeKiller
Advanced Cheater
Reputation: 0

Joined: 30 Jun 2009
Posts: 87

PostPosted: Sun Mar 14, 2010 8:41 am    Post subject: Reply with quote

Hum... I even didn't know that code can change location... -_-'
But already noticed some game.exe+number and didn't know it was the other way to access code. Razz
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites