Interaccion entre programas, acceso a memoria

Started by rulo86, September 19, 2006, 10:18:50 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

rulo86

Hola
Como podría hacerse para leer un sector de memoria de un programa con otro.
Ejemplo: tengo un programa que me muestra un numero al azar, como podría con otro programa encontrar la posición de memoria donde se encuentra ese numero y utilizarlo.
El programa que quiero hacer es parecido a este: http://www.pokerinspector.com/download/holdemsetup.exe
La idea es poder "ver" una mesa de poker como lo hace el programa linkeado y bueno a partir de los datos obtenidos sacar algunas estadisticas y diversas cosas.
Osea el problema seria:
1-Encontrar la posicion de los datos (cartas mostradas, usuarios en juego, posicion de usuarios, dinero apostado, etc..)
2-Poder leer esa data.

Intente encontrar algo con el ollydbg en el Bet365 pero la verdad q mirar el programa asi en crudo no es nada practico.

saludos

SnO.opy

Pues no sabria decirte si es un juego online para ganar dinero hay paginas donde te dicen como gaar dinero facil y te lo demuestran con todo y todo .. pero un programa asi pues seria como un scanner modificado tu a tus gustos creo yo.

rulo86

un escaner? no entiendo a q te referis, me darias un ejemplo?
Digamos lo que quiero es poder leer un espacio de memoria q esta dedicado a un programa cualquiera. Como harian para encontrar ese espacio y luego como para leerlo desde otro programa.

gracias

porq69

Quote from: rulo86 on September 19, 2006, 10:18:50 PM
Hola
Como podría hacerse para leer un sector de memoria de un programa con otro.
Ejemplo: tengo un programa que me muestra un numero al azar, como podría con otro programa encontrar la posición de memoria donde se encuentra ese numero y utilizarlo.
El programa que quiero hacer es parecido a este: http://www.pokerinspector.com/download/holdemsetup.exe
La idea es poder "ver" una mesa de poker como lo hace el programa linkeado y bueno a partir de los datos obtenidos sacar algunas estadisticas y diversas cosas.
Osea el problema seria:
1-Encontrar la posicion de los datos (cartas mostradas, usuarios en juego, posicion de usuarios, dinero apostado, etc..)
2-Poder leer esa data.

Intente encontrar algo con el ollydbg en el Bet365 pero la verdad q mirar el programa asi en crudo no es nada practico.

saludos

mmmm.... Estudiar programas no es tan sensillo hay q sentarse con un buen cafe y ponerse a estudiar con algun depurador (como Ollydbg). Ahora estos programas de poker utilizan una interaccion con una base de datos, es decir q necesitas buscar y estudiar la forma en el q este interactua con la pagina o base de datos, como??? Una buena forma seria poner a escuchar un sniffer y estudiar los paquetes otra seria depurar el programa hasta encontrar algo de informacion. Hay un buen tuto con todo y su hackme q muestra como estos programas son vulnerables a las inyecciones SQL y como puede ser esto posible??? pues como dije estos programas interactuan con una base de datos q muchas veces no muestran seguridad por ser un protocolo de tercera.

Hacme de Casinos ;)  Curioso Tuto sobre lo q estamos hablando y paso a paso  :o

Se los recomiendo...

porq69

Quote from: rulo86 on September 20, 2006, 10:34:49 AM
un escaner? no entiendo a q te referis, me darias un ejemplo?
Digamos lo que quiero es poder leer un espacio de memoria q esta dedicado a un programa cualquiera. Como harian para encontrar ese espacio y luego como para leerlo desde otro programa.

gracias

Creo q no estas muy seguro lo q buscas, pero para contestar necesitas depurar el programa seria la unica forma de encotrar informacion en la memoria o algun dato. Los mejores tutos q eh leido fueron los de Raton pero por desgracia eliminaron su existencia de internet (**Algo escalofriante pero cierto**) y con su existensia se llevaron sus tutos haci q buscalos a ver si los encuentra sino los tendre q subir :-\ pero primero buscalos ;D


SnO.opy

Creo que lo que buscas es dinero facil solo que de una manera no muy comun jeje.. pero es mejor seguir el link de Porq69, haber si aclara tus dudas..... sino en realidad no entiendo tu duda ya que al parecer en tu respuesta sigues dudoso en lo que quieres..

SnO.opy[\color]

rulo86

La verdad no entiendo porq dicen q no se que quiero si fue bastante claro lo que plantie. Pero bueno voy a mirar el curso y voy a ver si desculo algo con el ollydbg.

saludos

SnO.opy

Leete el curso y luego nos dices si queires otra cosa.. siempre hay que aclarar ideas ..

SnO.opy

ParaCarelo

Oye, y por que no mejor en vez de escribirlo y consultarlo en memoria grabas tus datos en el registro de windows?

Me imagino tambien que si se trata de un juego de varios participantes ellos estarán en maquinas diferentes, quiza te convenga usar sockets.

Suerte!

Balder

Puuuuuuuufff, quieres acceder a los datos de un programa, accediendo directamente a la memoria... Lo primero es que para acceder a la memoria en si del programa no tienes permisos, en general los programas solo pueden acceder a su propia memoria, aún así es posible que exista alguna función en la API de windows que te lo permita hacer. No obstante una vez accedas a la memoria debes resolver un par de problemas... Lo primero es que no sabes donde está el programa, luego deberías encontrar su posición en memoria, reza por que haya otra funcion en la API de windows que te lo permita hacer... Aún teniendo la suerte de que lograses hacer esto, sabiendo que la memoria del programa va de xxx a yyy, no puedes saber si cada linea de memoria es una parte de los datos o del propio código del programa (sí señores, la memoria no almacena únicamente datos). Si ahora suponemos que tienes la iiiincreible suerte de saber que de las lineas xxxxx a yyyyyy están los datos del programa aquí ya debes ser un jodido dios para poder distinguir que tipo de dato es cada byte que te encuentres, no esperes que los datos esten almacenados en simples bytes, todo programa corriente diseñado con POO almacena sus datos en clases, aún sabiendo cual es la estructura exacta de estas clases no serías capaz de separarla de los datos, y dudo mucho de que seas capaz de sacar la estructura exacta (a no ser que tengas el código a mano, y aún así no te serviría de nada). Creo que ha quedado bastante claro, intenta hacerlo de otra forma, esto que quieres hacer está a todas luces muy lejos de una persona en solitario, quizás un grupo de muuuuchos ingenieros en informática especializados en este campo....

un saludo  8)

SnO.opy

Grupo de ingenieros no es necesario solo necesitas tiempo ,conocimientos y experiencia...Pero como digo yo Buscat en google esa pag. que es para ganar dinero facil..o ... Trabaja como todos....o casi todos   :D

SnO.opy

PD= mi nombre siempre sera un hypervinculo a lugares al azar jeje xD!(puestos por mi obio) xD!!!!!!!

Balder

Para desentrañar algo de ese calado es necesario más que conocimientos y experiencia, realmente es como descifrar un codigo complejo no es una tarea que se pueda llevar sin un previo trabajo muy muy duro, bueno a no ser que no tengas vida social y tengas pensado ocupar tus proximos 40 años frente al ordenador con tu nueva tarea XD

MuRdEr DreAms

Quote from: rulo86 on September 19, 2006, 10:18:50 PM
Hola
Como podría hacerse para leer un sector de memoria de un programa con otro.
Ejemplo: tengo un programa que me muestra un numero al azar, como podría con otro programa encontrar la posición de memoria donde se encuentra ese numero y utilizarlo.
El programa que quiero hacer es parecido a este: http://www.pokerinspector.com/download/holdemsetup.exe
La idea es poder "ver" una mesa de poker como lo hace el programa linkeado y bueno a partir de los datos obtenidos sacar algunas estadisticas y diversas cosas.
Osea el problema seria:
1-Encontrar la posicion de los datos (cartas mostradas, usuarios en juego, posicion de usuarios, dinero apostado, etc..)
2-Poder leer esa data.

Intente encontrar algo con el ollydbg en el Bet365 pero la verdad q mirar el programa asi en crudo no es nada practico.

saludos

hola amigo dejame decirte k diskrepo de todos.. yo entiendo a k te refieres...

kiero decir yo si entiendo a k te refieres

por lo visto los demas amigos kedaron  ???

jeje

en fin

primera pregunta tu sabes programar?

ahora si la respuesta es si entonces me entenderas
los programas como muy bien dijo un amigo mas arriba funcionan con su propia memoria pero no es otra k la de nuestro propio ekipo..asi k enteoria si tuvieras como adjuntar la ruta de la memoria de otro programa a tu codigo fuente es teoricamente posible,,ahora para lograrlo tendriamos k tener los dos programas corriendo para poder acceder a la memoria del programa X ...bien en eso no e pensado aun...pero creo k es teoricamente posible..
ahora si me pregutas como seria en la practica  ::) la verdad me cuesta trabaja imaginarlo..para empezar los dos software deberian estar en el mismo codigo para k se acepten entre si las lineas de codigos y rutinas etc..cosa muy poco problable..asi k noc si te sirva de algo esta respuesta.jeje pero en teoria fucionaria

ya me di muchas vueltas en eso verdad?'
mejor me voy adios y espero k te salga todo bien

adios

SnO.opy

creo que en resumen tienes que estudiar y demas cosas. y creo que este es un tema muerto(osea que ya no tiene sentido)...


rulo86

Estan hablando de una tarea casi imposible, pero como aca les deje un ejemplo (http://www.pokerinspector.com/download/holdemsetup.exe ) se ve que se puede hacer. lo que se puede observar es que si uno "tapa"(con otra ventana) la ventana a observar (la ventana de la partida de poker) el programa deja de "ver" el juego, a pesar de que el programa sigue corriendo y la partida se sigue jugando. tal vez esta data le despierta a alguien una solucion mas simple al problema.

Saludos