elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 02:53  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: Shaddy, karmany)
| | |-+  LLamar a una direccion de memoria desde otro programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: LLamar a una direccion de memoria desde otro programa  (Leído 1,186 veces)
s_azazel

Desconectado Desconectado

Mensajes: 57



Ver Perfil
LLamar a una direccion de memoria desde otro programa
« en: 31 Octubre 2010, 11:34 »

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 Desconectado

Mensajes: 1.065


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: LLamar a una direccion de memoria desde otro programa
« Respuesta #1 en: 31 Octubre 2010, 11:41 »

¿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 Desconectado

Mensajes: 57



Ver Perfil
Re: LLamar a una direccion de memoria desde otro programa
« Respuesta #2 en: 31 Octubre 2010, 11:46 »

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
Moderador
***
Desconectado Desconectado

Mensajes: 1.254



Ver Perfil
Re: LLamar a una direccion de memoria desde otro programa
« Respuesta #3 en: 31 Octubre 2010, 11:56 »

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

- "Tu sitio para aprender, enseñar y compartir"
s_azazel

Desconectado Desconectado

Mensajes: 57



Ver Perfil
Re: LLamar a una direccion de memoria desde otro programa
« Respuesta #4 en: 31 Octubre 2010, 12:04 »

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
Moderador
***
Desconectado Desconectado

Mensajes: 1.254



Ver Perfil
Re: LLamar a una direccion de memoria desde otro programa
« Respuesta #5 en: 31 Octubre 2010, 13:03 »

¿Y por qué no te funciona un Sendkeys a la pulsación de avanzar?
Qué programa es?
En línea

- "Tu sitio para aprender, enseñar y compartir"
s_azazel

Desconectado Desconectado

Mensajes: 57



Ver Perfil
Re: LLamar a una direccion de memoria desde otro programa
« Respuesta #6 en: 31 Octubre 2010, 13:10 »

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 Desconectado

Mensajes: 1.065


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: LLamar a una direccion de memoria desde otro programa
« Respuesta #7 en: 31 Octubre 2010, 13:21 »

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 Desconectado

Mensajes: 57



Ver Perfil
Re: LLamar a una direccion de memoria desde otro programa
« Respuesta #8 en: 31 Octubre 2010, 18:46 »

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 por s_azazel » En línea
[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.065


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: LLamar a una direccion de memoria desde otro programa
« Respuesta #9 en: 31 Octubre 2010, 19:19 »

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
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Conflicto de direccion IP con otro sistema en la red
Redes
Helicot 2 5,331 Último mensaje 23 Marzo 2011, 03:14
por d3m3n3t3
[Duda] Llamar a argumentos de otro exe desde C.
Programación C/C++
k0ws 3 1,315 Último mensaje 15 Mayo 2011, 21:52
por Queta
problema ret2libc sacando direccion d memoria system()
Bugs y Exploits
rmdma() 6 810 Último mensaje 12 Febrero 2012, 19:14
por Ivanchuk
Llamar a otro metodo netbean grafico
Java
aldg 0 240 Último mensaje 21 Febrero 2012, 17:53
por aldg
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines