|
Cheat Engine The Official Site of Cheat Engine
|
View previous topic :: View next topic |
Author |
Message |
idk31 Cheater Reputation: 1
Joined: 11 Jan 2016 Posts: 42
|
Posted: Fri Apr 14, 2017 2:12 pm Post subject: Need help with compare argument |
|
|
I'm trying to copy the address rcx to _player when the value at rcx+1a0 (_tmp) equals rbx+1a0 (_cam). Offsets are X coordinate of the player and camera. The opcode at playerAOB accesses many addresses. I only want the address with the same X value as the camera. This will eventually help me move the player around with the correct address isolated. The below isn't working. I'm probably missing something very simple. Thanks for checking it out.
Code: |
aobscanmodule(camAOB,Obduction-Win64-Shipping.exe,00 00 00 0F 28 93 A0 01 00 00)
alloc(newmem,$1000,camAOB)
label(code)
label(return)
globalalloc(_cam,8)
newmem:
code:
mov [_cam],rbx
add [_cam],1A0
movaps xmm2,[rbx+000001A0] // original line
jmp return
camAOB+03:
jmp code
nop
nop
return:
registersymbol(camAOB)
///////////////////////
aobscanmodule(playerAOB,Obduction-Win64-Shipping.exe,0F 28 89 A0 01 00 00 0F 28 05)
alloc(newmem2,$1000,playerAOB)
label(code2)
label(return2)
alloc(_tmp,8)
globalalloc(_player,8)
newmem2:
code2:
movaps xmm1,[rcx+000001A0] // original line
mov [_tmp],rcx
add [_tmp],1A0
cmp [_tmp],_cam
jne return2
mov [_player],rcx
jmp return2
playerAOB:
jmp newmem2
nop
nop
return2:
registersymbol(playerAOB)
|
_________________
|
|
Back to top |
|
|
Zanzer I post too much Reputation: 126
Joined: 09 Jun 2013 Posts: 3278
|
Posted: Fri Apr 14, 2017 8:16 pm Post subject: |
|
|
I'm curious why you're not simply saving the value of RBX in the first script to [_player].
It appears like you're dealing with the same base address and the first instruction only touches the player.
Anyway... Code: | push rcx
add rcx,1A0
cmp [_cam],rcx
pop rcx
jne return2
mov [_player],rcx
jmp return2 |
|
|
Back to top |
|
|
idk31 Cheater Reputation: 1
Joined: 11 Jan 2016 Posts: 42
|
Posted: Sat Apr 15, 2017 12:34 am Post subject: |
|
|
Zanzer wrote: | I'm curious why you're not simply saving the value of RBX in the first script to [_player].
It appears like you're dealing with the same base address and the first |
It may not look like it, but these are two separate bases. At +1a0 for some address they share the same value. Image to help illustrate what's going on:
http://i.imgur.com/CbqvsGD.png
I want to make _player equal 2DFFC1E0. I should be able to use this information, right?
EDIT: I tried Zanzer's solution above. It didn't work.
_________________
|
|
Back to top |
|
|
|
|
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
|
|