| View previous topic :: View next topic |
| Author |
Message |
Spawnova Newbie cheater
Reputation: 0
Joined: 12 Feb 2013 Posts: 22
|
Posted: Sat Jan 17, 2015 1:01 pm Post subject: assembly question |
|
|
I've been using assembly to track some variables but sometimes I get a crash and I have no idea why, for instance
| Code: | newmem:
movaps [r10+30],xmm1
movaps [variable],xmm1
originalcode:
movaps [r10+30],xmm1 |
I'm just copying the value of xmm1 into my variable a swell as performing the original code, so why would that cause a crash?
Also sometimes if I simply copy the original code to the newmem label it will cause issues in game even though it should technically be the exact same thing.
If anyone can explain this to me, that would be awesome. =) |
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25821 Location: The netherlands
|
Posted: Sat Jan 17, 2015 1:12 pm Post subject: |
|
|
when using movaps "variable" MUST be on a 128 bit alignment
use movups instead if you don't know _________________
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 |
|
 |
Spawnova Newbie cheater
Reputation: 0
Joined: 12 Feb 2013 Posts: 22
|
Posted: Sat Jan 17, 2015 1:38 pm Post subject: |
|
|
It should be since all I'm doing is copying the contents into my variable as well as copying it into the original code, so I'm not changing anything just making another copy of it.
Here's another problem I have, I'm just trying to log the x y z coordinates into a variable, all the code is exactly how it is normally except I add the value into my variable as well, however when I do this my character then falls through the map, but I have no idea why that would happen.
| Code: |
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048,"Disrupt_b64.dll"+2600DA8)
alloc(testAddy,8)
label(returnhere)
label(originalcode)
label(exit)
registersymbol(testAddy)
newmem:
subps xmm5,[r9+30]
movups [testAddy],xmm5 //the only modified code
originalcode:
subps xmm5,[r9+30]
exit:
jmp returnhere
"Disrupt_b64.dll"+2600DA8:
jmp newmem
returnhere:
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
dealloc(testAddy)
unregistersymbol(testAddy)
"Disrupt_b64.dll"+2600DA8:
subps xmm5,[r9+30]
//Alt: db 41 0F 5C 69 30 |
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25821 Location: The netherlands
|
Posted: Sat Jan 17, 2015 2:23 pm Post subject: |
|
|
i'm not sure if it's the problem (i thought ce grouped them) but you didn't specify a prefered location for testAddy, so there's a chance the location will not be near where you wish it, possibly being too big to encode using rip relative addressing
try specifying the prefered location, or code it differently _________________
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 |
|
 |
|