View previous topic :: View next topic |
Author |
Message |
Vman11120 How do I cheat?
Reputation: 0
Joined: 23 Dec 2023 Posts: 4
|
Posted: Sat Dec 23, 2023 10:20 am Post subject: Finding pointer with multiple address |
|
|
Hi I just started with cheat engine I did the tutorial on how to find pointers manually and it was pretty straight forward. When I was trying same method for tekken I was getting something like this "mov [rdx+rcx+10],r8d" where it has both rdx and rcx and an offset.
So my question is how do I find the pointer for this?
|
|
Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 150
Joined: 06 Jul 2014 Posts: 4641
|
Posted: Sat Dec 23, 2023 1:09 pm Post subject: |
|
|
One of them is probably significantly smaller than the other. The smaller one is part of the offset (don't forget the `+10`) and the larger one is the base address.
You can try the pointer scanner:
https://www.youtube.com/watch?v=3dyIrcx8Z8g
If you're running the game on an emulator, you might have a bad time. The pointer scanner would need a very big max offset corresponding to the emulated architecture's memory size (e.g. original playstation = 2 MiB), and even then it might not work depending on how close the emulator is to the original architecture.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
 |
Vman11120 How do I cheat?
Reputation: 0
Joined: 23 Dec 2023 Posts: 4
|
Posted: Sat Dec 23, 2023 2:04 pm Post subject: |
|
|
I attached result im getting. So in this example im assuming 84 is the offset and 22EC1770000 is the base address?
In that case how will calculate the offset do I use the programming calculator to calculate both like 84 hex would be 132 so 132+10 = 142 being the offset?
Im not trying it on an emulator im actually trying it on TEKKEN demo. Trying to find value for player 2 so I can change the character for him.
I tried the pointer scanner method and its just giving me no values. Its working for player 1 but player 2 is not for some reason.
Description: |
|
Filesize: |
32.17 KB |
Viewed: |
3814 Time(s) |

|
|
|
Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 150
Joined: 06 Jul 2014 Posts: 4641
|
Posted: Sat Dec 23, 2023 2:59 pm Post subject: |
|
|
Use hexadecimal for addresses and offsets.
The base address is probably 22EC1770000 as CE says. The offset would be the address being accessed (i.e. 22EC177094) minus the base address, or 94. This corresponds to rdx (84) + 10 too.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
 |
Vman11120 How do I cheat?
Reputation: 0
Joined: 23 Dec 2023 Posts: 4
|
|
Back to top |
|
 |
ParkourPenguin I post too much
Reputation: 150
Joined: 06 Jul 2014 Posts: 4641
|
Posted: Sun Dec 24, 2023 1:40 pm Post subject: |
|
|
See the text at the bottom that says "The registers shown here are AFTER the instruction has been executed"
The instruction `mov rax,[rax+08]` reads the 8-byte pointer value at `rax+08` and writes it to `rax`. Logically, the value of rax shown in the window is not the same value rax had before the instruction was executed.
Code: | mov rax,[rax+08]
^ ^
| |
| unknown
|
216F9930000 |
However, since you know the instruction accessed the address 217061E3C08, it's not hard to figure out with very basic algebra.
Code: | rax + 08 = 217061E3C08
rax = 217061E3C08 - 8
rax = 217061E3C00 | This is where CE gets its guess from.
_________________
I don't know where I'm going, but I'll figure it out when I get there. |
|
Back to top |
|
 |
|