KEYLOGGER VB.NET 2008 V9 - CLASS HOOK - POUR CLAVIER FR ET VISTA
cs_666Ange
Messages postés19Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 2 mars 2009
-
25 févr. 2009 à 02:15
davhello
Messages postés1Date d'inscriptionjeudi 1 août 2013StatutMembreDernière intervention 1 août 2013
-
1 août 2013 à 09:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
davhello
Messages postés1Date d'inscriptionjeudi 1 août 2013StatutMembreDernière intervention 1 août 2013 1 août 2013 à 09:17
Super code. fonctionne bien mis à part en service.
Le code fonctionne avec une form invisible mais pas sans form....
KL.KeyLog ne retourne rien ...
Domage.
Je n'ai pas encore eu ton pb FaonManager.
Bonjour 666Ange,
je te remercie pour ton code qui marche vraiment très bien ! Cependant j'ai un problème si je compile le projet avec le Framework 4.5 :
L'opération arithmétique a provoqué un dépassement de capacité.
sur la ligne : KeyboardHandle = SetWindowsHookEx(13, callback, Process.GetCurrentProcess.MainModule.BaseAddress, 0)
Sais-tu d'où ça vient ?
Merci.
HEXAMOUSE
Messages postés1Date d'inscriptionmercredi 11 janvier 2006StatutMembreDernière intervention27 mars 2011 27 mars 2011 à 20:14
Bon programme, mais Norton trouve 2 problémes aprés analyse : InfoStealer et un trojan Backdoor aprés la décompilation, alors à tous, attention à la suite.....
cs_Iznogood1
Messages postés5Date d'inscriptionmercredi 27 août 2003StatutMembreDernière intervention25 janvier 2011 25 janv. 2011 à 21:34
Quel AV ?
the_new_guy
Messages postés6Date d'inscriptionsamedi 29 mai 2004StatutMembreDernière intervention21 janvier 2011 21 janv. 2011 à 21:57
normal que l'anti virus se déclenche ? (trojan & co )
cs_Iznogood1
Messages postés5Date d'inscriptionmercredi 27 août 2003StatutMembreDernière intervention25 janvier 2011 15 janv. 2011 à 14:59
En effet, pas top les accents :)
neo2k2
Messages postés126Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention 9 novembre 20093 13 janv. 2011 à 14:19
Excellente source! ^^
@Iznogood: tes modifications sont vraiment bonnes, la seule remarque que je me permette de te faire est de ne pas coder avec des accents car c'est une horreur après pour s'y retrouver et cela peut être source d'erreurs quand on oublie de les mettres.
Dean76
Messages postés18Date d'inscriptionlundi 26 janvier 2009StatutMembreDernière intervention 2 mars 2012 11 janv. 2011 à 18:25
Bravo ! marche super sur Windows 7
cs_Iznogood1
Messages postés5Date d'inscriptionmercredi 27 août 2003StatutMembreDernière intervention25 janvier 2011 8 nov. 2010 à 10:00
Super.
Je log bien les touches (même saisie sous word).
J'ai juste ajouté un évènement
Public Event ToucheFrappée(Touche As string)
dans ta classe HKkb
L'évènement est appelé dans KeyboardCallback
RaiseEvent ToucheFrappée(KeyLog)
Ce qui permet de supprimer le Timer de ta From1 en ajoutant "WithEvents" à ton objet KL et en ajoutant le code suivant
Dim WithEvents KL As New HKkb
Private Sub KL_ToucheFrappée(ByVal Touche As String) Handles KL.ToucheFrappée
TextBox1.Text &= Touche
KL.KeyLog = ""
End Sub
mp280272
Messages postés6Date d'inscriptiondimanche 15 avril 2007StatutMembreDernière intervention23 juin 2010 23 juin 2010 à 10:29
Bonjour,
Cette source est intéressant, par contre un hook clavier doit permettre de capturer les touches du clavier hors de l'application celui-ci ne capture pas les touche saisie sous word ou autre applications.
le hook doit être global, je pense !!.
a+
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 6 avril 2010 à 00:39
Super ! Bien jouer !
Mathieu1979
Messages postés1Date d'inscriptionmardi 5 août 2008StatutMembreDernière intervention 8 février 2010 8 févr. 2010 à 20:56
Lorsque le timer tick la fonction appelée exécute l'opération suivante:
TextBox1.Text &= KL.KeyLog
J'ai essayé à partir de cette ligne de dirigé Kl.keyLog vers un fichier avec le objWriter.Write(KL.KeyLog) par exemple, mais sans succès. Même debug.print(Kl.keyLog) génère une exception. J'aimerais avoir un peu plus d'information sur KL.KeyLog.
Merci
neo2k2
Messages postés126Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention 9 novembre 20093 22 sept. 2009 à 11:06
@Jermeydepr (& Renfield) :
Marche très bien sous XP à condition d'avoir la bonne version de .net framework et studio... ^^ Donc comme le dis Renfield, indique le message complet.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 22 sept. 2009 à 10:31
"(message d'erreur )"
Il peut etre utile de l'indiquer, non ?
jeremydepr
Messages postés3Date d'inscriptiondimanche 4 décembre 2005StatutMembreDernière intervention27 août 2010 21 sept. 2009 à 21:30
Il n'est compatible qu'avec Vista ? Car moi sur XP ça ne marche pas (message d'erreur )
Moyen de le rendre compatible sur XP en important les dll ?
Source sympa, dommage que l'interception des caractères ne se traduise pas une gestion d'événements, libérant ta classe de la gestion du log et permettant de mieux la réutiliser dans un autre projet.
Yaurthek
Messages postés12Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 juin 2009 3 mars 2009 à 20:34
Ok merci de cette petite explication The Meteorologist, j'avais effectivement noté qu'un appui trop rapide n'était pas pris en compte avec l'API GetAsyncKeyState :)
The Meteorologist
Messages postés232Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention 3 novembre 20111 2 mars 2009 à 23:05
Yaurthek : La différence avec l'api GetAsyncKeyState est énorme. Le hook consiste à faire passer une fonction comme un sorte de maillon. C'est à dire que dés qu'une touche sera pressée ta fonction sera directement appelée et passera ensuite les informations au prochain maillon, cela peut-être windows lui même comme cela peut être un autre hook. Avec GetKeyAsyncState on ne fait que vérifier l'état de toutes les touches. Ce n'est pas très propre et surtout radicalement moins performant ;)
666Ange : Je ne connais pas la solution miracle pour avoir le texte réellement tapé ... Pourtant bon nombre de keyloggers y parviennent. Enfin je ne pense pas que ce soit réellement indispensable pour ton code le hook fonctionne c'est déjà très bien ^^
cs_666Ange
Messages postés19Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 2 mars 2009 2 mars 2009 à 22:47
Voila, j'ai terminé le keylogger, chez moi evidemment il n'a pas la forme que partagé ici mais je pense que vous saurez quoi en faire. J'en ai fait une class, merci de la suggestion ca me facilitera aussi les choses. Il ne devrait plus y avoir de bugs, les accents sont gérés et les codes spéciaux ALT + Codes aussi.
ne vous étonnez pas de trouver une grosse variable pour les codes ANSI j'ai préféré faire ainsi.
@The Meteorologist : j'ai beaucoup réfléchi et simuler le deplacement du CaretPos n'a pas d'interet car dans une meme fenetre on peut avoir plusieurs zones de texte et il m'est encore impossible pour l'instant de différencier la zone (meme si c'est faisable par leur identifieur) sauf que ca se complique tres fortement en cas de déplacement du Caret par la souris ou par les fleches haut et bas...
@ UN ADMIN : SVP pourquoi ce code source je ne le voit pas quand je recherche keylogger ? je suis obligé de passer par l'ancien et de reprendre le lien...
Yaurthek
Messages postés12Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 juin 2009 2 mars 2009 à 18:24
Salut, très bon programme, fonctionne niquel (même si perso je vois pas bien la différence entre cette méthode et l'API getasynckeystate...)
je met 9 car ça aurait encore été mieux avec une classe toute faite prête à utiliser et tout et tout^^
J'en profite aussi pour signaler une faute de frappe ligne 385 du fichier Form1.vb (555 au lieu de 155) même si ça ne gène pas le fonctionnement du prog.
neo2k2
Messages postés126Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention 9 novembre 20093 2 mars 2009 à 17:50
Excellente source et très bonne amélioration comparée à l'ancienne version qui utilisait beaucoup de temps processeur inutilement. Je suis en train de m'en servir pour un usage personnel afin d'avoir plus de fonctions...
cs_666Ange
Messages postés19Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 2 mars 2009 28 févr. 2009 à 23:29
Que se passe t il dans le cas d'un texte multiligne et que j'utilise les fleches haut bas ? je n'ai pas l'information CaretPos ou CurPos... moi non plus je ne peux plus afficher de vb6...
The Meteorologist
Messages postés232Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention 3 novembre 20111 28 févr. 2009 à 20:10
Je n'ai plus VB6 mais à ma connaissance cette source rendait exactement ce que l'utilisateur tapait. Enfin avec la souris ça devient un peu chaud à coder je pense. Prendre en compte les BackSpaces, les retours chariots et les flèches serait déjà très intéressant pour un KeyLogger...
cs_666Ange
Messages postés19Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 2 mars 2009 28 févr. 2009 à 00:12
@The Meteorologist : C'est une tres bonne idée mais je ne peux pas consulter cette source, peux tu m'indiquer d'apres ce programme que tu as déja du tester si il tient conte du déplacement du Caret par la souris, dans ce cas je m'arrangerai pour le faire aussi, ou uniquement par les touches de direction.
Je viens de termnier qq etapes supplémentaires, je vais conclure par une mise en apparence HTML voir ce que ca donne et je met bientot la source a jour dispo ici
The Meteorologist
Messages postés232Date d'inscriptionjeudi 18 janvier 2007StatutMembreDernière intervention 3 novembre 20111 26 févr. 2009 à 21:15
Premier Hook du clavier en dotnet qui marche en sur VBFrance. Très utile merci beaucoup =)
Une petite suggestion : puisque ta source est plus orientée KeyLogger, ce serait super qu'il prenne en compte les BackSpace et la position du curseur d'insertion grâce aux flèches de gauche et droite de manière à avoir le texte réellement tapé par l'utilisateur.
cs_666Ange
Messages postés19Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 2 mars 2009 25 févr. 2009 à 15:08
Bon bein tant qu'a faire je vais faire une mise a jour tenant compte des caracteres accentués de la génération de fichier et de le cacher de la liste des processus
ciberrique
Messages postés589Date d'inscriptionlundi 25 août 2003StatutMembreDernière intervention18 juillet 20101 25 févr. 2009 à 13:31
Salut, petit conseil change le titre de ton source car il me semble que les keyloggers sont contraires à la charte code source donc tu risques de voir ta source supprimé.
Concernant les hook il semble qu'il est possible de les detecter en affichant les handles des processus et du coup on peut verifier si c'est un hook ou pas enfin c'est toujours plus compliqué qu'avec getAsyncKeyState.
Pour aller plus loin tu pourras cacher ton programme de la liste des processus.
cs_666Ange
Messages postés19Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 2 mars 2009 25 févr. 2009 à 03:18
Pour le pb de la capture du titre d'application c'est résolu,
Je viens de penser qu'il faut que j'ajoute une capture des accents comme ^š`~ ca va pas etre compliqué mais il faut que je m'y mette...
cs_666Ange
Messages postés19Date d'inscriptionmercredi 2 avril 2003StatutMembreDernière intervention 2 mars 2009 25 févr. 2009 à 02:15
N'hesitez pas a faire toute sorte de commentaires ou de démolition...
1 août 2013 à 09:17
Le code fonctionne avec une form invisible mais pas sans form....
KL.KeyLog ne retourne rien ...
Domage.
Je n'ai pas encore eu ton pb FaonManager.
28 avril 2013 à 13:03
je te remercie pour ton code qui marche vraiment très bien ! Cependant j'ai un problème si je compile le projet avec le Framework 4.5 :
L'opération arithmétique a provoqué un dépassement de capacité.
sur la ligne : KeyboardHandle = SetWindowsHookEx(13, callback, Process.GetCurrentProcess.MainModule.BaseAddress, 0)
Sais-tu d'où ça vient ?
Merci.
27 mars 2011 à 20:14
25 janv. 2011 à 21:34
21 janv. 2011 à 21:57
15 janv. 2011 à 14:59
13 janv. 2011 à 14:19
@Iznogood: tes modifications sont vraiment bonnes, la seule remarque que je me permette de te faire est de ne pas coder avec des accents car c'est une horreur après pour s'y retrouver et cela peut être source d'erreurs quand on oublie de les mettres.
11 janv. 2011 à 18:25
8 nov. 2010 à 10:00
Je log bien les touches (même saisie sous word).
J'ai juste ajouté un évènement
Public Event ToucheFrappée(Touche As string)
dans ta classe HKkb
L'évènement est appelé dans KeyboardCallback
RaiseEvent ToucheFrappée(KeyLog)
Ce qui permet de supprimer le Timer de ta From1 en ajoutant "WithEvents" à ton objet KL et en ajoutant le code suivant
Dim WithEvents KL As New HKkb
Private Sub KL_ToucheFrappée(ByVal Touche As String) Handles KL.ToucheFrappée
TextBox1.Text &= Touche
KL.KeyLog = ""
End Sub
23 juin 2010 à 10:29
Cette source est intéressant, par contre un hook clavier doit permettre de capturer les touches du clavier hors de l'application celui-ci ne capture pas les touche saisie sous word ou autre applications.
le hook doit être global, je pense !!.
a+
6 avril 2010 à 00:39
8 févr. 2010 à 20:56
TextBox1.Text &= KL.KeyLog
J'ai essayé à partir de cette ligne de dirigé Kl.keyLog vers un fichier avec le objWriter.Write(KL.KeyLog) par exemple, mais sans succès. Même debug.print(Kl.keyLog) génère une exception. J'aimerais avoir un peu plus d'information sur KL.KeyLog.
Merci
22 sept. 2009 à 11:06
Marche très bien sous XP à condition d'avoir la bonne version de .net framework et studio... ^^ Donc comme le dis Renfield, indique le message complet.
22 sept. 2009 à 10:31
Il peut etre utile de l'indiquer, non ?
21 sept. 2009 à 21:30
Moyen de le rendre compatible sur XP en important les dll ?
5 mars 2009 à 10:27
3 mars 2009 à 20:34
2 mars 2009 à 23:05
666Ange : Je ne connais pas la solution miracle pour avoir le texte réellement tapé ... Pourtant bon nombre de keyloggers y parviennent. Enfin je ne pense pas que ce soit réellement indispensable pour ton code le hook fonctionne c'est déjà très bien ^^
2 mars 2009 à 22:47
ne vous étonnez pas de trouver une grosse variable pour les codes ANSI j'ai préféré faire ainsi.
@The Meteorologist : j'ai beaucoup réfléchi et simuler le deplacement du CaretPos n'a pas d'interet car dans une meme fenetre on peut avoir plusieurs zones de texte et il m'est encore impossible pour l'instant de différencier la zone (meme si c'est faisable par leur identifieur) sauf que ca se complique tres fortement en cas de déplacement du Caret par la souris ou par les fleches haut et bas...
@ UN ADMIN : SVP pourquoi ce code source je ne le voit pas quand je recherche keylogger ? je suis obligé de passer par l'ancien et de reprendre le lien...
2 mars 2009 à 18:24
je met 9 car ça aurait encore été mieux avec une classe toute faite prête à utiliser et tout et tout^^
J'en profite aussi pour signaler une faute de frappe ligne 385 du fichier Form1.vb (555 au lieu de 155) même si ça ne gène pas le fonctionnement du prog.
2 mars 2009 à 17:50
28 févr. 2009 à 23:29
28 févr. 2009 à 20:10
28 févr. 2009 à 00:12
Je viens de termnier qq etapes supplémentaires, je vais conclure par une mise en apparence HTML voir ce que ca donne et je met bientot la source a jour dispo ici
26 févr. 2009 à 21:15
Une petite suggestion : puisque ta source est plus orientée KeyLogger, ce serait super qu'il prenne en compte les BackSpace et la position du curseur d'insertion grâce aux flèches de gauche et droite de manière à avoir le texte réellement tapé par l'utilisateur.
Un peu comme cette source en VB6 :
http://www.vbfrance.com/codes/KEYLOGGER-INTELLIGENT_6937.aspx
25 févr. 2009 à 15:08
25 févr. 2009 à 13:31
Concernant les hook il semble qu'il est possible de les detecter en affichant les handles des processus et du coup on peut verifier si c'est un hook ou pas enfin c'est toujours plus compliqué qu'avec getAsyncKeyState.
Pour aller plus loin tu pourras cacher ton programme de la liste des processus.
25 févr. 2009 à 03:18
Je viens de penser qu'il faut que j'ajoute une capture des accents comme ^š`~ ca va pas etre compliqué mais il faut que je m'y mette...
25 févr. 2009 à 02:15