IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Extraire les données d'un MOV (ECX, EDX)


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 33
    Par défaut Extraire les données d'un MOV (ECX, EDX)
    Bonjour,


    Tout est dit dans le titre, j'aimerais pouvoir extraire grâce à un hook les données d'un MOV étant donné que j'ai l'adresse de cette instruction.
    Un petit screenshot :

    https://puu.sh/ustlK/3a2b7d4bb1.png

    Je peux prendre les codes en VB.net/c#/c++. Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 503
    Par défaut
    Tout est dit dans le titre
    Ça c'est dans ta tête, pour nous, de l'extérieur, c'est totalement abscons.

    Je ne vois aucun rapport avec un "hook", à la rigueur du chargement de valeur dans les registres de débugging (rien de portable), ou de la modification de code à chaud à base de "int3" ou d'utilisation de Dll à la "Detours" (https://www.microsoft.com/en-us/rese...oject/detours/), mais "Hook", à part comme vecteur virale, que nenni.

    Je peux prendre les codes en VB.net/c#/c++. Merci d'avance
    Ouais, mais, faut arrêter de croire au père Noël, t'es bon pour l'assembleur, mon gars.

    Soyez plus clair sur vos objectifs, parce que là, vous êtes vraisemblablement en train de vous compliquez la vie, à moins de concevoir un virus ou un bot.
    2 choses qu'on ne cautionne pas.

  3. #3
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Si tu veux lire dans la mémoire, utilise un lecteur de mémoire, ca ira plus vite.

    Il y en a plein dans la catégorie cheat de vieux jeux pc.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 33
    Par défaut
    Merci pour vos réponses rapides.

    Ça c'est dans ta tête, pour nous, de l'extérieur, c'est totalement abscons.
    Si tu veux, je peux donner un screenshot plus clair :

    https://puu.sh/usB1d/b39ab89253.png

    Je ne vois aucun rapport avec un "hook"
    Une fois j'avais besoin de modifier des packets et j'ai fait un API hooking de la fonction "SendTo" (modèle trouvé sur internet). Donc je suppose qu'ici c'est pareil.

    Si tu veux lire dans la mémoire, utilise un lecteur de mémoire, ca ira plus vite.
    Oui je sais bien, mais le but c'est d'automatiser dans mon cas .

    Merci quand même pour vos réponses.

  5. #5
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    le plus direct pourrait aussi être un débugger.

    Dans tout les cas, je pense que tu vas trop loin dans la solution "technique".
    Qu'essaye-tu de faire?
    Pourquoi devoir violer l'intégralité des protections du système pour obtenir la valeur d'un entier?
    Comment sais-tu que c'est cet entier qu'il te faut, et pas l'un des millions d'autres qui transiteront par cette instruction (vive les boucles) ou à côté?

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2016
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2016
    Messages : 33
    Par défaut
    Merci de ta réponse ternel.

    Je cherche à avoir la valeur d'ECX (ou EAX, l'idée est la même) après que l'instruction 4FCD7B ait été appelée car je sais que ça contient une adresse qui mène aux coordonnées de chaque joueur. (c'est pour un vieux jeu vidéo auquel je ne joue pas, je fais ça plus pour le plaisir d'apprendre)

    our obtenir la valeur d'un entier
    Pas tout à fait, j'ai utilisé un debugger et je me suis aperçu que cette instruction est sur une boucle qui me donne les coordonnées de chaque joueur 1 par 1:
    Dans un premier temps ça me donne les coordonnées du joueur 1 puis du joueur 2 puis du joueur 3 puis du joueur 4 => joueur 5 n'existe pas => ça boucle sur le joueur 1 etc etc

    Etant donné que je n'ai pas réussi à faire de pointer scan, je me suis dit que je pouvais faire comme ça, mais je sais pas comment dire "prendre la valeur de tel registre dès que telle instruction est appelée".

    Mais bon je pense pas être sur le bon forum.

Discussions similaires

  1. [Talend open studio] Comment extraire les données à partir d'Oracle ?
    Par aymengomez dans le forum Développement de jobs
    Réponses: 19
    Dernier message: 15/05/2009, 12h09
  2. Réponses: 1
    Dernier message: 26/01/2007, 08h15
  3. Extraire les données ID3 d'une musique
    Par FluidBlow dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/10/2006, 20h04
  4. Réponses: 12
    Dernier message: 18/07/2006, 19h51
  5. Pour extraire les données d'un fichier texte
    Par Floch dans le forum Access
    Réponses: 2
    Dernier message: 02/05/2006, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo