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 


Save unknow value in aobscan

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

Joined: 27 Sep 2018
Posts: 43

PostPosted: Sun Mar 17, 2019 1:22 pm    Post subject: Save unknow value in aobscan Reply with quote

hi.
I need to know how to save ?? ?? ?? ?? in an aob scan

have some code like:
mov [edx+0056FA80],ebx

i do an aobscan to find it with ?? ?? ?? ?? for the 80 FA 56 00 bytes
but after aob scan is done i have to save this 4 bytes in a var.

how to save it before editing this place ?

storevalue:
dd myaobscan+2 (this certainly not working and that don't give the lenght of bytes)
Back to top
View user's profile Send private message
Bavarian
Cheater
Reputation: 0

Joined: 28 Feb 2018
Posts: 30

PostPosted: Mon Mar 18, 2019 1:01 pm    Post subject: Reply with quote

AA commands: readMem or reassemble

if i got your question.
Back to top
View user's profile Send private message
Sanglante
Cheater
Reputation: 0

Joined: 27 Sep 2018
Posts: 43

PostPosted: Mon Mar 18, 2019 3:01 pm    Post subject: Reply with quote

Ok have it working with 2 alloc

Code:
      [enable]
      alloc(MyAddress, 8)
      registersymbol(MyAddress)
      alloc(SetMyCode1, 2048)
      registersymbol(SetMyCode1)

      aobscan(SetMyOrig1, 89 9A ?? ?? ?? ?? 8B 9A ?? ?? ?? ?? 83 FB 00 0F 8F)
      registersymbol(SetMyOrig1)
      label(SetMyOrig1Return)

      aobscan(SetMyOrig2, 89 96 ?? ?? ?? ?? 3B C1 0F 83 ?? ?? ?? ??)
      registersymbol(SetMyOrig2)
      label(SetMyOrig2Return)

      MyAddress:
      readmem(SetMyOrig1+2, 4)
      readmem(SetMyOrig2+2, 4)
            
 
      SetMyOrig1:
      jmp SetMyCode1
      nop
      SetMyOrig1Return:

      SetMyOrig2:
      jmp SetMyCode2
      nop
      SetMyOrig2Return:

      SetMyCode1:
      .
      Code code code
      .
      jmp SetMyOrig1Return

      SetMyCode2:
      .
      Code code code
      .
      jmp SetMyOrig2Return
      
      [disable]
      dealloc(MyAddress)
      unregistersymbol(MyAddress)
      dealloc(SetMyCode1)
      unregistersymbol(SetMyOrig1)
      unregistersymbol(SetMyOrig2)

      SetMyOrig1:
      //mov [edx+0056FA80],ebx
      db 89 9A 80 FA 56 00

      SetMyOrig2:
      //mov [esi+005B4080],edx
      db 89 96 80 40 5B 00


Last edited by Sanglante on Mon Mar 18, 2019 5:57 pm; edited 2 times in total
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 458

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

PostPosted: Mon Mar 18, 2019 5:03 pm    Post subject: Reply with quote

the ) after alloc(SetMyCode, 2048 is missing

you're not specifying an address for "MyAddress" so that will be address 00000000 (use alloc(MyAddress,4) instead of label(MyAddress)

_________________
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
Sanglante
Cheater
Reputation: 0

Joined: 27 Sep 2018
Posts: 43

PostPosted: Mon Mar 18, 2019 6:01 pm    Post subject: Reply with quote

Thanks Dark Byte got it working
I don't understand why i need 2 alloc maybe because i'm editing the place i want to copy

i have 2 more question:
- how to give a label at MyAddress+4
cause i have much more than 2 to save.

how to use it in the Disable part ?
Back to top
View user's profile Send private message
OldCheatEngineUser
Whateven rank
Reputation: 20

Joined: 01 Feb 2016
Posts: 1587

PostPosted: Mon Mar 18, 2019 6:33 pm    Post subject: Reply with quote

Code:
[enable]
MyAddress+4:
// stuff

[disable]
MyAddress+4:
// stuff

_________________
About Me;
I Use CE Since Version 1.X, And Still Learning How To Use It Well!
Jul 26, 2020
STN wrote:
i am a sweetheart.
Back to top
View user's profile Send private message Visit poster's website
Sanglante
Cheater
Reputation: 0

Joined: 27 Sep 2018
Posts: 43

PostPosted: Mon Mar 18, 2019 6:43 pm    Post subject: Reply with quote

oh i mean register this place so:

label(HitpointAddress)
registersymbol(HitpointAddress)

HitpointAddress:
MyAddress+4

?
Back to top
View user's profile Send private message
OldCheatEngineUser
Whateven rank
Reputation: 20

Joined: 01 Feb 2016
Posts: 1587

PostPosted: Mon Mar 18, 2019 6:54 pm    Post subject: Reply with quote

Code:
[enable]
registersymbol(MyAddress)

[disable]
unregistersymbol(MyAdress)


add MyAddress to address-list from "add address manually" and add +2 to the end.

_________________
About Me;
I Use CE Since Version 1.X, And Still Learning How To Use It Well!
Jul 26, 2020
STN wrote:
i am a sweetheart.
Back to top
View user's profile Send private message Visit poster's website
Sanglante
Cheater
Reputation: 0

Joined: 27 Sep 2018
Posts: 43

PostPosted: Tue Mar 19, 2019 1:22 am    Post subject: Reply with quote

ok got it working like this ?

Code:
[enable]
alloc(GetOffset, 12)
registersymbol(GetOffset)
label(MyAddress1)
registersymbol(MyAddress1)
label(MyAddress2)
registersymbol(MyAddress2)

aobscan(MyOrig1, 89 9A ?? ?? ?? ?? 8B 9A ?? ?? ?? ?? 83 FB 00 0F 8F)
registersymbol(MyOrig1)
            
aobscan(MyOrig2, 89 96 ?? ?? ?? ?? 3B C1 0F 83 ?? ?? ?? ?? 8B 44)
registersymbol(MyOrig2)

GetOffset:
db 00 00 00 00

MyAddress1:
readmem(MyOrig1+2, 4)

MyAddress2:
readmem(MyOrig2+2, 4)

[disable]
dealloc(GetOffset)
unregistersymbol(GetOffset)
unregistersymbol(MyOrig1)
unregistersymbol(MyOrig2)
unregistersymbol(MyAddress1)
unregistersymbol(MyAddress2)
Back to top
View user's profile Send private message
salumor
Advanced Cheater
Reputation: 0

Joined: 14 Jan 2019
Posts: 87

PostPosted: Wed Mar 20, 2019 4:41 pm    Post subject: Reply with quote

Sanglante wrote:
Thanks Dark Byte got it working
I don't understand why i need 2 alloc maybe because i'm editing the place i want to copy
Code:
SetMyOrig2:
jmp SetMyCode2
nop
SetMyOrig2Return:
SetMyCode1:
In the case you still don't know why: It does know addr. of SetMyOrig2 by aobscan, you then replace original code as usual and "SetMyOrig2Return:" is set at SetMyOrig2+7. If you would not "alloc(SetMyCode1, 2048)", it would override whatever is after in original code! The ov. mistake here is that you prob. wanted it to be set after MyAddress (which should be ok), but you are act. jumping from orig. code to newmem back to original code and continue to write there! (if there was no 2nd alloc)

Sanglante wrote:
oh i mean register this place so:
HitpointAddress:
MyAddress+4

Why not change it?
MyAddress+4: // jump to MyAddress+4
HitpointAddress: // define that address if has not been before.

----
But it seems that wasn't necessary at all if your last code is all that you did need. If so - yes that does look ok now.
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 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