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) }
Image

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) }
Image

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)

Image

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