| View previous topic :: View next topic | 
	
	
		| Author | Message | 
	
		| relentlesstech Cheater
 
 ![]() Reputation: 1 
 Joined: 02 Sep 2018
 Posts: 44
 Location: Rhode Island, USA
 
 | 
			
				|  Posted: Sat Sep 29, 2018 6:40 am    Post subject: [ SOLVED ] How to freeze/manipulate a text-based timer? |   |  
				| 
 |  
				| I am having an extremely difficult time trying to freeze (or just manipulate in general) the timer in the game "V Rally 4" (Single Player) - After days of changed value/increase/decrease/etc, I finally figured out the timer value is stored as unicode text - Not having ever dealt with text-based timers before, I am at a loss as to how I would be able to manipulate the timer - I tried NOP'ing the instructions, but it causes an instant crash.  Anyone have any thoughts on my dilemma? 
 I have a very 'basic' knowledge of Cheat Engine/ASM, so if possible try to put it in 'laymans terms' LOL
 
 This is the opcode group that influences the timer value:
 
 
  	  | Code: |  	  | VCRUNTIME140.memcpy+5F - C3                    - ret VCRUNTIME140.memcpy+60 - 0F10 02               - movups xmm0,[rdx]
 VCRUNTIME140.memcpy+63 - 42 0F10 4C 02 F0      - movups xmm1,[rdx+r8-10]
 VCRUNTIME140.memcpy+69 - 0F11 01               - movups [rcx],xmm0
 VCRUNTIME140.memcpy+6C - 42 0F11 4C 01 F0      - movups [rcx+r8-10],xmm1
 VCRUNTIME140.memcpy+72 - 48 8B C1              - mov rax,rcx
 VCRUNTIME140.memcpy+75 - C3                    - ret
 | 
 _________________
 
 .: Cheat Engine N00b in Progress :.
 I'll earn my avatar someday ...
 
 Last edited by relentlesstech on Mon Oct 08, 2018 4:15 am; edited 1 time in total
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| FreeER Grandmaster Cheater Supreme
 
 ![]() Reputation: 53 
 Joined: 09 Aug 2013
 Posts: 1091
 
 
 | 
			
				|  Posted: Sat Sep 29, 2018 8:13 am    Post subject: |   |  
				| 
 |  
				| memcpy is a generic memory copy function in the visual C runtime / standard library. Backtrace to see what's calling it (and maybe what's calling that etc.) and modify that. _________________
 
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| ParkourPenguin I post too much
 
  Reputation: 152 
 Joined: 06 Jul 2014
 Posts: 4706
 
 
 | 
			
				|  Posted: Sat Sep 29, 2018 8:21 am    Post subject: |   |  
				| 
 |  
				| That's in memcpy. Modifying anything in there would be ill-advised. Looking at the caller might give more interesting results, but knowing what to do with that might be difficult for a beginner. 
 Does changing the string actually change the value of the timer? If it's only changing what the timer appears to be, then you didn't find the right value.
 _________________
 
 I don't know where I'm going, but I'll figure it out when I get there. |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| relentlesstech Cheater
 
 ![]() Reputation: 1 
 Joined: 02 Sep 2018
 Posts: 44
 Location: Rhode Island, USA
 
 | 
			
				|  Posted: Sat Sep 29, 2018 3:39 pm    Post subject: |   |  
				| 
 |  
				|  	  | ParkourPenguin wrote: |  	  | Does changing the string actually change the value of the timer? If it's only changing what the timer appears to be, then you didn't find the right value.
 | 
 
 It does change the timer in-game when I change the value in CE, but it lasts about half a second, then the game crashes - I spent days trying to find anything timer related, and this was the only thing I was able to find, in any type ...
 _________________
 
 .: Cheat Engine N00b in Progress :.
 I'll earn my avatar someday ...
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| relentlesstech Cheater
 
 ![]() Reputation: 1 
 Joined: 02 Sep 2018
 Posts: 44
 Location: Rhode Island, USA
 
 | 
			
				|  Posted: Sun Sep 30, 2018 5:27 pm    Post subject: Figured it out! |   |  
				| 
 |  
				| The answer was backtracing, and LOTS of it - There were several 'dummy' routines that I had to sift though, and in the end the value for the timer was 4 byte, in ms :-/ _________________
 
 .: Cheat Engine N00b in Progress :.
 I'll earn my avatar someday ...
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		|  |