View previous topic :: View next topic |
Author |
Message |
sven3107 Expert Cheater
Reputation: 0
Joined: 04 Feb 2009 Posts: 118 Location: Belgium
|
Posted: Sun Mar 01, 2009 3:29 pm Post subject: [TUT] Dealing with dynamic code addresses |
|
|
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 |
|
 |
Butcher Expert Cheater
Reputation: 0
Joined: 04 Mar 2009 Posts: 125 Location: lAS vEGAS no joke
|
Posted: Thu Mar 05, 2009 5:14 pm Post subject: |
|
|
thanks
|
|
Back to top |
|
 |
sven3107 Expert Cheater
Reputation: 0
Joined: 04 Feb 2009 Posts: 118 Location: Belgium
|
Posted: Fri Mar 06, 2009 12:46 pm Post subject: |
|
|
no problem
|
|
Back to top |
|
 |
Butcher Expert Cheater
Reputation: 0
Joined: 04 Mar 2009 Posts: 125 Location: lAS vEGAS no joke
|
Posted: Sat Mar 07, 2009 3:57 pm Post subject: |
|
|
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 |
|
 |
sven3107 Expert Cheater
Reputation: 0
Joined: 04 Feb 2009 Posts: 118 Location: Belgium
|
Posted: Sun Mar 08, 2009 6:52 am Post subject: |
|
|
you did do the cheat engine totorial right?
|
|
Back to top |
|
 |
Butcher Expert Cheater
Reputation: 0
Joined: 04 Mar 2009 Posts: 125 Location: lAS vEGAS no joke
|
Posted: Mon Mar 09, 2009 11:42 am Post subject: |
|
|
kinda, i got most of it done. I skipped the last 2 parts or something like that, might have been 3.
|
|
Back to top |
|
 |
sven3107 Expert Cheater
Reputation: 0
Joined: 04 Feb 2009 Posts: 118 Location: Belgium
|
Posted: Mon Mar 09, 2009 1:23 pm Post subject: |
|
|
it has 9 steps, the last 2 or 3 can be skipped.
|
|
Back to top |
|
 |
Butcher Expert Cheater
Reputation: 0
Joined: 04 Mar 2009 Posts: 125 Location: lAS vEGAS no joke
|
Posted: Thu Mar 19, 2009 3:07 pm Post subject: |
|
|
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 |
|
 |
CodeKiller Advanced Cheater
Reputation: 0
Joined: 30 Jun 2009 Posts: 87
|
Posted: Sun Mar 14, 2010 8:41 am Post subject: |
|
|
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.
|
|
Back to top |
|
 |
|