View previous topic :: View next topic |
Author |
Message |
Turkeychopio Cheater
Reputation: 0
Joined: 06 Aug 2014 Posts: 36
|
Posted: Thu Feb 18, 2021 4:16 pm Post subject: Unable to write a xmm12 register to a symbol |
|
|
I cant figure out why I'm not able to store the address in a symbol I made.
The original code is:
Code: | code:
movups [rdi+000001D0],xmm12
jmp return
|
I've tried using mov [coords],xmm12 but it didn't compile (I think) because xmm12 holds a single point precision float so I tried the same op code movups which compiles but it doesn't allow me to enable it, it's as if clicking the button does nothing.
This is my final code:
Code: | aobscanmodule(INJECT,Little Nightmares II.exe,44 0F 11 A7 D0 01 00 00)
alloc(newmem,$1000,"Little Nightmares II.exe"+1CFFF6C)
globalalloc(coords,8)
label(code)
label(return)
coords:
dd (float)0
newmem:
code:
movups [coords],xmm12
movups [rdi+000001D0],xmm12
jmp return |
|
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25802 Location: The netherlands
|
Posted: Thu Feb 18, 2021 4:27 pm Post subject: |
|
|
try globalalloc(coords,8,"Little Nightmares II.exe"+1CFFF6C)
or just
alloc(coords,8) followed by registersymbol(coords)
or
first load coords into a register and use that
e.g:
Code: |
push rax
mov rax,coords
movups [coords],xmm12
pop rax
movups [rdi+1d0],xmm12
...
|
also, instead of movups you can use mov. Just read rdi+1d0 and write it to where you cant it _________________
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 |
|
 |
Turkeychopio Cheater
Reputation: 0
Joined: 06 Aug 2014 Posts: 36
|
Posted: Thu Feb 18, 2021 8:53 pm Post subject: |
|
|
Thanks, the doing the registering on a different line seemed to fix it, not sure what the issue is. |
|
Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25802 Location: The netherlands
|
Posted: Fri Feb 19, 2021 4:40 am Post subject: |
|
|
because globalalloc and alloc allocate at completely different locations (more than 2GB apart, and direct addresses can not reference data further than 2GB _________________
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 |
|
 |
Turkeychopio Cheater
Reputation: 0
Joined: 06 Aug 2014 Posts: 36
|
Posted: Fri Feb 19, 2021 6:39 pm Post subject: |
|
|
Ah I see, thanks for help.
Another note, do you know if any really indepth shared code tutorials? The one ones I can find are really basic where the first register they look at has small offsets with different values.
I'm doing coordinate hacking in Little Nightmare 2 and the code is shared by 9/10 different things and I've looked up and down the list for ages and tried numerous registers and offsets but nothing has been consistent so far
edit: also how do I correctly write cmp [[rbp+80]+4],0
cant find any info on double offsets correct syntax |
|
Back to top |
|
 |
|