Page 1 of 1

[HELP] Float Inject/Assembly

Posted: Mon May 02, 2022 1:10 am
by TheNeru
I tried looking for a tutorial in the wide internet and found nothing to help with my problem.
I need help on making pointers for float addresses...
AC
alloc(newmem,$1000,TCSCNTR)
label(code)
label(return)

newmem:

code:
movss [rbx+000011D0],xmm0
jmp return

TCSCNTR:
jmp newmem
nop 3
return:
registersymbol(TCSCNTR)

[DISABLE]

TCSCNTR:
db F3 0F 11 83 D0 11 00 00

unregistersymbol(TCSCNTR)
dealloc(newmem)
Whenever I add
mov [ITCS],rbx
to the code section.

I can no longer activate the script.
I wanted to use ITCS as a pointer and add the offset 11D0

The Assembly Code below is what I have currently...
Current AC
alloc(newmem,$1000,TCSCNTR)
alloc(ITCS,100)
label(code)
label(return)

newmem:

code:
movss [rbx+000011D0],xmm0
mov [ITCS],rbx
jmp return

TCSCNTR:
jmp newmem
nop 3
return:
registersymbol(TCSCNTR)

[DISABLE]

TCSCNTR:
db F3 0F 11 83 D0 11 00 00

unregistersymbol(TCSCNTR)
dealloc(newmem)
dealloc(ITCS)
Help would be greatly appreciated.

Re: [HELP] Float Inject/Assembly

Posted: Mon May 02, 2022 8:32 am
by Algester
I could be wrong but

Code: Select all

alloc(newmem,$1000,TCSCNTR)
label(code)
label(return)
registersymbol(ITCS)

newmem:

code:
mov [ITCS],rbx
movss [rbx+000011D0],xmm0
jmp return

ITCS:
dq 0

TCSCNTR:
jmp newmem
nop 3
return:
registersymbol(TCSCNTR)

[DISABLE]

TCSCNTR:
db F3 0F 11 83 D0 11 00 00

unregistersymbol(TCSCNTR)
unregistersymbol(ITCS)
dealloc(newmem)
should "work" though why would you want a pointer that changes a float value?

Re: [HELP] Float Inject/Assembly

Posted: Mon May 02, 2022 6:39 pm
by TheNeru
Algester wrote:
Mon May 02, 2022 8:32 am
I could be wrong but
should "work" though why would you want a pointer that changes a float value?
Can't compile the line
mov [ITCS],rbx

As to why, I want to lock the difficulty progression of the game.

Re: [HELP] Float Inject/Assembly

Posted: Tue May 03, 2022 5:17 am
by Algester
bleh been a huge derp

Code: Select all

alloc(newmem,$1000,TCSCNTR)
label(code)
label(return)
label(ITCS)
registersymbol(ITCS)

newmem:

code:
mov [ITCS],rbx
movss [rbx+000011D0],xmm0
jmp return

ITCS:
dq 0

TCSCNTR:
jmp newmem
nop 3
return:
registersymbol(TCSCNTR)

[DISABLE]

TCSCNTR:
db F3 0F 11 83 D0 11 00 00

unregistersymbol(TCSCNTR)
unregistersymbol(ITCS)
dealloc(newmem)
I think I forgot the label(ITCS)

Re: [HELP] Float Inject/Assembly

Posted: Wed May 04, 2022 12:19 am
by TheNeru
Sadly, it still doesn't work.

Re: [HELP] Float Inject/Assembly

Posted: Wed May 04, 2022 2:11 am
by Algester
if the assembly compiles
activate the script
add ITCS address manually as a pointer then add 11D0 offset

Re: [HELP] Float Inject/Assembly

Posted: Wed May 04, 2022 9:23 am
by LeFiXER

Code: Select all

aobscan(TCSCNTR,[aob_here]) // Make sure it is definitely a unique AOB.
alloc(newmem,$1000,TCSCNTR)
alloc(ITCS,8) // You will never need more than 8-bytes of allocated memory for a pointer reference. 
label(code)
label(return)

newmem:
  mov [ITCS],rbx

code:
  movss [rbx+000011D0],xmm0
  mov [ITCS],rbx
  jmp return

TCSCNTR:
  jmp newmem
  nop 3

return:
registersymbol(TCSCNTR)

[DISABLE]

TCSCNTR:
  db F3 0F 11 83 D0 11 00 00

unregistersymbol(TCSCNTR)
dealloc(newmem)
dealloc(ITCS)
In the cheat table add an address manually and set tick the pointer box and set the pointer address to "[ITCS]". Add offset "11D0".