| GFreak01 How do I cheat?
 
 ![]() Reputation: 0 
 Joined: 21 Apr 2025
 Posts: 1
 
 
 | 
			
				|  Posted: Mon Apr 21, 2025 5:22 pm    Post subject: Full Injection - Check FP6 |   |  
				| 
 |  
				| I'm trying to inject some code that will do something IF the FP6 is a given value. 
 I noticed that repeated calls to fstp seems to cycle the FPURegisters.
 
 However, when stepping through during execution, the address I'm writing to is given "NaN", instead of the number I'm looking at on the stack.
 
 
 At Enable, I'm allocating the following addresses
 
  	  | Code: |  	  | alloc(tempfloat,$4) alloc(trash,$4)
 | 
 
 
 
  	  | Code: |  	  | //store 6th float, and finish cycle to ensure state matches starting fstp dword ptr [trash] // FP0
 fstp dword ptr [trash] // FP1
 fstp dword ptr [trash] // FP2
 fstp dword ptr [trash] // FP3
 fstp dword ptr [trash] // FP4
 fstp dword ptr [trash] // FP5
 fstp dword ptr [tempfloat] // FP6
 //Do Something
 //cycle again to return to starting state
 fstp dword ptr [trash] // FP7
 | 
 
 Can anyone help me out?
 
 --------
 edit1:
 
 I'm thinking the issue might be due to this program being 32 bit.
 When I display the FPURegisters as 4 bytes, each one is 00000000 XXXXXXXX.  So maybe it's grabbing the wrong word from the stack.
 
 -------
 edit2:
 Continuing the explore this.  I happened across this post that explains it could be the FPU Environment having those set to "empty".
 
 Forum post: p=5693220
 
 I need to figure out how to adjust that.
 |  |