Se connecter

Informatique

Programmation

Sujet : Enregistreur de frappes
1
TheWorldPlay
Niveau 2
19 janvier 2019 à 09:26:26

Je commence le langage C++ et j'aimerai savoir si il est possible de coder un enregistreur de touches de clavier? Ce serai un programme qui enregistrerai les touches de clavier pendant un certain temps dans un document .txt par exemple.

ATTENTION-> Ce n'est en aucun cas fait pour être utiliser à des fins illégales mais seulement à titre d'apprentissage personnel.

Gaetano-GX
Niveau 15
19 janvier 2019 à 10:43:32

Ca s'appelle un Keylogger

TheWorldPlay
Niveau 2
19 janvier 2019 à 11:44:19

Le 19 janvier 2019 à 10:43:32 Gaetano-GX a écrit :
Ca s'appelle un Keylogger

Oui mais j'aimerai pouvoir le CODER et pas télécharger un logiciel.

ouimaisquoi
Niveau 8
19 janvier 2019 à 11:56:42

Le 19 janvier 2019 à 11:44:19 TheWorldPlay a écrit :

Le 19 janvier 2019 à 10:43:32 Gaetano-GX a écrit :
Ca s'appelle un Keylogger

Oui mais j'aimerai pouvoir le CODER et pas télécharger un logiciel.

Et bien il faut apprendre un langage; pour faire certains trucs il faut des outils et la façon de s'en servir.
Et le système sur lequel on veut intervenir.

dechet_s0cial
Niveau 10
19 janvier 2019 à 12:02:34

oui c'est assez simple a faire

TheWorldPlay
Niveau 2
19 janvier 2019 à 12:30:38

Vous auriez des conseils alors sur quel type de langage utiliser?

dechet_s0cial
Niveau 10
19 janvier 2019 à 13:00:56

Le 19 janvier 2019 à 12:30:38 TheWorldPlay a écrit :
Vous auriez des conseils alors sur quel type de langage utiliser?

ba c'est toi qui a parlé de C++, donc C++ j'imagine non?

MrInnerPeace
Niveau 10
20 janvier 2019 à 00:46:22

Tu dois faire un programme en qui va se lancer en arrière plan sur un thread asynchrone et qui va enregistrer les touches du clavier en se basant sur des évènements du clavier.

Je te recommande aussi d'envoyer des données daccumuler les donnes dans un buffer à chaque minute et ensuite de les envoyer sur une API sur un site web par une requête HTTP et de stocker les dites informations dans des documents en NoSQL.

MrInnerPeace
Niveau 10
20 janvier 2019 à 00:47:44

Je peux te faire ça stv pour une renumération bien évidemment :)

Pseudo supprimé
Niveau 10
20 janvier 2019 à 01:04:26

de stocker les dites informations dans des documents en NoSQL.

Oui, la tolérance au partitionnement c'est très important pour un keylogger.

blackapplex
Niveau 10
20 janvier 2019 à 12:59:47

L'OS fait l'interface Hardware/Software, et vu qu'ils sont pas capables de se mettre d'accord, c'est spécifique à l'OS.
Bilan si tu veux faire un logiciel proprement (compatible tous OS), faut utiliser une lib externe (style SFML qui fournit sf::Keyboard::isKeyPressed).

Visiblement, vu que tu commences, tu peux juste suivre ce genre de réponses j'imagine (non testé):
https://stackoverflow.com/questions/11472043/non-blocking-getch (pour windows a priori)

Hésite pas à tapper tes questions en anglais sur google un moteur de recherche et à lire les pages stackoverflow

no_lift_69
Niveau 10
20 janvier 2019 à 14:11:19

https://www.youtube.com/watch?v=8X2UOfkOuZY
tu es responsable de tes actes

TheWorldPlay
Niveau 2
23 janvier 2019 à 15:20:06

Le 20 janvier 2019 à 00:46:22 MrInnerPeace a écrit :
Tu dois faire un programme en qui va se lancer en arrière plan sur un thread asynchrone et qui va enregistrer les touches du clavier en se basant sur des évènements du clavier.

Je te recommande aussi d'envoyer des données daccumuler les donnes dans un buffer à chaque minute et ensuite de les envoyer sur une API sur un site web par une requête HTTP et de stocker les dites informations dans des documents en NoSQL.

NoSQL? C'est quoi comme type de fichier et il sert à quoi?

MrInnerPeace
Niveau 10
24 janvier 2019 à 06:07:51

NoSQL c'est une façon de gérer une base de données. A l'inverse des base de données relationnelles, une BD NoSQL, va utiliser des documents et des collections afin de garder les données. On sera ici moins axé sur une structure standard avec des clés primaires/étrangères. En bref, on fait juste foutre des données dans un json ( un texte quoi). Dans ton cas, c'est super parce que tu veux juste stocker des touches du clavier alors ta nullement besoin d'une BD SQL standard genre MySQL ou oracle avec leurs triggers procédures etc.

Pour utiliser cela, il te faut une base de données NoSQl et un accès a celle ci. Pour la BD , je te recommandé MongoDB et pour l'accès tu devras programmer en NodeJS (javascript côté serveur). Je te recommandé d'utiliser Express.Js pour ton API ( si tu sais pas c'est quoi un API c'est juste le pont qui va te permettre de transmettre tes données par exemple un site utilisant express.js)

Dans ce cas ci tu veux fabriquer un enregistreur qui pourrait garder les touches sur une base de données sur un autre ordinateur que celui de la "victime". Et c'est pour cela qu'il te faut un serveur NodeJS avec une base de données MongoDB. Tu peux installer NodeJS sur Windows et l'héberger toi même sur ton ordinateur si tu n'as pas les moyens de défrayer pour un serveur.

C'est un peu compliquées mais c'est une manière pour faire un bon Keylogger. Il te faut des connaissances en Web et je ne sais pas si tu as le niveau, mais ça pourrait t'être intéressant a apprendre si tu veux devenir bon en web.

Pour installer NodeJs et MongoDB sur Windows c'est super facile. Tu fais que suivre les instructions sur le site à la lettre et tes ok

no_lift_69
Niveau 10
24 janvier 2019 à 11:38:40

ou alors tu upload les logs sur un ftp c'est plus simple

Maxou_E
Niveau 1
24 janvier 2019 à 11:57:51

J'ai trouvé ton post intéressant du coup j'ai cherché et j'ai implémenté un truc (pour linux) en python. J'ai volontairement pas utilisé de lib, du coup si tu veux le faire en C++ tout est transposable. Et du pour sortir les données via le réseau j'utilise les mails, c'est une possibilité aussi. Je vais sortir le blogpost qui va avec mais le code est déja sur mon github : https://github.com/melkael/keylogger enjoy

MrInnerPeace
Niveau 10
24 janvier 2019 à 21:12:30

Le 24 janvier 2019 à 10:53:24 dark_drow a écrit :
Tu pourrais arrêter ta pub et tes âneries pour MongoDB/NoSQL stp ? C'est HS

Qui a t'il de mal a parler d'une technologie ? Ce n'est pas quelque chose "hors serie". Je ne fais que proposer une solution. Lâcher le sel s'il vous plaît mr.

MrInnerPeace
Niveau 10
24 janvier 2019 à 21:17:48

Le 24 janvier 2019 à 11:38:40 no_lift_69 a écrit :
ou alors tu upload les logs sur un ftp c'est plus simple

Solution valable je trouve aussi vu son niveau je pense que ce serais plus simple en effet côté gestion.

Pseudo supprimé
Niveau 10
24 janvier 2019 à 21:55:48

Qui a t'il de mal a parler d'une technologie ? Ce n'est pas quelque chose "hors serie". Je ne fais que proposer une solution. Lâcher le sel s'il vous plaît mr.

Je vais juste proposer une solution aussi: poster les inputs sur twitter, en code morse. Une proposition n'est pas nécessairement une bonne idée.

Maxou_E
Niveau 1
24 janvier 2019 à 23:13:36

Je vois pas trop l'interet d'une nosql non plus mais c'est possible quoiqu'un peu overkill pour moi.

1
Sujet : Enregistreur de frappes
   Retour haut de page
Consulter la version web de cette page