How to Pointer OPcodes?

Anything Cheat Engine related, bugs, suggestions, helping others, etc..
Post Reply
Evoked100
Expert Cheater
Expert Cheater
Posts: 67
Joined: Mon Jul 27, 2020 4:16 pm
Reputation: 33

How to Pointer OPcodes?

Post 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

User avatar
Idlehands88
Expert Cheater
Expert Cheater
Posts: 609
Joined: Mon Jun 11, 2018 1:25 pm
Reputation: 624

Re: How to Pointer OPcodes?

Post 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.

Evoked100
Expert Cheater
Expert Cheater
Posts: 67
Joined: Mon Jul 27, 2020 4:16 pm
Reputation: 33

Re: How to Pointer OPcodes?

Post 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!

User avatar
PeaceBeUponYou
Expert Cheater
Expert Cheater
Posts: 77
Joined: Sat Dec 12, 2020 8:09 am
Reputation: 124

Re: How to Pointer OPcodes?

Post 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

Evoked100
Expert Cheater
Expert Cheater
Posts: 67
Joined: Mon Jul 27, 2020 4:16 pm
Reputation: 33

Re: How to Pointer OPcodes?

Post 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!

TimFun13
Expert Cheater
Expert Cheater
Posts: 1354
Joined: Fri Mar 03, 2017 12:31 am
Reputation: 6

Re: How to Pointer OPcodes?

Post 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.

Evoked100
Expert Cheater
Expert Cheater
Posts: 67
Joined: Mon Jul 27, 2020 4:16 pm
Reputation: 33

Re: How to Pointer OPcodes?

Post 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

Evoked100
Expert Cheater
Expert Cheater
Posts: 67
Joined: Mon Jul 27, 2020 4:16 pm
Reputation: 33

Re: How to Pointer OPcodes?

Post 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

Evoked100
Expert Cheater
Expert Cheater
Posts: 67
Joined: Mon Jul 27, 2020 4:16 pm
Reputation: 33

Re: How to Pointer OPcodes?

Post 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

TimFun13
Expert Cheater
Expert Cheater
Posts: 1354
Joined: Fri Mar 03, 2017 12:31 am
Reputation: 6

Re: How to Pointer OPcodes?

Post 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.

Evoked100
Expert Cheater
Expert Cheater
Posts: 67
Joined: Mon Jul 27, 2020 4:16 pm
Reputation: 33

Re: How to Pointer OPcodes?

Post 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)

TimFun13
Expert Cheater
Expert Cheater
Posts: 1354
Joined: Fri Mar 03, 2017 12:31 am
Reputation: 6

Re: How to Pointer OPcodes?

Post 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)

Evoked100
Expert Cheater
Expert Cheater
Posts: 67
Joined: Mon Jul 27, 2020 4:16 pm
Reputation: 33

Re: How to Pointer OPcodes?

Post 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

Post Reply

Who is online

Users browsing this forum: No registered users