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


 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  Leer datos de un programa en ejecución
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Leer datos de un programa en ejecución  (Leído 1,547 veces)
samuelhm

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Leer datos de un programa en ejecución
« en: 16 Noviembre 2012, 17:15 »

Como podria leer datos de un programa en ejecución? creo que es posible pero no encuentro documentación en español para ello.

Lo que quiero hacer, es el el software de pokerstars, cuando tienes una mesa abierta, poder recivir y guardar en variables el nombre, y tamaño de fichas de cada jugador.

Aunque seria mas interesante si se pudiera hacer sniffeando el puerto que usa para recivir los datos en este programa, para poder ejecutarlo en otro pc y hacerlo indetectable.

Un Saludo, y muchas gracias si alguien sabe donde puedo conseguir esta info.


En línea

darkangel2125

Desconectado Desconectado

Mensajes: 49


sudo apt-get moo


Ver Perfil
Re: Leer datos de un programa en ejecución
« Respuesta #1 en: 16 Noviembre 2012, 19:12 »

poker stars tiene una seguridad muy alta pero no imposible de romper, creo que tendras realizar captura de paquetes de datos con un programa snifer y descubrir el algoritmo y cifrado que tiene pokerstar
lo de almacenar los datos en variables tendras que diseñar un programa complejo para hacerlo despues de sacar el cifrado y el algoritmo que usa, algo que parece muy complicado si no sabes donde empezar
tendras que estudiar mucho antes de poder iniciar con tu plan


En línea

Dulce caos
samuelhm

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Re: Leer datos de un programa en ejecución
« Respuesta #2 en: 16 Noviembre 2012, 19:16 »

Bueno, no tengo problemas ya que no necesito estar logueado, en vez de hacerlo sniffeando, seria mas facil hacerlo accediendo a la memoria que usa el programa, y buscar en que parte de la memoria se esta guardando estos valores y leerlos, he visto por el foro un chico que tiene un programa que saca datos de los ejecutables, pero no adjunta el codigo fuente.
En línea

samuelhm

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Re: Leer datos de un programa en ejecución
« Respuesta #3 en: 16 Noviembre 2012, 19:17 »

El software lo tengo casi listo, solo necesito leer datos, a unas malas hago captura de pantalla y intento trabajar con alguna libreria que maneje imagenes. pero creo que seria mucho engorro así.
En línea

avesudra


Desconectado Desconectado

Mensajes: 614


Intentando ser mejor cada día :)


Ver Perfil
Re: Leer datos de un programa en ejecución
« Respuesta #4 en: 16 Noviembre 2012, 19:31 »

Tienes que buscar las direcciones de memoria que usa el programa para eso y sacarlas con la función de la API de Windows :
http://msdn.microsoft.com/es-es/library/windows/desktop/ms680553%28v=vs.85%29.aspx
En línea

Regístrate en
samuelhm

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Re: Leer datos de un programa en ejecución
« Respuesta #5 en: 16 Noviembre 2012, 19:51 »

Soy un poco malo con el ingles, ese es el problema.
 
Igualmente buscaré por google el uso de ReadProcessMemory function porque no acabo de entender que me da exactamente, de todas formas muchas gracias, ya tengo algo para buscar.
En línea

samuelhm

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Re: Leer datos de un programa en ejecución
« Respuesta #6 en: 16 Noviembre 2012, 20:01 »

El programa este de CHeat Engine, encuentra la direccion de memoria de las fichas de cada uno, lo malo es que tengo que buscar por ejemplo el numero de fichas y el programa extrae la direccion de memoria.

Se podria hacer automatico o es imposible ya que cada vez que se ejecuta la direccion de memoria asignada al valor de la cantidad de fichas siempre es diferente?

EDITO:
Quiero decir, para que se entienda, si yo quiero sacar los nombres y cantidad de fichas de cada jugador sin tener que buscarlo con un programa externo, y cada vez en una mesa diferente, es posible? cada vez que reinicie el programa no estaran en diferentes posiciones de la memoria?


« Última modificación: 16 Noviembre 2012, 20:40 por samuelhm » En línea

avesudra


Desconectado Desconectado

Mensajes: 614


Intentando ser mejor cada día :)


Ver Perfil
Re: Leer datos de un programa en ejecución
« Respuesta #7 en: 16 Noviembre 2012, 21:01 »

Posible es , como todo , pero eso ya se sale fuera de mis límites , ni idea.
En línea

Regístrate en
x64Core


Desconectado Desconectado

Mensajes: 1.754



