Accueil > Forum > > > > Comment developper un keylogger en C?
Comment developper un keylogger en C?
dimanche 23 décembre 2007 à 22:42:56 |
Comment developper un keylogger en C?

Aumenov
|
Salut, Je souhaite développer un keylogger en C. J'ai trouvé sur ce site un code qui permet de le faire : http://www.cppfrance.com/infomsg_COMPILATION-DRIVER-WINDOWS_918558.aspx Mais je souhaite plutot, pour une initiation, comprendre comment programmer un keylogger: quelles sont les différentes étapes en détails. Connaissez vous des sites qui en parlent? Merci beaucoup Bonnes fetes
|
|
dimanche 23 décembre 2007 à 23:21:51 |
Re : Comment developper un keylogger en C?

vicenzo
|
des dizaines de sources de keylogger ont été soumis sur cppfrance. Il n'y a que l'embarras du choix !
Fais une recherche par mot clé 'keylogger'..
|
|
lundi 24 décembre 2007 à 00:52:35 |
Re : Comment developper un keylogger en C?

Aumenov
|
J'ai commencé la programmation et je me trouve confronté à un problème lors de la compilation. Je vous mets ci-dessous le code de la fonction où se produit l'erreur. KTIMER est défini dans la bibliothèque ntddk.h. Je fais l'inclusion de cette dernière mais j'ai le message d'erreur suivant:
c:\monkeylogger\keyslogger.c(21) : error C2275: 'KTIMER' : illegal use of this t ype as an expression c:\monkeylogger\keyslogger.c(21) : error C2146: syntax error : missing ';' befor e identifier 'kTimer' c:\monkeylogger\keyslogger.c(21) : error C2065: 'kTimer' : undeclared identifier
c:\monkeylogger\keyslogger.c(22) : error C2275: 'LARGE_INTEGER' : illegal use of this type as an expression c:\monkeylogger\keyslogger.c(22) : error C2146: syntax error : missing ';' befor e identifier 'timeout' c:\monkeylogger\keyslogger.c(22) : error C2065: 'timeout' : undeclared identifie r c:\monkeylogger\keyslogger.c(23) : error C2224: left of '.QuadPart' must have st
#include <ntddk.h> #include "keysLogger.h"
int numPendingIrps = 0;
//The Unload routine performs any operations that are necessary before the system unloads the driver VOID Unload( IN PDRIVER_OBJECT pDriverObject){ // Get the pointer to the device extension. PDEVICE_EXTENSION pKeyboardDeviceExtension = (PDEVICE_EXTENSION) pDriverObject->DeviceObject->DeviceExtension; DbgPrint("Driver Unload Called...\n");
// Detach from the device underneath that we're hooked to. IoDetachDevice(pKeyboardDeviceExtension->pKeyboardDevice); DbgPrint("Keyboard hook detached from device...\n");
// Create a timer. KTIMER kTimer; LARGE_INTEGER timeout; timeout.QuadPart = 1000000;// .1 s KeInitializeTimer(&kTimer); while(numPendingIrps > 0){ // Set the timer. //les deux fonctions qui suivent prennent en paramètre bel et bien un pointeur sur un KTIMER //donc je ne comprend pas pourquoi c'est marqué "illegal use of .... as an expression"!!!!!!! KeSetTimer(&kTimer,timeout,NULL); KeWaitForSingleObject(&kTimer,Executive,KernelMode,FALSE,NULL); }
// Set our key logger worker thread to terminate. pKeyboardDeviceExtension->bThreadTerminate = 1; // Wake up the thread if its blocked & WaitForXXX after this call. KeReleaseSemaphore(&pKeyboardDeviceExtension->semQueue,0,1,TRUE);
// Wait until the worker thread terminates. DbgPrint("Waiting for key logger thread to terminate...\n"); KeWaitForSingleObject(pKeyboardDeviceExtension->pThreadObj,Executive,KernelMode,FALSE,NULL); DbgPrint("Key logger thread terminated\n"); // Close the log file. ZwClose(pKeyboardDeviceExtension->hLogFile);
// Delete the device. IoDeleteDevice(pDriverObject->DeviceObject); DbgPrint("Tagged IRPs dead...Terminating...\n"); return; }
Est ce que vous avez une idée de comment ce problème peut être résolu?
Merci pour votre aide!
|
|
lundi 24 décembre 2007 à 01:02:34 |
Re : Comment developper un keylogger en C?

SAKingdom
|
Si tu compiles en C, les variables doivent être déclarées en début de fonction. C++ (@++)
|
|
lundi 24 décembre 2007 à 01:41:29 |
Re : Comment developper un keylogger en C?

Aumenov
|
Effectivement, c'est ça le problème! Est ce que tu m'expliquer pourquoi? merci
|
|
lundi 24 décembre 2007 à 01:55:38 |
Re : Comment developper un keylogger en C?

SAKingdom
|
Non je l'ignore. En fait, ce n'est pas obligatoirement en début de fonction, ce peut être aussi au début d'un bloque de code: if (x == 1) { int i = 5; // <- VALIDE (utilisable seulement dans ce if) printf("%d\n", i); } while (x == 1) {
int i = 5; // <- VALIDE (utilisable seulement dans ce while)
printf("%d\n", i);
} etc. etc. etc. Une fois le code compilé, ça reviendra au même que de l'avoir déclaré en début de fonction. Cependant, la porté de la variable sera limité à son bloque de code. C++ (@++)
|
|
lundi 24 décembre 2007 à 07:33:18 |
Re : Comment developper un keylogger en C?

vicenzo
|
Réponse acceptée !
En C90 -> déclaration obligatoire des variables en début de bloc En C99 -> déclaration des variables n'importe ou dans les blocs pour augmenter la compatibilité avec le C++
Les compilateurs C de Microsoft (VC++, VS200X) sont quasiment les seuls à ne pas implémenter du tout le C99.
|
|
lundi 24 décembre 2007 à 10:14:22 |
Re : Comment developper un keylogger en C?

BruNews
|
Espérons que ça dure, ce C99 est une daube de nivellement par le bas.
ciao... BruNews, MVP VC++
|
|
lundi 24 décembre 2007 à 11:54:00 |
Re : Comment developper un keylogger en C?

vicenzo
|
Entièrement d'accord avec toi...
La révision 99 essaie juste de gommer les disparités en C et C++ et comme tu le précises nivelle vers le bas (tableaux dynamiques, ...) La seule chose qui pourrait m'intéresser ce sont les macro à argument variables...
Noeux Joel !
|
|
lundi 24 décembre 2007 à 16:05:25 |
Re : Comment developper un keylogger en C?

SAKingdom
|
vicenzo >> Oui c'est sûr mais... Pourquoi avec un compilateur non C99, il faut obligatoirement déclarer ses variables en début de bloc ? C'est une raison esthétique, technique ? Pour ma part c'est clair que déclarer une variable au début d'un bloc est bien plus lisible que de la déclarer au milieux de nul part mais y a t-il une autre raison ? C++ (@++)
|
|
Cette discussion est classée dans : souhaite, keylogger, developper
Répondre à ce message
Sujets en rapport avec ce message
keylogger [ par error ]
donc voila je voudrait savoir s'y il y a moyen de faire un keylloger/prog qui eregistre les tuche taper au clavier en c++merci ++
Integrer une DLL au projet [ par Mike ]
Salut a tousJe souhaite integrer la DLL "iphlpapi.dll" (windows/system32) pour utiliser la fonction "GetIpAddrTable", je souhaite pour le moment simpl
Port serie virtuel [ par irokoy ]
Je souhaite réaliser un driver de port serie virtuel.J'ai une application qui envoie des donnees sur le port serie et je souhaite rediriger ces donnes
Chemin d'un projet... [ par neub ]
Salut tt le monde et bonnes fetes de fin d'anneeVoici ma question urgente (mon projet se termine en se moment):Je souhaite recuperer le chemin de mon
allocation dynamique [ par hobbes ]
Bonjour,Mon probleme est que je ne connais pas a l avance la taille du tableau que je souhaite cree. Je pensais alors :creer un tab de maniere dynamiq
Keylogger [ par glipper ]
Bonjour,J'aimerais juste faire un petit keylogger (rassurez vous ce n'est pas mechant, c'est juste pour moi), mais j'ai quelques problemes. Voici la p
Keylogger, encore... [ par sebleboss2002 ]
Bonjour à tous !J'ai vu que la question à déjà été soulevée sur le forum, mais je n'ai pas trouvé mon bonheur... Ma question est concrète : Je voudrai
listbox et OnInitDialog [ par raspa ]
Bien le bonjour, j'ai un programme en visual c++ 6 avec mfc. Via une fenetre, elle m'ouvre une autre fenetre et dans cette dernier se trove une listeb
prob avec nom de fichier. [ par kach23 ]
bonjour, je debute etje réalise une acquisition de mesure avec builder.je souhaite que le nom du fichier ouvert a chaque acquisition soit different.vo
lecture du port USB [ par peb69 ]
Bonjour, je souhaite lire les données sur un port USB. En faite j'ai crée une interface qui se branche sur le port USB, et je souhaite lire les inform
Livres en rapport
|
Derniers Blogs
[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
WIN APIWIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|