cs_eRoZion
Messages postés241Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention 8 octobre 2007
-
26 mai 2006 à 03:11
azarosi
Messages postés21Date d'inscriptionmercredi 27 mai 2009StatutMembreDernière intervention24 octobre 2010
-
12 juil. 2009 à 14:40
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
azarosi
Messages postés21Date d'inscriptionmercredi 27 mai 2009StatutMembreDernière intervention24 octobre 2010 12 juil. 2009 à 14:40
Bonjour, j'aimerai votre aide, car je ne sais pas comment faire pour ouvrir le fichier . Merci !
ConosciMe
Messages postés1Date d'inscriptionmercredi 25 mars 2009StatutMembreDernière intervention25 mars 2009 25 mars 2009 à 16:35
es que quelqu'un pourrais m'aider j'ai télécharger le fichier mais je ne sais pas comment ca fonctionne. Mercie d'avance
cs_skybuster
Messages postés2Date d'inscriptionsamedi 5 janvier 2008StatutMembreDernière intervention 6 janvier 2008 5 janv. 2008 à 22:34
Il est très bien fait mais je n'arrive pas à désactiver l'apparition de la console. Quelqu'un pourrait-il m'orienter ?
cs_miki2000
Messages postés5Date d'inscriptiondimanche 9 avril 2006StatutMembreDernière intervention12 novembre 2007 12 nov. 2007 à 18:01
Je vais voir de suite !
J'avais laisser tombé le C++ depuis un moment mais là ça va medonner envie de m'y replonger un peu pour voir comment tu t'y ai pris. Même si je ne risque pas de comprendre grand chose. Je te remercis très très fortement cependant car tu a rajouté tout ce qui manqué d'essentiel a ce code. Il y a juste le multi thread, je ne comprend pas vraiment l'interet plus la petitesse du "logiciel". Il faut vraiment que j'aille tester le client serveur ! merci :)
thesimsone
Messages postés26Date d'inscriptionvendredi 4 août 2006StatutMembreDernière intervention30 janvier 2009 11 nov. 2007 à 21:53
Yavuz_trx
Messages postés1Date d'inscriptionmardi 19 juin 2007StatutMembreDernière intervention19 juin 2007 19 juin 2007 à 13:48
ty
cs_turcotte
Messages postés2Date d'inscriptionsamedi 28 avril 2007StatutMembreDernière intervention29 avril 2007 29 avril 2007 à 04:05
salut je vais apprendre c# bientot, je n'ai pas vraiment commencé; je suis super noob
le keylogger je le sauve et je l'ouvre en exe pi sa marche pas trop
sa dit "the NTVDM CPU has encountered an illegal instruction."
jpense pas c le firewall jpense plus c windows XP sa se peut???
j'aimerais vraiment un keylogger
en vb jpense j'ai une version trop vielle jsais pas sa marche pas!
comme je l'ai dit en haut, je n'ai pas encore commencé c# jsais pu trop quoi faire lol
cs_miki2000
Messages postés5Date d'inscriptiondimanche 9 avril 2006StatutMembreDernière intervention12 novembre 2007 16 avril 2007 à 17:43
ouais tu peux le désactiver tranquil. De toute façon tu peux la voir la source donc on voit bien qu'elle est innofensive. Moi j'aime beaucoup ces "petits progs minables" du moments qu'ils font des choses interessantes. Sinon là c'est pas vraiment un truc d'espionnage puisqu'il n'y a pas de gestion client/serveur, donc pas besoin de cacher la console. D'antant plus que j'ai réussi à l'enlever en une seune ligne de code (ça reste une console mais pas affichée).
Ouais bein désactive lanti-virus et c'est pas si logique que ca car un anti-virus il ne trouve que le programme connu comme etant desvirus et la bein c'est un petit programme "minable" :s
Cordok
Messages postés4Date d'inscriptionsamedi 14 avril 2007StatutMembreDernière intervention27 avril 2008 15 avril 2007 à 13:13
J'aurais bien voulu voir ton prog. mais mon anti-virus n'accepte pas son ouverture.
(Logique, c'est un Keylogger !)
TheLudo2013
Messages postés77Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention18 octobre 2007 10 sept. 2006 à 20:15
"ok merci bon moi je crois que je vais me limiter au performance de cette source"
c'est pourtant pas ce que tu disais au départ quand on t'avais fait remarquer que cette méthode ne mènerais pas bien loin...
Ceci dit il est vrai que les hook sont beaucoup plus difficile à mettre en place...
non tu te trompes pas mais j'ai mit ce mode comme cela on voit la fenetre quand on clique sur le .exe
Aprés chacun le recompile en fonction de ses besoin
Mais j'aime pas trop ce code :s c'est quand je débuté en prog que je l'ai posté maintenant je prefere utiliser le HOOK CLAVIER ;)
thesimsone
Messages postés26Date d'inscriptionvendredi 4 août 2006StatutMembreDernière intervention30 janvier 2009 10 sept. 2006 à 17:22
Pour MALADEDEDE
Je suis pas du tout un pro, peut etre quand fait c une connerie mais ton code qui est un keylogger, petit prog d'espionnage censé ne pas se faire repérer, pourquoi tu change pas les options du projet pour win GUI au lieu de win console comme ca ta pas la barre en bas, ni la fenetre! mais corrigez moi si je me trompe!
TheLudo2013
Messages postés77Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention18 octobre 2007 30 juin 2006 à 20:17
en réalité quelque soit le mode d'accès au fichier je n'ais pas rencontré ton problème avec les retours à la ligne....
oui ca c'est lancienne source met la mienne oui j'avais mi fputc
mais le caractaire \n il ne marche pas en mode 'a' ajout
or le mode ajout n'est pas adéquat car on ne peut pas positionner le pointeur.
Alors et tu sur qu'avec le mode 'r+' t'arive a utilisé \n corectement ?
TheLudo2013
Messages postés77Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention18 octobre 2007 30 juin 2006 à 19:03
du coup je me suis penché sur ton code et je n'ais pas rencontré de problème avec la touche entrée...
Par contre j'ai repéré deux erreurs assez graves :.. au début tu utilises des variables sans les avoir initialisées !!!
Au lieu de déclarer plein de variables sur la même ligne, il vaut mieux dans ce cas les déclarer une par une pour pouvoir les définir en même temps :..
int k=0;
int i=0;
etc.
Et dans le même genre dans la routine de gestion de la touche pressée, dans le switch. il n'y a pas de label 'default' du coup si une touche non prévue est pressée, la variable towrite n'est pas définie ( ce qui s'est produit quand j'ai testé ton programme )... Le label default se met en dernier pour info.
@+
TheLudo2013
Messages postés77Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention18 octobre 2007 30 juin 2006 à 18:40
Ah j'avais pas regardé la source, tu utilises toujours fprintf() dans ton code, pour écrire dans le fichier ??
Si c'est le cas remplace par fputc() ça devrais marcher....
C'est quand même pas normal que tu n'arrives pas à mettre des retours à la ligne dans tes fichiers !!!
non j'ai ouvert le fichier en mode binaire ca na rien changer :(
TheLudo2013
Messages postés77Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention18 octobre 2007 30 juin 2006 à 10:36
ça c'est pas le même problème : il faut ajouter un "b" après les lettre du type d'accès pour "binaire" ça voudra dire que les caractères enregistrés ne sont pas interprétés....
concrètement essaye d'ouvrir ton ficier avec 'r+b' mais tu dois alors placer toi même le pointeur à la fin... par exemple comme ceci :..
Non ca ne marche pas j'ai ésséyé :(
Parceque dans le keylogger j'ai le blem suivant:
Lorsque j'ouvre le fichier capture en mode 'a' ( ajout ) on ne peut pas modifié la position du pointeur avec fseek :(
Alors je l'ouvre en mode écriture lecture 'r+' et dans ce mode je peux pas écrire le caractaire \n corectement ca met une carré dans le fichier texte créé et nom un passage a la ligne :(
Alors que \n marche bien quand j'ouvre le fichier en mode ajout.
TheLudo2013
Messages postés77Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention18 octobre 2007 29 juin 2006 à 10:32
Il y a bien _chsize() qui permet de modifier la taille d'un fichier ouvert... ça marche comme ça :..
bin j'ai un fichier txt qui contien: "abc123"
et les nombres ne m'interèssent pas alors lorsque le pointeur du fichier pointe sur le "1" j'aimerais que ca définiss la fin du fichier et que lors de la sauvegarde bein le 123 n'y soit plus.
TheLudo2013
Messages postés77Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention18 octobre 2007 28 juin 2006 à 23:33
Je comprends pas ta question. Mais il n'est pas possible de tronquer un fichier il me semble.
Merci par contre comment on fait pour définir la fon d'un fichier ??
"Pour dire que l'endroit ou pointe le pointeur c'est la fin du fichier et les caractaires qui suivent on en a pas besoin"
Parceque bien comme on ouvre le fichié a chaque fois en mode ajout .... il faudrait a chaque fois repositionner le pointeur alors comment je fais ppour définir a quel octect le fichié est finit
TheLudo2013
Messages postés77Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention18 octobre 2007 28 juin 2006 à 09:34
Oui c'est bien ça : ftell() donne la position à partir du début du fichier. SEEK_SET indique que l'offset passé dans le paramètre précédent de fseek() est relatif au début du fichier aussi.
Là par contre dans mon exemple le ftell(ff) y est deux fois et c'est pas très propre ; il faudrait rajouter une ligne en fait...
FILE *ff;
int k;
k = ftell(ff);
if( k > 0 ) fseek( ff, k-1, SEEK_SET );
Voila. L'idée du compteur n'est pas mauvaise, mais elle comporte un risque : en cas d'erreur d'écriture la variable ne corespondrait plus à la position réel du pointeur.
LOL oui je savais.
C'est que j'ai prété mon livre je l'aurai demain.
SEEK_SET ca veux dire qu'on décale le pointeur de <<ftell(ff)-1>>
octect en partant du debut du fichier.
Par contre merci j'avais oublié ftell(ff)-1 !!!
Parceque mon code aurais été moin joli: a la place de ftell(ff)-1
j'aurais mit une variable auquelle j'aurais fait ++ a chaque écriture de lettre dans le fichier.
Merci la mise a jour du code est pour bientot
TheLudo2013
Messages postés77Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention18 octobre 2007 27 juin 2006 à 10:14
Mais non ça n'a rien de compliqué.
Pour reculer le pointer d'un fichier il suffit de faire comme ça...
Pour une telle précision il faut s'orienté vers le Hook clavier je crois c'est l'api win32
Y'a plin de source sur le hook dispo
cs_miki2000
Messages postés5Date d'inscriptiondimanche 9 avril 2006StatutMembreDernière intervention12 novembre 2007 26 juin 2006 à 20:25
C'est déjà pas mal, j'aimerai chercher tout seul mais je n'ai pas la notion de pointeur, en tout cas je pense qu'il y aura un probleme avec la préssion/relachement mais celui était réglé cela pourrai régler l'autre probleme de la répétition des touche et le keylogger serait (presque parfait) pour un usage simple.
J'arrive deja a détecté quand la touche retour et enfoncé.
Ce qui reste a faire c'est que le pointeur du fichier retourne au
caractaire précédent quand retour est enfoncé.
cs_miki2000
Messages postés5Date d'inscriptiondimanche 9 avril 2006StatutMembreDernière intervention12 novembre 2007 22 juin 2006 à 14:59
Bonjour à tous!
Est-ce que quelqu'un aurait une idée pour prendre en compte les "corrections"( la touche au dessus de entrer). C'est la seule chose qui me gène chez ce keylogger car j'utilise tout le temps cette touche. J'aimerai bien trouver par moi même mais mon niveau en c++ est tellement bas que j'en suis a peine a l'apprentissage des boucles ^^.
Merci bien d'avance.
ok merci bon moi je crois que je vais me limiter au performance de cette source.
TheLudo2013
Messages postés77Date d'inscriptionmardi 12 novembre 2002StatutMembreDernière intervention18 octobre 2007 26 mai 2006 à 15:08
Comme ils sont sympa chez microsoft ils ont fait une api qui sert à programmer des keylogger !! :D
les hookproc sont des procédures callback comme les windowproc à la différence qu'elles recoivent les messages de toutes les applications avant elles.
Après ça permet au choix de dire si le message doit être envoyé à l'application ou pas... etc.
Par contre c'est un peu chaud à gérer : une hookproc mal faite fera planter windows.... en plus il y a les hookproc dans les applications qui sont moins prioritaires que les hookproc dans les dll ce qui fait que si tu veux la garantie que ton keylogger recoive toute les touches tu dois programmer une dll séparément de l'application hôte...
En gros - ça fait longtemps que j'ai pas fait ça...
cs_eRoZion
Messages postés241Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention 8 octobre 20071 26 mai 2006 à 03:52
Bon ben si j'ai compris en modifiant la rapidité de répétition des touches que j'avais reglé au plus bas.
Il faudrait tenir compte des pressions/relachements mais je ne sais pas comment faire parce que je n'ai jamais eu à me soucier de ce genre de problème.
Non si j'enlève lettre!=lastletter ( teste toi aussi )
ca répète plin de foi la touche car on preese touche environ 1/4 de seconde et le programme fait déja un tat de cycle.
Bref mais c'est pas bien grave ca n'empèche pas de dérypter le message final.
cs_eRoZion
Messages postés241Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention 8 octobre 20071 26 mai 2006 à 03:40
Bon en fait j'ai regardé 2 minutes sans rentrer dans les details avant d'aller au lit...
Pour le bug de repetition d'une lettre, remplace
if ( ( result!=0 ) && ( result!=1 ) && (lettre!=lastletter) )
par
if ( ( result!=0 ) && ( result!=1 ) )
Tu l'avais peut-etre fais volontairement mais je comprend plus l'intéret d'un keylogger dans ce cas ?!
Aussi, sleep() c'est dans dos.h, pour windows.h c'est Sleep().
A+
eRoZion
cs_eRoZion
Messages postés241Date d'inscriptionvendredi 23 mai 2003StatutMembreDernière intervention 8 octobre 20071 26 mai 2006 à 03:11
Salut,
le code a l'air clair, je regarderai mieux demain parce que là c'est moi qui commence a etre plus clair. :)
Par contre a l'execution, des qu'une touche est répétée, elle n'apparait qu'une seule fois dans le log.
Ex: je tape "www.fffff.ccc.2006" et bien n'apparaitra dans la capture que "w.f.c.206".
12 juil. 2009 à 14:40
25 mars 2009 à 16:35
5 janv. 2008 à 22:34
12 nov. 2007 à 18:01
J'avais laisser tombé le C++ depuis un moment mais là ça va medonner envie de m'y replonger un peu pour voir comment tu t'y ai pris. Même si je ne risque pas de comprendre grand chose. Je te remercis très très fortement cependant car tu a rajouté tout ce qui manqué d'essentiel a ce code. Il y a juste le multi thread, je ne comprend pas vraiment l'interet plus la petitesse du "logiciel". Il faut vraiment que j'aille tester le client serveur ! merci :)
11 nov. 2007 à 21:53
voici l'addresse : http://www.cppfrance.com/codes/KEYLOGGER-SERVEUR-CLIENT-MULTI-THREAD_44674.aspx
19 juin 2007 à 13:48
29 avril 2007 à 04:05
le keylogger je le sauve et je l'ouvre en exe pi sa marche pas trop
sa dit "the NTVDM CPU has encountered an illegal instruction."
jpense pas c le firewall jpense plus c windows XP sa se peut???
j'aimerais vraiment un keylogger
en vb jpense j'ai une version trop vielle jsais pas sa marche pas!
comme je l'ai dit en haut, je n'ai pas encore commencé c# jsais pu trop quoi faire lol
16 avril 2007 à 17:43
16 avril 2007 à 02:05
15 avril 2007 à 13:13
(Logique, c'est un Keylogger !)
10 sept. 2006 à 20:15
c'est pourtant pas ce que tu disais au départ quand on t'avais fait remarquer que cette méthode ne mènerais pas bien loin...
Ceci dit il est vrai que les hook sont beaucoup plus difficile à mettre en place...
10 sept. 2006 à 18:15
Aprés chacun le recompile en fonction de ses besoin
Mais j'aime pas trop ce code :s c'est quand je débuté en prog que je l'ai posté maintenant je prefere utiliser le HOOK CLAVIER ;)
10 sept. 2006 à 17:22
Je suis pas du tout un pro, peut etre quand fait c une connerie mais ton code qui est un keylogger, petit prog d'espionnage censé ne pas se faire repérer, pourquoi tu change pas les options du projet pour win GUI au lieu de win console comme ca ta pas la barre en bas, ni la fenetre! mais corrigez moi si je me trompe!
30 juin 2006 à 20:17
30 juin 2006 à 20:04
mais le caractaire \n il ne marche pas en mode 'a' ajout
or le mode ajout n'est pas adéquat car on ne peut pas positionner le pointeur.
Alors et tu sur qu'avec le mode 'r+' t'arive a utilisé \n corectement ?
30 juin 2006 à 19:03
Par contre j'ai repéré deux erreurs assez graves :.. au début tu utilises des variables sans les avoir initialisées !!!
Au lieu de déclarer plein de variables sur la même ligne, il vaut mieux dans ce cas les déclarer une par une pour pouvoir les définir en même temps :..
int k=0;
int i=0;
etc.
Et dans le même genre dans la routine de gestion de la touche pressée, dans le switch. il n'y a pas de label 'default' du coup si une touche non prévue est pressée, la variable towrite n'est pas définie ( ce qui s'est produit quand j'ai testé ton programme )... Le label default se met en dernier pour info.
@+
30 juin 2006 à 18:40
Si c'est le cas remplace par fputc() ça devrais marcher....
C'est quand même pas normal que tu n'arrives pas à mettre des retours à la ligne dans tes fichiers !!!
30 juin 2006 à 16:02
30 juin 2006 à 10:36
concrètement essaye d'ouvrir ton ficier avec 'r+b' mais tu dois alors placer toi même le pointeur à la fin... par exemple comme ceci :..
FILE *ff;
fseek( ff,0,SEEK_END );
29 juin 2006 à 20:35
Parceque dans le keylogger j'ai le blem suivant:
Lorsque j'ouvre le fichier capture en mode 'a' ( ajout ) on ne peut pas modifié la position du pointeur avec fseek :(
Alors je l'ouvre en mode écriture lecture 'r+' et dans ce mode je peux pas écrire le caractaire \n corectement ca met une carré dans le fichier texte créé et nom un passage a la ligne :(
Alors que \n marche bien quand j'ouvre le fichier en mode ajout.
29 juin 2006 à 10:32
FILE *ff;
_chsize( _fileno(ff), newsize );
29 juin 2006 à 06:04
et les nombres ne m'interèssent pas alors lorsque le pointeur du fichier pointe sur le "1" j'aimerais que ca définiss la fin du fichier et que lors de la sauvegarde bein le 123 n'y soit plus.
28 juin 2006 à 23:33
28 juin 2006 à 19:53
"Pour dire que l'endroit ou pointe le pointeur c'est la fin du fichier et les caractaires qui suivent on en a pas besoin"
Parceque bien comme on ouvre le fichié a chaque fois en mode ajout .... il faudrait a chaque fois repositionner le pointeur alors comment je fais ppour définir a quel octect le fichié est finit
28 juin 2006 à 09:34
Là par contre dans mon exemple le ftell(ff) y est deux fois et c'est pas très propre ; il faudrait rajouter une ligne en fait...
FILE *ff;
int k;
k = ftell(ff);
if( k > 0 ) fseek( ff, k-1, SEEK_SET );
Voila. L'idée du compteur n'est pas mauvaise, mais elle comporte un risque : en cas d'erreur d'écriture la variable ne corespondrait plus à la position réel du pointeur.
27 juin 2006 à 19:18
C'est que j'ai prété mon livre je l'aurai demain.
SEEK_SET ca veux dire qu'on décale le pointeur de <<ftell(ff)-1>>
octect en partant du debut du fichier.
Par contre merci j'avais oublié ftell(ff)-1 !!!
Parceque mon code aurais été moin joli: a la place de ftell(ff)-1
j'aurais mit une variable auquelle j'aurais fait ++ a chaque écriture de lettre dans le fichier.
Merci la mise a jour du code est pour bientot
27 juin 2006 à 10:14
Pour reculer le pointer d'un fichier il suffit de faire comme ça...
FILE *ff;
if( ftell(ff) > 0 ) fseek( ff, ftell(ff)-1, SEEK_SET );
c'est pas beau ça ??!
26 juin 2006 à 20:30
Y'a plin de source sur le hook dispo
26 juin 2006 à 20:25
26 juin 2006 à 20:14
J'arrive deja a détecté quand la touche retour et enfoncé.
Ce qui reste a faire c'est que le pointeur du fichier retourne au
caractaire précédent quand retour est enfoncé.
22 juin 2006 à 14:59
Est-ce que quelqu'un aurait une idée pour prendre en compte les "corrections"( la touche au dessus de entrer). C'est la seule chose qui me gène chez ce keylogger car j'utilise tout le temps cette touche. J'aimerai bien trouver par moi même mais mon niveau en c++ est tellement bas que j'en suis a peine a l'apprentissage des boucles ^^.
Merci bien d'avance.
26 mai 2006 à 15:10
26 mai 2006 à 15:08
les hookproc sont des procédures callback comme les windowproc à la différence qu'elles recoivent les messages de toutes les applications avant elles.
Après ça permet au choix de dire si le message doit être envoyé à l'application ou pas... etc.
Par contre c'est un peu chaud à gérer : une hookproc mal faite fera planter windows.... en plus il y a les hookproc dans les applications qui sont moins prioritaires que les hookproc dans les dll ce qui fait que si tu veux la garantie que ton keylogger recoive toute les touches tu dois programmer une dll séparément de l'application hôte...
En gros - ça fait longtemps que j'ai pas fait ça...
26 mai 2006 à 12:45
26 mai 2006 à 10:10
26 mai 2006 à 03:54
26 mai 2006 à 03:52
Il faudrait tenir compte des pressions/relachements mais je ne sais pas comment faire parce que je n'ai jamais eu à me soucier de ce genre de problème.
eRoZion
26 mai 2006 à 03:47
ca répète plin de foi la touche car on preese touche environ 1/4 de seconde et le programme fait déja un tat de cycle.
Bref mais c'est pas bien grave ca n'empèche pas de dérypter le message final.
26 mai 2006 à 03:40
Pour le bug de repetition d'une lettre, remplace
if ( ( result!=0 ) && ( result!=1 ) && (lettre!=lastletter) )
par
if ( ( result!=0 ) && ( result!=1 ) )
Tu l'avais peut-etre fais volontairement mais je comprend plus l'intéret d'un keylogger dans ce cas ?!
Aussi, sleep() c'est dans dos.h, pour windows.h c'est Sleep().
A+
eRoZion
26 mai 2006 à 03:11
le code a l'air clair, je regarderai mieux demain parce que là c'est moi qui commence a etre plus clair. :)
Par contre a l'execution, des qu'une touche est répétée, elle n'apparait qu'une seule fois dans le log.
Ex: je tape "www.fffff.ccc.2006" et bien n'apparaitra dans la capture que "w.f.c.206".
Voilà pour le bug.
A+
eRoZion