KEYLOGGER VB.NET 2008 V9 - CLASS HOOK - POUR CLAVIER FR ET VISTA

cs_666Ange Messages postés 19 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 2 mars 2009 - 25 févr. 2009 à 02:15
davhello Messages postés 1 Date d'inscription jeudi 1 août 2013 Statut Membre Derniè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.

https://codes-sources.commentcamarche.net/source/49352-keylogger-vb-net-2008-v9-class-hook-pour-clavier-fr-et-vista

davhello Messages postés 1 Date d'inscription jeudi 1 août 2013 Statut Membre Derniè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.
Utilisateur anonyme
28 avril 2013 à 13:03
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és 1 Date d'inscription mercredi 11 janvier 2006 Statut Membre Dernière intervention 27 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és 5 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 25 janvier 2011
25 janv. 2011 à 21:34
Quel AV ?
the_new_guy Messages postés 6 Date d'inscription samedi 29 mai 2004 Statut Membre Dernière intervention 21 janvier 2011
21 janv. 2011 à 21:57
normal que l'anti virus se déclenche ? (trojan & co )
cs_Iznogood1 Messages postés 5 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 25 janvier 2011
15 janv. 2011 à 14:59
En effet, pas top les accents :)
neo2k2 Messages postés 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 3
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és 18 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 2 mars 2012
11 janv. 2011 à 18:25
Bravo ! marche super sur Windows 7
cs_Iznogood1 Messages postés 5 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 25 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és 6 Date d'inscription dimanche 15 avril 2007 Statut Membre Dernière intervention 23 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és 147 Date d'inscription mercredi 18 septembre 2002 Statut Membre Dernière intervention 15 avril 2011
6 avril 2010 à 00:39
Super ! Bien jouer !
Mathieu1979 Messages postés 1 Date d'inscription mardi 5 août 2008 Statut Membre Derniè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és 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 3
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és 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 sept. 2009 à 10:31
"(message d'erreur )"

Il peut etre utile de l'indiquer, non ?
jeremydepr Messages postés 3 Date d'inscription dimanche 4 décembre 2005 Statut Membre Dernière intervention 27 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 ?
Utilisateur anonyme
5 mars 2009 à 10:27
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és 12 Date d'inscription samedi 1 juillet 2006 Statut Membre Derniè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és 232 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 3 novembre 2011 1
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és 19 Date d'inscription mercredi 2 avril 2003 Statut Membre Derniè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és 12 Date d'inscription samedi 1 juillet 2006 Statut Membre Derniè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és 126 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 9 novembre 2009 3
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és 19 Date d'inscription mercredi 2 avril 2003 Statut Membre Derniè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és 232 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 3 novembre 2011 1
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és 19 Date d'inscription mercredi 2 avril 2003 Statut Membre Derniè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és 232 Date d'inscription jeudi 18 janvier 2007 Statut Membre Dernière intervention 3 novembre 2011 1
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.

Un peu comme cette source en VB6 :
http://www.vbfrance.com/codes/KEYLOGGER-INTELLIGENT_6937.aspx
cs_666Ange Messages postés 19 Date d'inscription mercredi 2 avril 2003 Statut Membre Derniè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és 589 Date d'inscription lundi 25 août 2003 Statut Membre Dernière intervention 18 juillet 2010 1
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és 19 Date d'inscription mercredi 2 avril 2003 Statut Membre Derniè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és 19 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 2 mars 2009
25 févr. 2009 à 02:15
N'hesitez pas a faire toute sorte de commentaires ou de démolition...
Rejoignez-nous