Ver Perfil
Re: Leer datos de un programa en ejecución
« Respuesta #8 en: 16 Noviembre 2012, 23:35 »

El programa este de CHeat Engine, encuentra la direccion de memoria de las fichas de cada uno, lo malo es que tengo que buscar por ejemplo el numero de fichas y el programa extrae la direccion de memoria.

Se podria hacer automatico o es imposible ya que cada vez que se ejecuta la direccion de memoria asignada al valor de la cantidad de fichas siempre es diferente?

EDITO:
Quiero decir, para que se entienda, si yo quiero sacar los nombres y cantidad de fichas de cada jugador sin tener que buscarlo con un programa externo, y cada vez en una mesa diferente, es posible? cada vez que reinicie el programa no estaran en diferentes posiciones de la memoria?




Si, la direccion cambia debido a que probablemente el dato se almacena en un buffer creado dinamicamente o si es almacenado siempre en la sección
de datos entonces el ejecutable debe tener tabla de relocalizacion, la solucion es, comprobar si el buffer donde se almacenan los datos es creado
dinamicamente  o si es almacenado siempre en la sección de datos, si es almacenado en ella, entonces el ejecutable tiene tabla de relocalizacion y
podes obtener la direccion siempre y cuando localizes la direccion desde el archivo en el disco luego resta la direccion base menos la direccion actual en memoria, luego con la direccion ( no offset ) del dato sumas la direccion base actual del ejecutable en memoria más la direccion en memoria  del dato más
el resultado anterior ( entre la direccion base del archivo PE y la direccion base el archivo en memoria ) y obtendras la direccion del dato.

si el buffer es creado dinamicamente entonces tendras que buscar la llamada a la API que crea ese buffer y hookearla y así obtendras el puntero a los datos basandote en los parametros que se pasan al programa, obviamente el programa debe reservar bastante memoria osea varias llamadas a la API.

En línea

samuelhm

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Re: Leer datos de un programa en ejecución
« Respuesta #9 en: 16 Noviembre 2012, 23:49 »

Muchas Gracias por esta gran explicación RHL, aunque la verdad ahora que he comprobado, se escapa de mis limites  :-( :-( :-(.
Intentaré ir aprendiendo poco a poco a hacerlo.
En línea

mDrinky


Desconectado Desconectado

Mensajes: 432



Ver Perfil WWW
Re: Leer datos de un programa en ejecución
« Respuesta #10 en: 17 Noviembre 2012, 11:42 »

Puedes inyectarte en el proceso y hookear las API de winsock para snifear lo que recibe o bien realizar ingenieria inversay  averiguar donde guarda los datos... luego solo te inyectas en el proceso y lees las direcciones.

un saludo.
En línea

samuelhm

Desconectado Desconectado

Mensajes: 27



Ver Perfil
Re: Leer datos de un programa en ejecución
« Respuesta #11 en: 17 Noviembre 2012, 13:55 »

Pues si, para lo que necesito no me hace falta estar logueado asi que, probaré en cuanto aprenda"!

Me recomendais algun buen tutorial???
En línea

mDrinky


Desconectado Desconectado

Mensajes: 432



Ver Perfil WWW
Re: Leer datos de un programa en ejecución
« Respuesta #12 en: 18 Noviembre 2012, 03:06 »

Depende de que tecnica quieras emplear pero vamos...

http://foro.elhacker.net/analisis_y_diseno_de_malware/taller_api_hooking_en_modo_usuario-t262962.0.html

Y este subforo:

http://foro.elhacker.net/ingenieria_inversa-b26.0/

un saludo.



En línea

zamolxe

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Leer datos de un programa en ejecución
« Respuesta #13 en: 6 Abril 2013, 15:29 »

Samuelhm sigues trabajando para el proyecto de poker stars ? yo tambien le estoy echando un ojo al tema.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Leer datos de una base de datos
Desarrollo Web
Rey11 3 520 Último mensaje 21 Septiembre 2005, 04:45
por JR.
Como leer una entrada del teclado sin detener la ejecucion del programa
Programación C/C++
simion_user 5 2,583 Último mensaje 25 Enero 2007, 16:39
por uniqdom
error de ejecucion de datos?
Windows
jamescua 2 517 Último mensaje 5 Mayo 2008, 03:25
por Carloswaldo
prevencion de ejecucion de datos. windows xp
Windows
kristian-v 3 3,168 Último mensaje 18 Agosto 2008, 03:56
por hitori batusai
Ejecución condicional [Batch] LEER
Scripting
Leo Gutiérrez. 7 5,452 Último mensaje 17 Diciembre 2008, 18:15
por Banti
Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines