elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Comunicación entre 2 programas distintos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Comunicación entre 2 programas distintos  (Leído 6,344 veces)
arenoide

Desconectado Desconectado

Mensajes: 167



Ver Perfil
Comunicación entre 2 programas distintos
« en: 31 Mayo 2011, 22:30 pm »

Hola chicos,

Veréis, mi duda supongo que será simple, pero no sé ni como buscarla por google ni nada por el estilo.

Me gustaría saber como crear un programa que "converse" con otro hecho por otra persona para sacar información. Por ejemplo, es muy típico que en poker, se usen programas de poker que te dan estadísiticas en tiempo real y todo eso. Esos programas tienen de alguna forma que conversar con el programa de poker en cuestión para sacar toda esa información. Sabéis como lo hacen?

Muchas gracias.


En línea

madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.911



Ver Perfil WWW
Re: Comunicación entre 2 programas distintos
« Respuesta #1 en: 31 Mayo 2011, 22:49 pm »

Una opción es usar PIPES:

_Interprocess Communication using Named Pipes in C#.
_Inter-Process Communication in .NET Using Named Pipes Part 1 - Part 2.

Te dejo más documentación que te puede servir:

_Communication between applications via Windows Messages .
_Use WM_COPYDATA to send data to/from C++ and C# Windows processes.



En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
arenoide

Desconectado Desconectado

Mensajes: 167



Ver Perfil
Re: Comunicación entre 2 programas distintos
« Respuesta #2 en: 31 Mayo 2011, 22:58 pm »

Pero yo del otro programa no puedo tocar nada ni decirle que me mande información alguna, porque no es un programa que haya hecho yo. Es un programa con el que quiero conversar pero del que no sé nada :S
En línea

madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.911



Ver Perfil WWW
Re: Comunicación entre 2 programas distintos
« Respuesta #3 en: 31 Mayo 2011, 23:38 pm »

Entonces lo que buscas, son los HOOKS.

En el foro hay bastante información sobre esto, utiliza el buscador o Google.
En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
arenoide

Desconectado Desconectado

Mensajes: 167



Ver Perfil
Re: Comunicación entre 2 programas distintos
« Respuesta #4 en: 1 Junio 2011, 12:08 pm »

Dado que el programa externo recibe los datos y las acciones por internet, debería centrarme en la información que el programa recibe por su puerto, no?

Cómo haría esto? Es decir, la información que he encontrado mirando por internet sobre hooking es muy amplia. Se puede recibir información de casi cualquier cosa metiendo el programa. Por ejemplo, me he bajado el API Monitor, y se lo he pasado a mi programa y recibía 30000 llamadas en menos de 2 segundos, así que he reducido el filtro solo a todo lo que es red, por lo que he comentado antes, ya que las instrucciones son simples y las recibe por internet, pues entiendo que leyendo lo que pasa en la red podría entender las acciones que toma. Pero siguen apareciendo muchas llamadas y no entiendo mucho.

Alguien podría orientarme o pasarme algún link de ayuda orientado a un caso como el mío?

Básicamente pretendo interceptar todos los movimientos que le llegan desde internet al programa de poker, de forma que pueda almacenar todos esos datos en una base de datos para analizarlos.
En línea

madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.911



Ver Perfil WWW
Re: Comunicación entre 2 programas distintos
« Respuesta #5 en: 1 Junio 2011, 20:22 pm »

Puedes mirar los mensajes/tramas de red, con algún sniffer como Wireshark.

PD: Por cierto, tu pregunta tiene algo que ver con .NET?
En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
arenoide

Desconectado Desconectado

Mensajes: 167



Ver Perfil
Re: Comunicación entre 2 programas distintos
« Respuesta #6 en: 1 Junio 2011, 20:32 pm »

Mi idea sería hacer el programa en .NET, pero el otro programa no sé si está hecho en .NET o en qué.

El caso es que hay algunos programas muy simples (y de muy poco peso) que son capaces de recoger el valor de las cartas, como por ejemplo el "Holdem Watcher"

Edito: Acabo de probar el tema de captura de paquetes y se ve que no es así como funcionan estos programas puesto que los paquetes vienen con cifrado https, así que el tema de captura de paquetes descartado.
« Última modificación: 1 Junio 2011, 21:10 pm por arenoide » En línea

madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.911



Ver Perfil WWW
Re: Comunicación entre 2 programas distintos
« Respuesta #7 en: 2 Junio 2011, 12:17 pm »

Lee los siguientes artículos:

How I Built a Working Poker Bot, Part 1.
How I Built a Working Online Poker Bot, Part 2: Interlude.

Podrás hacerte una idea de como funcionan los bots usados para poker online.

Creo que deberían mover este tema a Programación General, dado que, de momento, poco tiene que ver con .NET.
En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
kiriost

Desconectado Desconectado

Mensajes: 58


www.godsys.com.ar Hacking y Programación


Ver Perfil WWW
Re: Comunicación entre 2 programas distintos
« Respuesta #8 en: 6 Junio 2011, 21:13 pm »

Eso sería ingresar a la memoria de otro programa para leerla, ya que allí es donde se almcenan todo los datos. Lo más sencillo si estas en windows es utilizar 2 APIs:
  • WriteProcessMemory() - escribir en memoria de un proceso
  • ReadProcessMEmory() - leer memoria de un proces
*Para abrir el proceso tendrías que utilizar OpenProcess().

Todo esto en Windows. Linux provee otras APIs para esto, como ptrace().

O también puedes utilizar los hooks.
En línea

http://www.godsys.com.ar > Programación. Hacking y Cracking. Sistemas. Desarrollo Web.
Java, C/C++, PHP, Python, Perl, HTML, Game-Hacking, Defacing, Desarrollo Web, GNU/Linux, y más
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines