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
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : CXIMAGERE : CXIMAGE par rt15
Cliquez pour lire la suite par rt15
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|