| 
	
		|  Autor | Tema: LLamar a una direccion de memoria desde otro programa  (Leído 6,010 veces) |  
	| 
			| 
					
						| s_azazel 
								
								 Desconectado 
								Mensajes: 98
								
								   | 
 
Muy Buenas, estoy iniciandome en el mundo de la ingenieria inversa y mi primer proyecto es hacer un progrma que controle otro.
 Para eso he puesto varios bmsg y he visto las llamadas que hacen.
 
 Mi pregunta es... en algun lenguaje de programacion.... vb o c se puede escribir alguna orden para que en tiempo de ejecucion el programa valla a una direccion y la ejecute????
 
 Muchas gracias!!!!!
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| [Zero] 
								Wiki  Desconectado 
								Mensajes: 1.082
								
								 
								CALL DWORD PTR DS:[0]
								
								
								
								
								
								     | 
 
¿A una dirección del propio programa o a una dirección del programa remoto? Si es del propio programa puedes hacerlo en C con un puntero a una función o en ASM con un call o un jmp. Si es lo segundo puedes usar SuspendThread+GetThreadContext+SetThreadContext+ResumeThread o CreateRemoteThread.
 Saludos
 |  
						| 
								|  |  
								|  |  En línea | 
 
 “El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.Nietzsche |  |  |  | 
			| 
					
						| s_azazel 
								
								 Desconectado 
								Mensajes: 98
								
								   | 
 
Es del programa remoto para que se ejecute la rutina como si la llamaras desde dentro
 Es posible hacer algo desde vb???
 
 Estoy ahora mismo aprendiendo c pero aun lo llevo algo flojillo como para hacer un entorno visual XDD
 
 Muchas gracias!!!!
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| karmany | 
 
z_azazel: "estoy iniciandome en el mundo de la ingenieria inversa"Por este motivo, tal vez lo que intentas hacer sea algo complejo. ¿Por qué no intentas modificar directamente el programa, en vez de utilizar otro para que lo haga?
 
 Si expones más detalladamente tu problema tal vez te podamos orientar para encontrar una solución más sencilla.(estoy casi convencido que la hay).
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| s_azazel 
								
								 Desconectado 
								Mensajes: 98
								
								   | 
 
Antes de nada muchas gracias a todos por vuestra ayuda
 Exactamente lo que estoy intentando es hacer un bot de un juego....
 
 El problema que tengo es que mediante SendKeys henvio pulsaciones de teclado y me funciona perfectametne excepto para el movimiento
 
 He puesto un BMSG en Olly para que me salte al pulsar una tecla y he localizado la rutina que hace cuadno se pulsa por ejemplo la tecla de avanzar
 
 Lo que pretendia hacer es que de alguan forma mediante el bot me saltara a esa rutina directamente
 
 Muchas gracias de nuevo por orientarme un poco XDDD
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| karmany | 
 
¿Y por qué no te funciona un Sendkeys a la pulsación de avanzar?Qué programa es?
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| s_azazel 
								
								 Desconectado 
								Mensajes: 98
								
								   | 
 
Es un juego tipo WOW se llama runes of magic al enviar por ejemplo la pulsacion de la tecla "b" me abre la mochila pero al enviar la "w" no avanza el personaje tambien he probado enviando "{x 10}" y en el chat del juego me pone 10 w pero con el chat desactivado no me avanza
 Por eso habia pensado el llamar directamente a la direcion del programa que da la orden de avanzar la cual tengo localizada ya
 
 Gracias de nuevo por vuestro tiempo
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| [Zero] 
								Wiki  Desconectado 
								Mensajes: 1.082
								
								 
								CALL DWORD PTR DS:[0]
								
								
								
								
								
								     | 
 
Si quieres hacer eso lo más recomendable sería inyectar una DLL en el proceso y desde ahí ejecutas lo que quieras, pero eso en VB como que no    . Saludos |  
						| 
								|  |  
								|  |  En línea | 
 
 “El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.Nietzsche |  |  |  | 
			| 
					
						| s_azazel 
								
								 Desconectado 
								Mensajes: 98
								
								   | 
 
Ok muchas gracias me voy a poner a ello pues con c XDDD a ver¿hay alguna aplicacion de c++ del tipo vb en entorno visual???
 
 La cosa seria hacer la dll con las instruccines inyectarla y ejecutarla no??
 
 voy a leer un poco a ver si me aclaro con las inyecciones de dll XDDDD
 
 Gracias!!!!
 |  
						| 
								|  |  
								| « Última modificación: 31 Octubre 2010, 18:49 pm por s_azazel » |  En línea | 
 
 |  |  |  | 
			| 
					
						| [Zero] 
								Wiki  Desconectado 
								Mensajes: 1.082
								
								 
								CALL DWORD PTR DS:[0]
								
								
								
								
								
								     | 
 
Si, lee sobre inyecciones DLL, también puedes leer sobre API Hooking (MazarD tiene unos papers muy buenos sobre ambos temas) y luego puedes ver algunos códigos de cheats sencillos. Se trata de ejecutar un código tuyo en el proceso remoto, y la forma más fácil de hacerlo es con una inyección DLL.
 Para lo de la GUI, yo te recomiendo 100 veces Qt, puedes hacer la GUI usando drag&drop además de muchas otras cosas no relacionadas con la interfaz gráfica, y siempre siendo multiplataforma.
 
 Saludos
 |  
						| 
								|  |  
								|  |  En línea | 
 
 “El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.Nietzsche |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | [Duda] Llamar a argumentos de otro exe desde C. Programación C/C++
 | k0ws | 3 | 4,274 |  15 Mayo 2011, 21:52 pm por Queta
 |  
						|   |   | dll estandar creada en vb6 falla al llamar desde otro programa Programación Visual Basic
 | Arconte | 3 | 3,575 |  25 Julio 2012, 05:10 am por Arconte
 |  
						|   |   | ¿Cómo puedo encontrar el TAMAÑO de una dirección de memoria de otro proceso? Programación C/C++
 | CCCoder | 3 | 3,211 |  6 Diciembre 2013, 20:24 pm por ivancea96
 |  
						|   |   | Ayuda con metodo para encontrar la direccion del Kernel y llamar APIs en memoria ASM
 | harry_the_blogger | 5 | 4,304 |  17 Agosto 2014, 10:51 am por Eternal Idol
 |  
						|   |   | Ayuda, llamar otro .cpp desde otro .cpp Programación C/C++
 | ekrasos | 1 | 4,008 |  21 Noviembre 2017, 14:35 pm por Gallu
 |    |