| 
			
				|  | Cheat Engine The Official Site of Cheat Engine
 
 
 |  
 
	
		| View previous topic :: View next topic |  
		| Author | Message |  
		| flonghead How do I cheat?
 
 ![]() Reputation: 0 
 Joined: 13 Apr 2020
 Posts: 1
 
 
 | 
			
				|  Posted: Mon Apr 13, 2020 10:38 am    Post subject: Can someone tell me what this script is doing please? |   |  
				| 
 |  
				| 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!   
 
 aobscanmodule(test40131,GameAssembly.dll,F2 0F 5C F0 66 0F 2E 73 2
  // 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)
 _________________
 
 |  |  
		| Back to top |  |  
		|  |  
		| happyTugs Cheater
 
  Reputation: 0 
 Joined: 23 Apr 2020
 Posts: 26
 
 
 | 
			
				|  Posted: Fri Apr 24, 2020 12:31 am    Post subject: |   |  
				| 
 |  
				| It would be nice to know what the script is trying to achieve. Anyway, correct me if am wrong. 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. 	  | 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
 | 
 |  |  
		| Back to top |  |  
		|  |  
		| Csimbi I post too much
 
  Reputation: 97 
 Joined: 14 Jul 2007
 Posts: 3327
 
 
 | 
			
				|  Posted: Fri Apr 24, 2020 4:42 am    Post subject: |   |  
				| 
 |  
				| Seem to be replacing subtraction with addition. |  |  
		| Back to top |  |  
		|  |  
		|  |  
  
	| 
 
 | 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
 
 |  |