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

Visual C++ Discussion :

Windows hook, hooking c'est quoi


Sujet :

Visual C++

  1. #1
    bruce-willis
    Invité(e)
    Par défaut Windows hook, hooking c'est quoi
    Bonjour,

    C'est en vogue pour surveiller des évènements Windows mais est-ce que c'est un terme de Microsoft même?
    Qui peut disserter un peu ici sur cette technique

    Est-ce que les firewalls, sniffers réseau utilisent cette technique?

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Normalement, les firewalls et sniffers fonctionnent à beaucoup plus bas niveau, en utilisant directement un driver "à eux".

    Personnellement, je ne me suis encore jamais servi des hooks.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre chevronné Avatar de nirgal76
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 905
    Points : 2 129
    Points
    2 129
    Par défaut
    Citation Envoyé par bruce-willis Voir le message
    Bonjour,

    C'est en vogue pour surveiller des évènements Windows mais est-ce que c'est un terme de Microsoft même?
    Qui peut disserter un peu ici sur cette technique

    Est-ce que les firewalls, sniffers réseau utilisent cette technique?
    Oui c'est un terme de microsoft. voir l'API sur des fonctions comme SetWindowsHookEx ou UnhookWindowsHookEx
    Ca permet de "dévier" des messages vers ton appli avant de l'envoyer à son destinataire. hook = crochet, le message fait un crochet par ton appli avant de se rendre là ou il doit aller (ce que tu peux aussi empêcher). avec ça tu peux intercepter n'importe quel message windows. Je m'en sers principalement pour intercepter les messages souris et clavier au plus bas niveau pour les controler avant les applications. Comme pour savoir s'il y a une activité souris ou clavier de l'utilisateur dans une appli qui ne peut pas me renvoyer l'information.

    Après il y a aussi le hook de fonction API, c'est encore autre chose, et pas supporté par MS. Là, le but est d'intercepter l'appel à une fonction de l'API avant le système. par exemple, une appli demande l'heure au système, tu intercepte et tu renvoi au demandeur l'heure que tu veux avant que le systeme ne puisse le faire. C'est utilisé plutot par des debugger ou pour faire des cracks.

  4. #4
    bruce-willis
    Invité(e)
    Par défaut
    Après il y a aussi le hook de fonction API, c'est encore autre chose, et pas supporté par MS. Là, le but est d'intercepter l'appel à une fonction de l'API avant le système. par exemple, une appli demande l'heure au système, tu intercepte et tu renvoi au demandeur l'heure que tu veux avant que le systeme ne puisse le faire. C'est utilisé plutot par des debugger ou pour faire des cracks.
    Ah bon! Non supporté par Windows c'est ça? Linux donc?

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Non-supporté par Microsoft. C'est faisable sous Windows, mais pas recommandé (et généralement considéré comme une technique de malware).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    bruce-willis
    Invité(e)
    Par défaut
    Qu'utilisent les applications sysinternals? Regmon, Filemon?

Discussions similaires

  1. c'est quoi ce champ profile de window
    Par david lefaivre dans le forum ASP.NET
    Réponses: 3
    Dernier message: 11/05/2011, 15h26
  2. Réponses: 1
    Dernier message: 09/04/2009, 09h45
  3. Windows XP Pro avec SP2 OEM CD Media Kit : c'est quoi ?
    Par angelevil dans le forum Windows XP
    Réponses: 3
    Dernier message: 17/07/2007, 00h00
  4. c'est quoi les Services sous Windows?
    Par kammour dans le forum Windows
    Réponses: 3
    Dernier message: 15/03/2006, 21h31

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