Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3009 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Lire des données dans un programme (simulateur)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lire des données dans un programme (simulateur)

n°906336
Amigalopin
Posté le 24-11-2004 à 10:14:28  profilanswer
 

Bonjour,
 
Après pas mal de recherches sur le net, je me décide à poster ici.
 
Actuellement, je fais du VB, mais pour mon project, je passe au C++.
 
Je joue avec de simu de vol (Falcon, Forgotten Battle, Strike Fighters Project One) et j'ai besoin d'écrire un programme (service) afin d'aller lire dans la mémoire les valeurs des instruments de vol de l'avion, afin de rediriger ces infos vers des périphériques USB.
 
Mon premier défi, est d'accéder à la mémoire ou est exécuté le programme. Ensuite, avec une table (qui est dispo), j'irai lire les offset où se trouvent les info que j'ai besoin.
 
Si j'ai compris, pour accéder à la zone mémoire utilisée, je dois avoir le handle du thread du programme.
Ensuite, je pourrai faire des appels 'ReadProcessMemory' après avoir récupéré son PID.
Est-ce correct?
 
... un grand merci pour déjà lire ce post,
 
@+

mood
Publicité
Posté le 24-11-2004 à 10:14:28  profilanswer
 

n°906340
Moktar1er
No one replies...
Posté le 24-11-2004 à 10:16:42  profilanswer
 

ce ne serait pas plus simple de poser 1 caméra qui filme l'écran et qui irait "lire" les infos?

n°906352
blackgodde​ss
vive le troll !
Posté le 24-11-2004 à 10:23:30  profilanswer
 

Amigalopin a écrit :

Si j'ai compris, pour accéder à la zone mémoire utilisée, je dois avoir le handle du thread du programme.
Ensuite, je pourrai faire des appels 'ReadProcessMemory' après avoir récupéré son PID.
Est-ce correct?


 
mmh pas tout à fait.
 
tu dois récuperer le pid du processus de ton jeu, puis l'ouvrir avec OpenProcess. Le HANDLE retourné servira de paramètre à ReadProcessMemory
N'oublie pas de fermer le HANDLE avec CloseHandle apres


---------------
-( BlackGoddess )-
n°906400
Amigalopin
Posté le 24-11-2004 à 11:34:22  profilanswer
 

... ben c'est pas trop le but.
Et puis tout le monde n'a pas de caméra qui filme l'écran.
 
La table qui va lire les emplacements mémoires utiles, je les ai pour Falcon4 et IL2.
Donc, il suffit de les mettres dans un fichier que le programme (ou service) consultera pour peupler ses vatriables d'adresses de lecture au démarrage.

n°906407
Amigalopin
Posté le 24-11-2004 à 11:38:18  profilanswer
 

BlackGoddess a écrit :

mmh pas tout à fait.
 
tu dois récuperer le pid du processus de ton jeu, puis l'ouvrir avec OpenProcess. Le HANDLE retourné servira de paramètre à ReadProcessMemory
N'oublie pas de fermer le HANDLE avec CloseHandle apres


 
Merci de l'info.
Je viens d'avoir du code de mon collègue, et ça fonctionne comme tu le dis.
J'ai un code qui liste le pid de chaque programme en mémoire, et il me retourne aussi le handle.
 
Maintenant, je teste le ReadProcessMemory à un offset donné afin de voir si c'est correct.
 
Merci pour le CloseHandle: je vais bien vérifier sa fermeture.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Lire des données dans un programme (simulateur)

 

Sujets relatifs
Type de données avec Access2000Pb pour ajouter des données a une base de donnée
Programme qui resiste a un formatage[vhdl] compilateur et simulateur
[JSP] Utiliser une base de donnéesprogramme pour fermer et relancer un .ppt
[C]Intercepter les donnees ecrites par un processuscmt faire pour ouvrir une page html à partir d'un programme en C
recheche une api pour lire un fichier par la fin[VBA] exporter des données excel dans outlook
Plus de sujets relatifs à : Lire des données dans un programme (simulateur)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR