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.
Ca s'appelle un Keylogger
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.
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 KeyloggerOui 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.
oui c'est assez simple a faire
Vous auriez des conseils alors sur quel type de langage utiliser?
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?
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.
Je peux te faire ça stv pour une renumération bien évidemment
de stocker les dites informations dans des documents en NoSQL.
Oui, la tolérance au partitionnement c'est très important pour un keylogger.
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
https://www.youtube.com/watch?v=8X2UOfkOuZY
tu es responsable de tes actes
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?
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
ou alors tu upload les logs sur un ftp c'est plus simple
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
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.
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.
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.
Je vois pas trop l'interet d'une nosql non plus mais c'est possible quoiqu'un peu overkill pour moi.