View previous topic :: View next topic |
Author |
Message |
Sanglante Cheater Reputation: 0
Joined: 27 Sep 2018 Posts: 43
|
Posted: Sun Mar 17, 2019 1:22 pm Post subject: Save unknow value in aobscan |
|
|
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 |
|
|
Bavarian Cheater Reputation: 0
Joined: 28 Feb 2018 Posts: 30
|
Posted: Mon Mar 18, 2019 1:01 pm Post subject: |
|
|
AA commands: readMem or reassemble
if i got your question.
|
|
Back to top |
|
|
Sanglante Cheater Reputation: 0
Joined: 27 Sep 2018 Posts: 43
|
Posted: Mon Mar 18, 2019 3:01 pm Post subject: |
|
|
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 |
|
|
Dark Byte Site Admin Reputation: 458
Joined: 09 May 2003 Posts: 25291 Location: The netherlands
|
Posted: Mon Mar 18, 2019 5:03 pm Post subject: |
|
|
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 |
|
|
Sanglante Cheater Reputation: 0
Joined: 27 Sep 2018 Posts: 43
|
Posted: Mon Mar 18, 2019 6:01 pm Post subject: |
|
|
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 |
|
|
OldCheatEngineUser Whateven rank Reputation: 20
Joined: 01 Feb 2016 Posts: 1587
|
Posted: Mon Mar 18, 2019 6:33 pm Post subject: |
|
|
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 |
|
|
Sanglante Cheater Reputation: 0
Joined: 27 Sep 2018 Posts: 43
|
Posted: Mon Mar 18, 2019 6:43 pm Post subject: |
|
|
oh i mean register this place so:
label(HitpointAddress)
registersymbol(HitpointAddress)
HitpointAddress:
MyAddress+4
?
|
|
Back to top |
|
|
OldCheatEngineUser Whateven rank Reputation: 20
Joined: 01 Feb 2016 Posts: 1587
|
Posted: Mon Mar 18, 2019 6:54 pm Post subject: |
|
|
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 |
|
|
Sanglante Cheater Reputation: 0
Joined: 27 Sep 2018 Posts: 43
|
Posted: Tue Mar 19, 2019 1:22 am Post subject: |
|
|
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 |
|
|
salumor Advanced Cheater Reputation: 0
Joined: 14 Jan 2019 Posts: 87
|
Posted: Wed Mar 20, 2019 4:41 pm Post subject: |
|
|
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 |
|
|
|