Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219

    [c/c++]SetWindowHookEx, installare un hook

    Salve a tutti,studiando windows.h sono venuto a sapere della possibilità di monitorare le attività della tastiera.A scopi benefici ho provato a fare un programma mio usando la funzione GetAsyncKeyStat,la quale però non funziona bene perchè l' ho sperimentata io stesso.
    Dovrei quindi usare la SetWindowHookEx come dice qua.
    Premesso che secondo me è spiegato male,ho provato a farlo lo stesso,se conoscete guide migliori fatemelo sapere.
    Comunqe non capisco il concetto con cui funziona questa procedure,facciamo finta che per esempio volessi implementare un driver,per esercizio provare a cambiare i pulsanti della tastiera oppure all' inizio solo per vedere come funziona,leggere i tasti.
    Ecco qua cosa ho provato a fare:
    codice:
    #include <iostream>
    #include <windows.h>
    HHOOK hKeyHook;
    int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nCmdShow)
    {
        HWND hwnd;
        HOOKPROC lpfn;
        HINSTANCE hMod;
        DWORD dwThreadId;
        ShowWindow(hwnd, !nCmdShow);
        SetWindowsHookEx(WH_KEYBOARD_LL,lpfn,hMod,dwThreadId);
        return 0;
    }
    Questo qua è l' hook installato,adesso non so proprio da dove andare a leggere i dati.
    E vedo tantissimi esempi sul web ma mai uno che spiegasse come funzionano le funzioni di windows.h
    Conoscete un metodo migliore per studiare queste funzioni?

  2. #2

    Re: [c/c++]SetWindowHookEx, installare un hook

    lpfn,hMod,dwThreadId che, come puoi leggere dalla documentazione da te stesso linkata, sono dei parametri di input per la funzione SetWindowHookEx, non sono inizializzate; perciò il loro valore non è definito, quindi il comportamento della tua invocazione a SetWindowHookEx è giustamente indefinito.

  3. #3
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Bhe comunque io l' avevo fatto in un altro modo,così dovrei studiarci sopra molto.
    se è un keylogger scritto a scopo benefico di apprendimento posso postarlo?

  4. #4
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Comunuque non capisco come importare i valori,dice:

    HOOKPROC
    "A pointer to the hook procedure. If the dwThreadId parameter is zero or specifies the identifier of a thread created by a different process, the lpfn parameter must point to a hook procedure in a DLL. Otherwise, lpfn can point to a hook procedure in the code associated with the current process. "

    E questo proprio non lo capisco,lpfn deve puntare a una procedura hook,ma come fa a puntare a puna procedura hook se è un parametro di ingresso?
    Per creare un hook mi serve un puntatore a una procedura hook?

    Gli altri bene o male ho capito che settandoli a NULL funzionano correttamente.
    Che valore dovrei mettere?

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,282

    Moderazione

    Originariamente inviato da ramy89
    se è un keylogger scritto a scopo benefico di apprendimento posso postarlo?
    Non esistono keylogger per scopi benefici, dato che non possiamo verificarlo.

    Esorto a evitare discussioni che vertono su funzionalità tipiche dei malware, come i keylogger.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.