| View previous topic :: View next topic | 
	
	
		| Author | Message | 
	
		| Hoodles Newbie cheater
 
  Reputation: 0 
 Joined: 05 Jan 2006
 Posts: 11
 
 
 | 
			
				|  Posted: Thu Jan 26, 2006 10:56 am    Post subject: How exactly handle is obtained |   |  
				| 
 |  
				| Lately I've been trying to write a program/trainer that can modify a game with a process that is hidden by GameGuard functions (maplestory obviously).  And since I do not know Delphi I cannot simply copy the code thats in the open source.  I can write my proggie in VB, C++, or C#...So an explanation using any of these languages will suffice. 
 The problem is that the open source you provide does not have many comments and there are a vast amount of code and a large variety of functions and modules used to make up CE.  It is hard to sift through.  I just need to know the process of getting the handle on a process that is visible to begin with, then disappears (in a sense).  I was able to create a loop that gets the PID and handle on said process, but once GG and the client loads...it like dies.  And I cannot use it anymore.
 
 If possible I would like to the exact way that CE is able to obtain a handle and keep it so you can modify the memory with kernel-mode functions defined in the DBK.
 
 A general explanation or one in a language will do.  Thanks =]
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Mooblar Cheater
 
 ![]() Reputation: 0 
 Joined: 26 Jan 2006
 Posts: 31
 
 
 | 
			
				|  Posted: Thu Jan 26, 2006 11:08 am    Post subject: Re: How exactly handle is obtained |   |  
				| 
 |  
				|  	  | Hoodles wrote: |  	  | Lately I've been trying to write a program/trainer that can modify a game with a process that is hidden by GameGuard functions (maplestory obviously).  And since I do not know Delphi I cannot simply copy the code thats in the open source.  I can write my proggie in VB, C++, or C#...So an explanation using any of these languages will suffice. 
 The problem is that the open source you provide does not have many comments and there are a vast amount of code and a large variety of functions and modules used to make up CE.  It is hard to sift through.  I just need to know the process of getting the handle on a process that is visible to begin with, then disappears (in a sense).  I was able to create a loop that gets the PID and handle on said process, but once GG and the client loads...it like dies.  And I cannot use it anymore.
 
 If possible I would like to the exact way that CE is able to obtain a handle and keep it so you can modify the memory with kernel-mode functions defined in the DBK.
 
 A general explanation or one in a language will do.  Thanks =]
 | 
 
 Why don't you just get the C++ source code?
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		| Dark Byte Site Admin
 
  Reputation: 470 
 Joined: 09 May 2003
 Posts: 25807
 Location: The netherlands
 
 | 
			
				|  Posted: Thu Jan 26, 2006 12:39 pm    Post subject: |   |  
				| 
 |  
				| The c++ code is a joke. 
 and regarding opening the process:
 There are 3 methods:
 1: enumerate all windows and get the processid from the window and call openprocess
 2: try to open all processes from 0 to 7fff and check if the first module of each process that could be opened in the process you wanted.
 3: write a processwatcher, I believe windows recently released a sdk with those functions in it, but I wrote a kernelmode routine that watches process creation and tells ce about it. Then open those processes.
 
 and a different method in it's entirely is write your own kernelmode openprocess and read/write process memory api's
 _________________
 
 Do not ask me about online cheats. I don't know any and wont help finding them.
 Like my help? Join me on Patreon so i can keep helping
 |  | 
	
		| Back to top |  | 
	
		|  | 
	
		|  |