| View previous topic :: View next topic | 
	
	
		| Author | Message | 
	
		| pottan How do I cheat?
 
 ![]() Reputation: 0 
 Joined: 22 Nov 2011
 Posts: 2
 
 
 | 
			
				|  Posted: Wed Jan 11, 2012 10:12 am    Post subject: Using Loop Variable as Offset With Multilevel Pointers |   |  
				| 
 |  
				| Hi, 
 I need to write a specific value to memory addresses pointed by
 
 [["ABC.exe"+ ]+730]+100
 [["ABC.exe"+ ]+732]+100
 [["ABC.exe"+ ]+734]+100
 ..................................................
 
 [["ABC.exe"+ ]+750]+100
 
 i.e. where the base address and Offset 1 remains constant but Offset 0 varies from 730 to 750 in steps of 2.
 
 I tried to use this code, but it didn't work
 
  	  | Code: |  	  | for i=1,11 do pValue = '[["ABC.exe"+ ]+730+(i-1)*2]+100'
 writeInteger(pValue,20)
 end
 | 
 
 I am new to LUA. I searched the web but I didn't find much information regarding the usage multilevel pointers in LUA. Can somebody help me?
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| atom0s Moderator
 
  Reputation: 205 
 Joined: 25 Jan 2006
 Posts: 8587
 Location: 127.0.0.1
 
 | 
			
				|  Posted: Wed Jan 11, 2012 12:18 pm    Post subject: |   |  
				| 
 |  
				| Not really sure what you mean with: [["ABC.exe"+ ]+730]+100
 
 Since you have a + with no right-side value. This would be an error.
 Perhaps you meant this?
 [["ABC.exe"+730]+100
 
 If so you could do:
 
  	  | Code: |  	  | for i = 1, 11 do
 writeInteger( string.format( "[ABC.exe+%x]+100", ( 0x730 + ( ( i - 1  )* 2 ) ) ) ), 20 );
 end
 
 | 
 _________________
 
 - Retired. |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| pottan How do I cheat?
 
 ![]() Reputation: 0 
 Joined: 22 Nov 2011
 Posts: 2
 
 
 | 
			
				|  Posted: Wed Jan 11, 2012 9:43 pm    Post subject: |   |  
				| 
 |  
				|  	  | Wiccaan wrote: |  	  | Not really sure what you mean with: [["ABC.exe"+ ]+730]+100
 
 Since you have a + with no right-side value. This would be an error.
 Perhaps you meant this?
 [["ABC.exe"+730]+100
 
 If so you could do:
 
  	  | Code: |  	  | for i = 1, 11 do
 writeInteger( string.format( "[ABC.exe+%x]+100", ( 0x730 + ( ( i - 1  )* 2 ) ) ) ), 20 );
 end
 
 | 
 | 
 
 I'm sorry but there was a number on the right side of +. It somehow disappeared when I submitted the post! I can still see it when I click on 'Edit Post'.
 
 But the string.format actually worked. Thank you very much.
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		|  |