- 27 Maggio 2009
- 222
- 0
- Miglior risposta
- 0
Prima di scrivervi la guida base per creare un keylogger in Delphi voglio introdurvi l'Hook di sistema per farvi capire al meglio come funziona un keylogger :ridicolo: Un hook è un punto, nel meccanismo di gestione messaggi di windows praticamente è un processo di monitoraggio di tastiera .... Ed è eseguito da questa dichiarazione
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
• idHook: definisce la tipologia di hook che si vuole installare e quindi la tipologia di messaggio che si vuole manipolare ed in quale punto del meccanismo di gestione messaggi questo/i messaggio/i deve essere gestito (WH_KEYBOARD, WH_KEYBOARD_LL, WH_MOUSE, etc...). • lpfn: indica la funzione che deve essere implementata per definire il comportamento in corrispondenza del tipo di messaggio che si vuole manipolare. Gli stessi parametri wparam ed lparam sono appunto i campi wparam ed lparam tipici di ogni messaggio di Windows (vedere il tipo TMsg nella documentazione di Delphi a tal proposito) • hMod: definisce l' handle del modulo (dll) in cui è implementata la funzione definita dal parametro lpfn. • dwThreadId: identificativo del thread (Thread Id o anche TID) nel cui contesto si vuole installare l' hook: 0 equivale a tutti i thread. Se l' id si riferisce all' eseguibile corrente allora la funzione di tipo TFNHookProc può essere tranquillamente implementata nell' eseguibile corrente altrimenti deve essere implementata in una dll Voi direte perchè serve proprio Hook, ora ve lo spiego subito... Usando un Keybord Hook ossia un Hook di sistema di tipo: WH_KEYBOARD possiamo riuscire a monitorare solo una parte. Ricordo che i Keybord si possono trovare in giro per il web e se provate tutti i download contegono una dll per far funzionare TFNHookProc. Ho provato a incorporare tutto ma ho avuto solo pessimi risultati di crash di explorer usando questo valore WH_KEYBOARD; però sono riuscito a farlo funzionare usando ques'altro valore WH_KEYBOARD_LL non si deve inserire una dll, infatti da come vedete c'è LL in più che incrementa il file della dll :pazzo: Infatti il dialogo con una dll esterna dovrebbe avvenire tramite scambio messaggio ed utilizzo di oggetti per la comunicazione tra processi come ad esempio file mappati in memoria, mailslot, pipe, nonchè strumenti per l' accesso esclusivo ai dati e sincronizzazioni quali semafori, mutex, sezioni critiche etc...). Per installare l' hook WH_KEYBOARD_LL, andrò a specificare l' intero 13 come valore per il parametro idHook nell' api SetWindowsHookEx. E così ecco il sorgente del KeyLogger tutto in un eseguibile
Codice:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ricordo per chi non sà usare un linguaggio del genere non legga proprio il topic :pazzo: FONTE: Perfavore,
Entra
oppure
Registrati
per vedere i Link!
|
Ultima modifica: