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

Windows Discussion :

Parcourir les stacks de tous les threads de mon programme a la recherche d'un pointeur.


Sujet :

Windows

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 43
    Points : 33
    Points
    33
    Par défaut Parcourir les stacks de tous les threads de mon programme a la recherche d'un pointeur.
    Hello tout le monde,

    Je suis en train de m'arracher un peu les cheveux.

    Je cherche a parcourir les stacks de tous les threads d'un de mes programmes a la recherche d'un pointeur.

    A vrai dire, je sais pas trop comment m'y prendre, donc si vous avez des suggestions, je suis preneur!

    D'avance merci!

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    En fait j'ai deja une petite idee de la solution que je vais utiliser, qui va ressembler a un truc du genre:

    StackWalk64(...;...;...;&StackFrame;...;...;...;...;...);

    Avec le stack Frame je peux deja recuperer le stack pointer. Ensuite, il me faudrait recuperer l'addresse de debut de ma stack, et le tour est joue, je peux faire ma recherche tranquilou.

    Je suis sur la bonne voie ou bien?

  3. #3
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Il n'y a rien qui ressemble plus à un pointeur qu'un autre pointeur. Du coup ta question en amène plusieurs:

    Pourrais-tu nous expliquer ce que tu comptes faire au final avec ce pointeur ?
    Pourquoi recherches-tu un pointeur en particulier ?
    Vers quoi pointe ce pointeur ?
    Est-ce un pointeur de fonction, vers une structure particulière, vers des données non structurées ?
    Disposes-tu d’une heuristique permettant de dire que - dans le cas où tu aurais trouvé un pointeur - celui ci est le bon ?

    Le stack-walking est une bonne option si ton pointeur a une chance d'arriver sur la pile. Le principal problème est que la pile est, par essence, extrêmement volatile et qu'il faut être quasiment sûr de l'instant où va arriver le pointeur.

    Une autre possibilité est de dumper l'espace d'adressage du processus (en gelant tous les threads du processus) sur disque et de parser les fichiers résultant à la recherche du pointeur adéquat.

Discussions similaires

  1. [Batch] Connexion SFTP + download de tous les fichiers ET tous les répertoires
    Par gazza dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 06/03/2014, 13h45
  2. lister tous les membres de tous les groupes AD
    Par fbb53 dans le forum VBScript
    Réponses: 1
    Dernier message: 03/10/2011, 11h24
  3. Réponses: 9
    Dernier message: 16/10/2006, 16h35
  4. Réponses: 1
    Dernier message: 19/08/2006, 10h27
  5. [Thread]Lancer mon programme toutes les 60 secondes?
    Par danje dans le forum Concurrence et multi-thread
    Réponses: 10
    Dernier message: 24/11/2005, 21h55

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