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 


How do you find AoB pointer's offset?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
Eraser
Grandmaster Cheater
Reputation: 0

Joined: 23 Jul 2008
Posts: 504
Location: http://www.youtube.com/PCtrainers

PostPosted: Mon Jan 07, 2013 3:35 pm    Post subject: How do you find AoB pointer's offset? Reply with quote

I am trying to make a pointer via AoB scan but I don't know how to find an offset, I am using this script:

Code:
[enable]
label(MoneyAddress)
registersymbol(MoneyAddress)
aobscan(_MoneyAddressSignature, 89 11 c7 05 d8 8c 7f 01 50 a8 2a 00 a1 f0 8d 7f 01)
_MoneyAddressSignature:
MoneyAddress:

[disable]
unregistersymbol(MoneyAddress)





can anyone help me?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25776
Location: The netherlands

PostPosted: Mon Jan 07, 2013 4:16 pm    Post subject: Reply with quote

assuming this is JIT'ed code and not part of the pcsx2 module (if it is, give up on code aob's)

anyhow, to make an aob you need to get rid of the bytes that can change between runs/patches
add ecx,eax is pretty static, so you can write down all bytes "01 c1"
js pcsx2-..... is not very static, only two bytes out of the 6 will remain the same. 0f 88, so "0f 88 ** ** ** **"
mov [ecx],edx is pretty static again, so 89 11

mov [pcsx....],002aa850 . This is interesting. 002aa850 doesn't seem like a address in memory.

In case it's really static, then only strip out the pcsx part of the opcode but leave that code there. (If it is in fact a dynamic address, wildcard it as well)
so: c7 05 ** ** ** ** 50 a8 2a 00 (If it is dynamic: c7 05 ** ** ** ** ** ** ** **)

And finally the mov eax,[pcsx...]
again comment out the [pcsx..] part, so "a1 ** ** ** **"

So, the final aob will be:
"01 c1 0f 88 ** ** ** ** 89 11 c7 05 ** ** ** ** 50 a8 2a 00 a1 " (you can ignore the last wildcards)


Note: In this example I state that the [pcsx...] parts should be wildcarded, but if you will never ever change pcsx emulator, then you can use these bytes
01 c1 0f 88 ** ** ** ** 89 11 c7 05 d8 8c 7f 01 50 a8 2a 00 a1 f0 8d 7f 01 (Note that I left the JS part wildcarded, as that is a relative address, instead of a direct address)

Note2:
This aob starts at a360c, while you want a3614, so when you do an aobscan for this, you must add (a3614-a360c=)8 bytes to the result to get the address you wish

Edit,. nvm, I read it wrong, you already have the aob.
Anyhow, a pointer alone isn't possible, as there is no offset. You need to do a code injection script, that at least stores the address to a known location. Then you can use a pointer that makes use of that location

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking 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