Page 1 of 1
How to Pointer OPcodes?
Posted: Wed Mar 24, 2021 4:15 pm
by Evoked100
Code: Select all
trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A25 - D8 0D 30B18501 - fmul dword ptr [0185B130] { (0.10) }
this float value "0185B130" = 0.10
is changed all time re-open the process...
is possible pointer scan address for create script to change float ?
my last script :
Code: Select all
[enable]
0185B130:
dd (float)0.2
[disable]
0185B130:
dd (float)0.1
Re: How to Pointer OPcodes?
Posted: Wed Mar 24, 2021 4:29 pm
by Idlehands88
You could Copy the Address, then go to Memory View > Tools > Auto Assemble > Template > Full Injection. Then paste the Address (trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A25) and press OK.
Re: How to Pointer OPcodes?
Posted: Wed Mar 24, 2021 4:47 pm
by Evoked100
Idlehands88 wrote: ↑Wed Mar 24, 2021 4:29 pm
You could Copy the Address, then go to
Memory View >
Tools >
Auto Assemble >
Template >
Full Injection. Then paste the Address (
trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A25) and press OK.
Now generate this script :
Code: Select all
define(address,trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A25)
define(bytes,D8 0D 30 B1 85 01)
[ENABLE]
assert(address,bytes)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
fmul dword ptr [0185B130]
jmp return
address:
jmp newmem
nop
return:
[DISABLE]
address:
db bytes
// fmul dword ptr [0185B130]
dealloc(newmem)
How i make change Float value on code?
code:
fmul dword ptr [0185B130]
jmp return
address:
dd (float)0.2
nop
return:
this correct?
thanks for help!
Re: How to Pointer OPcodes?
Posted: Wed Mar 24, 2021 5:43 pm
by PeaceBeUponYou
using asm:
Code: Select all
define(name,trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A27)
registerSymbol(name)
using this method the [name] is the address
using lua:
Code: Select all
local base = readInteger('trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A27')
unregisterSymbol('name')
registerSymbol('name',base)
using this the actual symbol 'name' is the address
Re: How to Pointer OPcodes?
Posted: Wed Mar 24, 2021 6:03 pm
by Evoked100
PeaceBeUponYou wrote: ↑Wed Mar 24, 2021 5:43 pm
using asm:
Code: Select all
define(name,trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A27)
registerSymbol(name)
using this method the [name] is the address
using lua:
Code: Select all
local base = readInteger('trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A27')
unregisterSymbol('name')
registerSymbol('name',base)
using this the actual symbol 'name' is the address
Code: Select all
define(name,trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A27)
registerSymbol(name)
[ENABLE]
assert(address,name)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
fmul dword ptr [name]
jmp return
address:
jmp newmem
nop
return:
[DISABLE]
address:
db bytes
// fmul dword ptr [0185B130]
dealloc(newmem)
exemple this is correct?
sorry i new on cheat engine scripts!
Re: How to Pointer OPcodes?
Posted: Wed Mar 24, 2021 10:09 pm
by TimFun13
Evoked100 wrote: ↑Wed Mar 24, 2021 6:03 pm
...
Code: Select all
define(name,trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A27)
registerSymbol(name)
[ENABLE]
assert(address,name)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
fmul dword ptr [name]
jmp return
address:
jmp newmem
nop
return:
[DISABLE]
address:
db bytes
// fmul dword ptr [0185B130]
dealloc(newmem)
exemple this is correct?
sorry i new on cheat engine scripts!
Try something like this.
Code: Select all
[ENABLE]
define(MyCheat1, trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A25)
assert(MyCheat1, D8 0D)
registerSymbol(MyCheat1)
alloc(newmem, 0x100)
label(code)
label(return)
label(SavedBytes)
registerSymbol(SavedBytes)
label(newValue)
newmem:
code:
fmul dword ptr [newValue]
jmp return
SavedBytes:
readMem(MyCheat1, 6)
newValue:
dd (float)0.2
MyCheat1:
jmp newmem
nop
return:
[DISABLE]
MyCheat1:
readMem(SavedBytes, 6)
dealloc(newmem)
unregisterSymbol(MyCheat1)
unregisterSymbol(SavedBytes)
And you can even use "[SavedBytes+2]" as an address on the table to see the original value. If you want to change the "newValue" on the fly, just register the symbol and add "newValue" as an address to the table.
Re: How to Pointer OPcodes?
Posted: Wed Mar 24, 2021 11:42 pm
by Evoked100
ShyTwig16 wrote: ↑Wed Mar 24, 2021 10:09 pm
Evoked100 wrote: ↑Wed Mar 24, 2021 6:03 pm
...
Code: Select all
define(name,trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A27)
registerSymbol(name)
[ENABLE]
assert(address,name)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
fmul dword ptr [name]
jmp return
address:
jmp newmem
nop
return:
[DISABLE]
address:
db bytes
// fmul dword ptr [0185B130]
dealloc(newmem)
exemple this is correct?
sorry i new on cheat engine scripts!
Try something like this.
Code: Select all
[ENABLE]
define(MyCheat1, trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A25)
assert(MyCheat1, D8 0D)
registerSymbol(MyCheat1)
alloc(newmem, 0x100)
label(code)
label(return)
label(SavedBytes)
registerSymbol(SavedBytes)
label(newValue)
newmem:
code:
fmul dword ptr [newValue]
jmp return
SavedBytes:
readMem(MyCheat1, 6)
newValue:
dd (float)0.2
MyCheat1:
jmp newmem
nop
return:
[DISABLE]
MyCheat1:
readMem(SavedBytes, 6)
dealloc(newmem)
unregisterSymbol(MyCheat1)
unregisterSymbol(SavedBytes)
And you can even use "[SavedBytes+2]" as an address on the table to see the original value. If you want to change the "newValue" on the fly, just register the symbol and add "newValue" as an address to the table.
Working Perfect Guy!! thanks for help me. you is the best coder forum, no one has ever helped me as much as a hacker as you
thanks very much
Re: How to Pointer OPcodes?
Posted: Thu Apr 01, 2021 1:27 pm
by Evoked100
ShyTwig16 wrote: ↑Wed Mar 24, 2021 10:09 pm
Evoked100 wrote: ↑Wed Mar 24, 2021 6:03 pm
...
Code: Select all
define(name,trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A27)
registerSymbol(name)
[ENABLE]
assert(address,name)
alloc(newmem,$1000)
label(code)
label(return)
newmem:
code:
fmul dword ptr [name]
jmp return
address:
jmp newmem
nop
return:
[DISABLE]
address:
db bytes
// fmul dword ptr [0185B130]
dealloc(newmem)
exemple this is correct?
sorry i new on cheat engine scripts!
Try something like this.
Code: Select all
[ENABLE]
define(MyCheat1, trove.AK::SoundEngine::GetBufferStatusForPinnedEvent+5A25)
assert(MyCheat1, D8 0D)
registerSymbol(MyCheat1)
alloc(newmem, 0x100)
label(code)
label(return)
label(SavedBytes)
registerSymbol(SavedBytes)
label(newValue)
newmem:
code:
fmul dword ptr [newValue]
jmp return
SavedBytes:
readMem(MyCheat1, 6)
newValue:
dd (float)0.2
MyCheat1:
jmp newmem
nop
return:
[DISABLE]
MyCheat1:
readMem(SavedBytes, 6)
dealloc(newmem)
unregisterSymbol(MyCheat1)
unregisterSymbol(SavedBytes)
And you can even use "[SavedBytes+2]" as an address on the table to see the original value. If you want to change the "newValue" on the fly, just register the symbol and add "newValue" as an address to the table.
Hey Tim, game update and code not more working any? u see answer for this question
Code: Select all
trove.AK::SoundEngine::UnloadBank+8085 - D8 0D 6007A201 - fmul dword ptr [01A20760] { (3DCCCCCD) }
Re: How to Pointer OPcodes?
Posted: Thu Apr 01, 2021 1:29 pm
by Evoked100
i tryed not work
Code: Select all
define(address,trove.AK::SoundEngine::UnloadBank+8085)
define(bytes,D8 0D 60 07 A2 01)
[ENABLE]
define(MyCheat1, trove.AK::SoundEngine::UnloadBank+8085)
assert(MyCheat1, D8 0D)
registerSymbol(MyCheat1)
alloc(newmem, 0x100)
label(code)
label(return)
label(SavedBytes)
registerSymbol(SavedBytes)
label(newValue)
newmem:
code:
fmul dword ptr [newValue]
jmp return
SavedBytes:
readMem(MyCheat1, 6)
newValue:
dd (float)0.2
MyCheat1:
jmp newmem
nop
return:
[DISABLE]
MyCheat1:
readMem(SavedBytes, 6)
dealloc(newmem)
unregisterSymbol(MyCheat1)
unregisterSymbol(SavedBytes)
Re: How to Pointer OPcodes?
Posted: Thu Apr 01, 2021 2:39 pm
by TimFun13
That's the problem with using addresses for code injection, every update you'll likely have to refind the code. You could try and use the screenshot you took the make an
AOB signature. That's why leaving the commented out code CE adds for the templates is a good idea, it can help when updating the scripts.
Re: How to Pointer OPcodes?
Posted: Thu Apr 01, 2021 3:07 pm
by Evoked100
ShyTwig16 wrote: ↑Thu Apr 01, 2021 2:39 pm
That's the problem with using addresses for code injection, every update you'll likely have to refind the code. You could try and use the screenshot you took the make an
AOB signature. That's why leaving the commented out code CE adds for the templates is a good idea, it can help when updating the scripts.
im found signature : D8 0D XX XX XX XX D9 5D FC 74 XX F3 0F 10 86 XX XX XX XX F3 0F 59 45 FC F3 0F 11 45 FC
need change only this line?
Code: Select all
define(address,trove.AK::SoundEngine::UnloadBank+8085)
for
Code: Select all
define(step8WrtBytes, D8 0D XX XX XX XX D9 5D FC 74 XX F3 0F 10 86 XX XX XX XX F3 0F 59 45 FC F3 0F 11 45 FC)
Code: Select all
aobScanModule(aobStep8WrtHook, trove.exe, aobScanModule(aobStep8WrtHook, Trove.exe, D8 0D XX XX XX XX D9 5D FC 74 XX F3 0F 10 86 XX XX XX XX F3 0F 59 45 FC F3 0F 11 45 FC)
Re: How to Pointer OPcodes?
Posted: Thu Apr 01, 2021 4:10 pm
by TimFun13
Evoked100 wrote: ↑Thu Apr 01, 2021 3:07 pm
...
im found signature : D8 0D XX XX XX XX D9 5D FC 74 XX F3 0F 10 86 XX XX XX XX F3 0F 59 45 FC F3 0F 11 45 FC
need change only this line?
Code: Select all
define(address,trove.AK::SoundEngine::UnloadBank+8085)
for
Code: Select all
define(step8WrtBytes, D8 0D XX XX XX XX D9 5D FC 74 XX F3 0F 10 86 XX XX XX XX F3 0F 59 45 FC F3 0F 11 45 FC)
Code: Select all
aobScanModule(aobStep8WrtHook, trove.exe, aobScanModule(aobStep8WrtHook, Trove.exe, D8 0D XX XX XX XX D9 5D FC 74 XX F3 0F 10 86 XX XX XX XX F3 0F 59 45 FC F3 0F 11 45 FC)
Just add this line at the define for "MyCheat1".
Code: Select all
aobScanModule(MyCheat1, Trove.exe, D80DXXXXXXXXD95DFC74XXF30F1086XXXXXXXXF30F5945FCF30F1145FC)
So it should look like this:
Code: Select all
define(address,trove.AK::SoundEngine::UnloadBank+8085)
define(bytes,D8 0D 60 07 A2 01)
[ENABLE]
aobScanModule(MyCheat1, Trove.exe, D80DXXXXXXXXD95DFC74XXF30F1086XXXXXXXXF30F5945FCF30F1145FC)
assert(MyCheat1, D8 0D)
registerSymbol(MyCheat1)
alloc(newmem, 0x100)
label(code)
label(return)
label(SavedBytes)
registerSymbol(SavedBytes)
label(newValue)
newmem:
code:
fmul dword ptr [newValue]
jmp return
SavedBytes:
readMem(MyCheat1, 6)
newValue:
dd (float)0.2
MyCheat1:
jmp newmem
nop
return:
[DISABLE]
MyCheat1:
readMem(SavedBytes, 6)
dealloc(newmem)
unregisterSymbol(MyCheat1)
unregisterSymbol(SavedBytes)
Re: How to Pointer OPcodes?
Posted: Thu Apr 01, 2021 4:30 pm
by Evoked100
ShyTwig16 wrote: ↑Thu Apr 01, 2021 4:10 pm
Evoked100 wrote: ↑Thu Apr 01, 2021 3:07 pm
...
im found signature : D8 0D XX XX XX XX D9 5D FC 74 XX F3 0F 10 86 XX XX XX XX F3 0F 59 45 FC F3 0F 11 45 FC
need change only this line?
Code: Select all
define(address,trove.AK::SoundEngine::UnloadBank+8085)
for
Code: Select all
define(step8WrtBytes, D8 0D XX XX XX XX D9 5D FC 74 XX F3 0F 10 86 XX XX XX XX F3 0F 59 45 FC F3 0F 11 45 FC)
Code: Select all
aobScanModule(aobStep8WrtHook, trove.exe, aobScanModule(aobStep8WrtHook, Trove.exe, D8 0D XX XX XX XX D9 5D FC 74 XX F3 0F 10 86 XX XX XX XX F3 0F 59 45 FC F3 0F 11 45 FC)
Just add this line at the define for "MyCheat1".
Code: Select all
aobScanModule(MyCheat1, Trove.exe, D80DXXXXXXXXD95DFC74XXF30F1086XXXXXXXXF30F5945FCF30F1145FC)
So it should look like this:
Code: Select all
define(address,trove.AK::SoundEngine::UnloadBank+8085)
define(bytes,D8 0D 60 07 A2 01)
[ENABLE]
aobScanModule(MyCheat1, Trove.exe, D80DXXXXXXXXD95DFC74XXF30F1086XXXXXXXXF30F5945FCF30F1145FC)
assert(MyCheat1, D8 0D)
registerSymbol(MyCheat1)
alloc(newmem, 0x100)
label(code)
label(return)
label(SavedBytes)
registerSymbol(SavedBytes)
label(newValue)
newmem:
code:
fmul dword ptr [newValue]
jmp return
SavedBytes:
readMem(MyCheat1, 6)
newValue:
dd (float)0.2
MyCheat1:
jmp newmem
nop
return:
[DISABLE]
MyCheat1:
readMem(SavedBytes, 6)
dealloc(newmem)
unregisterSymbol(MyCheat1)
unregisterSymbol(SavedBytes)
Cheat Working Again! thanks very much my friend. you are very smart about this subject