Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Can someone tell me what this script is doing please?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
flonghead
How do I cheat?
Reputation: 0

Joined: 13 Apr 2020
Posts: 1

PostPosted: Mon Apr 13, 2020 10:38 am    Post subject: Can someone tell me what this script is doing please? Reply with quote

Hi, I found a script on the internet and I am unsure how this is working, or what it is doing despite trying google (I know). It would be greatly appreciated to understand what values are being altered and how? thankyou so much! Smile


aobscanmodule(test40131,GameAssembly.dll,F2 0F 5C F0 66 0F 2E 73 2Cool // should be unique
alloc(newmem,$100,"GameAssembly.dll"+1C1B71)

label(code)
label(return)

newmem:

code:
//subsd xmm6,xmm0
addsd xmm6,xmm0
ucomisd xmm6,[rbx+28]
jmp return

test40131:
jmp newmem
nop
nop
nop
nop
return:
registersymbol(test40131)

_________________
Smile
Back to top
View user's profile Send private message
happyTugs
Cheater
Reputation: 0

Joined: 23 Apr 2020
Posts: 26

PostPosted: Fri Apr 24, 2020 12:31 am    Post subject: Reply with quote

It would be nice to know what the script is trying to achieve. Anyway, correct me if am wrong.
Code:
aobscanmodule(test40131,GameAssembly.dll,F2 0F 5C F0 66 0F 2E 73) //-- Scan for the bytes 'F2 0F 5C F0 66 0F 2E 73' in the module GameAssembly.dll and, if found, label the module address 'test40131'
alloc(newmem,$100,"GameAssembly.dll"+1C1B71) //-- Allocate memory (allocates near module address "GameAssembly.dll"+1C1B71 as jump distance could be bigger than 2GB)

/* By default, CE doesn't care if you label() your labels or not so long as it's not used outside of the script itself */
label(code) //-- Make a local symbol 'code'
label(return)  //-- Make a local symbol 'return'

newmem:

code:
//subsd xmm6,xmm0 //-- Original code commented out perhaps?
addsd xmm6,xmm0 //-- Quite simply, add source operand (xmm0) to the destination operand (xmm6)
ucomisd xmm6,[rbx+28] //-- An unordered comparison is performed between xmm6 and the value contained in [rbx+28] and set flags in EFLAGS register
jmp return

test40131:
jmp newmem
nop //-- Nop unused bytes
nop //-- Nop unused bytes
nop //-- Nop unused bytes
nop //-- Nop unused bytes

return:

registersymbol(test40131) //-- Register the symbol so you, and CE, can use the symbol outside of the script
Most of this information can be found on the CE site - particularly 'Auto Assembler Commands'. Also, I recommend searching 'Mirror of: Into the Void: x86 Instruction Set Reference' for a list of opcodes. I learned a lot from both of these sites.
Back to top
View user's profile Send private message
Csimbi
I post too much
Reputation: 97

Joined: 14 Jul 2007
Posts: 3327

PostPosted: Fri Apr 24, 2020 4:42 am    Post subject: Reply with quote

Seem to be replacing subtraction with addition.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites