Gambas France BETA


Pas de compte ? Incription

Récupèrer les infos d'un programme en cours...

1
AuteurMessages
loki#1 Posté le 23/8/2011 à 10:50:40
Bonjour a tous,(encore moi) (déplacé de l'ancien forum)

Comment récupère t’ont les infos d'un programme en cours de fonctionnement ?

Un peut d'explication:
J'essaye de me programmer un petit tracker poker pour winamax car il n'en n'existe pas sous Linux(ça doit pas être rentable a ceux qui les vendent une fortune).
Winamax fait un fichier.txt historique (d’où mon post précédent Cool) des mains jouées après chaque tour mais pas action après action, ce qui rend impossible la création de cote (les cotes doivent êtres calculées en direct après chaque action) c'est pour ça que je voudrais récupérer les infos en direct comme dans l'historique du logiciel:



pour l'instant seule la partie information et tactique préflop fonctionne (prise dans le fichier.txt l'historique donc après chaque tour):



mais sans les infos en direct je reste bloqué, si quelqu'un a une idée...

a+
loki
Dell Vostro 3750
Ubuntu 13.04 - Gambas 3.4.1
Prokopy#2 Posté le 23/8/2011 à 11:59:36
Kinder PinguiSalut loki,

Techniquement il est impossible de récupérer la moindre donnée d'un programme en cours dans la mémoire vive, c'est le système qui exige ça. Si tu sors de tes plates-bandes (ce qui est quand même difficile avec Gambas ;) ), le système va te planter ton programme avec un joli message "Segmentation fault".

Dans la pratique, un programme peut donner ces informations (comme avec le fichier txt par exemple), mais c'est à lui de gérer ça. S'il ne fournit pas ces infos, on ne peut rien y faire.

Regarde si tu peux trouver d'autres fichiers texte quelque part, ou si Winamax communique par DBUS (GB3 uniquement, l'exemple DBUS Explorer est pratique pour voir toutes les applications qui l'utilisent).
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
gambix#3 Posté le 23/8/2011 à 12:06:20
Faire simple !Je crois que tu te mélange les peinceau la ... Prok


Loki dit m'en plus sur ce qu'est winamax ??

Un jeu en ligne ?

ya un server ?



Moins de texte dans une signature c'est agrandir son espace.
loki#4 Posté le 23/8/2011 à 12:58:28
salut,

@Prokopy
on peut regarder et trouver des infos des programmes en mémoire avec "scanmem" et sont gui "gameconqueror" on peut retrouver les variables et leurs valeur (mais la stabilités de "gameconqueror" et sont utilisation sont difficile)

Rechercher en mémoire était l'idée première j'en ai eu d'autre :D sniffer le flux réseau, capté l'historique live via la fenêtre du programme etc... c'est les mettre en application qui est plus compliquer (je connais que les bases en infos)

Il y a des programmes uniquement sous Windows qui font ça (poker tracker, poker office...) mais, Windows et chères en plus, donc c’est possible de récupérer ces informations.

Il y a bien un fichier log mais les infos sont pas utilisable pour calculer mes cotes, il y a juste comme information valable ma main en cours(pour calculer les cotes j'ai besoin des mises en autres)

@gambix
winamax est une société de jeu de poker en ligne :lol: leur logiciel tourne sous "adobe air" via le réseau "ondemand" société qui fournis la partie réseau a différentes sociétés de poker en ligne.

Donc oui il doit avoir un server chez "ondemand"
Dell Vostro 3750
Ubuntu 13.04 - Gambas 3.4.1
Prokopy#5 Posté le 23/8/2011 à 15:51:47
Kinder PinguiHum ... scanmem je doute que ce soit possible de l'utiliser facilement dans un programme (Gambas ou autre).
Déjà il faut localiser les variables. Difficile déjà avec une valeur entière (et à la main), un score par exemple, alors analyser des données plus complexes comme des cartes ou des trucs comme ça ... si t'as des jours à perdre pourquoi pas. :tongue:

Je pense que techniquement, la meilleure solution serait en effet d'écouter le traffic réseau, mais je ne connais pas de manière de le faire en gambas et les utilitaires en ligne de commande j'en connais pas non plus. Mais ce serait sans doute le plus simple et le plus efficace (le plus sûr !).
Je connais Wireshark qui est en interface graphique, pour écouter ton réseau (si ta carte réseau le permet), pour te mettre au gôut. Ce genre de petits programmes en ligne de commande il doit bien en exister, regarde sur Google. ;)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
gambix#6 Posté le 23/8/2011 à 16:04:48
Faire simple !intéressant ! <--a lire absolument

Moins de texte dans une signature c'est agrandir son espace.
loki#7 Posté le 23/8/2011 à 20:34:38
J'ai déjà essayé de scanner avec wireshark,ngrep,tcpdump etc... mais c'est trop compliqué (je n'arrive pas a trouver mes infos dedans)
Dell Vostro 3750
Ubuntu 13.04 - Gambas 3.4.1
1