Hook windows - interception des messages windows

Soyez le premier à donner votre avis sur cette source.

Vue 15 948 fois - Téléchargée 2 878 fois

Description

Ce code sert a montrer comment on peut utiliser les hooks windows ( les bases seulement !) et est fourni avec un trois exemple d'utilisation : une DLL d'interception des message de fermeture de fenêtre, une DLL de log des click de la souris et une DLL de log des touches frappées au clavier (Keylogger ;-).
Voilà tout ça est décomposé en 4 parties, un chargeur de DLL, y'a un endroit dans le code ou il faut choisir la DLL à charger... Tout ça de façon simple mais malheureusement peu commentée.... ( po l'tps dsl )...
Voilà pour tous ! Posez vos question !!

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
1
oui j'avai vu le typedef mais je le comprend pas non plus désolé , typedef bool(*SKH)(void)

bon je supose que bool c'est le type renvoyé par la fonction et (void) c'est parce qu'il n'y a pas de paramètre , mais je comprend pas pk le (*SKH). je suis désolé , mais là je comprend pas.


mais pour utilisé les fonction ici un __declspec(dllimport) void mafonction() ça n'irai pas? plutot que de passer par loadLibrary , ... ?? mdr
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
SKH est un typedef perso de fonction, en haut du fichier. C'est grace à cela que le compilo comprendra de mettre l'appel de fonction:
call adrSKH
pour SKH();
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
1
ha daccord , et pour en revenir au SKH c'est quoi comme type :s , et donc après avec le pointeur on peut faire un appel de fonction, donc si le pointeur est sgh , pour appeler la fonction on fait sgh() alors ? avec les param entre () si il y en à.

mais pour utilisé les fonction ici un __declspec(dllimport) void mafonction() ça n'irai pas? plutot que de passer par loadLibrary , ... ?
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
21
cast, comme d'hab ne sert qu'à satisfaire le compilo pour qu'il comprenne qu'ensute c'est bien un appel de fonction que l'on veut.

hookProc est toujours avec 3 params:
int code, WPARAM wParam, LPARAM lParam
lParam dépend du type de hook demandé, si donc est WH_GETMESSAGE alors lParam pointe sur une struct MSG. Faut donc bien dire au compilo (comme d'hab un cast) ce qu'on attend comme traitement ultérieur.
Messages postés
1243
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
3 août 2016
1
En faite le problème c'est pas tellement la dll pas commentée , mais plutot la source de l'éxécutable , je comprend pas grand chose, déjà SKH c'est quoi et la fonction uskh,sgh ? J'ai +- compris que GetProcessAdresse renvoie l'adresse d'un fonction (celle demandé) mais pourquoi le cast en SKH ? enfin bref je m'y retrouve pas bcp .
Afficher les 20 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.