Torna indietro   Hardware Upgrade Forum > Software > Programmazione

TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
Wireless 2.4 GHz, Bluetooth 5.4, cancellazione attiva del rumore, design pieghevole e un'autonomia che mette in imbarazzo prodotti che costano il doppio. Le Maestro 500 non eccellono in nulla, ma offrono tutto. E a questo prezzo è difficile chiedere di più
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine
Dopo anni di attesa e una lunga fase di sviluppo, Noctua entra nel mercato dei dissipatori a liquido AIO con la nuova serie NL-LC1. Forte dell'esperienza maturata nel raffreddamento ad aria, l'azienda austriaca promette di portare la propria filosofia fatta di qualità costruttiva, attenzione ai dettagli e silenziosità anche in questo segmento. Abbiamo provato il nuovo sistema per scoprire se riesce a distinguersi in un mercato ormai molto competitivo.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-10-2006, 21:31   #1
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
[c++] key logger

che funzione delle api posso usare per poter registrare i tasti premuti sulla tastiera??

grazie ciao
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 09-10-2006, 22:05   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Iniziati a guardare questo argomento:
http://windowssdk.msdn.microsoft.com.../ms632589.aspx

In particolare questa API:
http://windowssdk.msdn.microsoft.com.../ms644990.aspx

Quello che devi realizzare è una DLL con una funzione di callback compatibile con LowLevelKeyboardProc:
http://windowssdk.msdn.microsoft.com.../ms644985.aspx
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 10-10-2006, 13:54   #3
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
in giro non c'è qualche esempio vero???
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 10-10-2006, 14:03   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Certo, basta cercare...

http://www.codeproject.com/dll/keybo...select=1259703

C'è sicuramente anche molto altro...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 13:42   #5
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
ma si puo fare solo con una dll??
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 14:50   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Certo, altrimenti la callback di hook non può essere raggiunta dagli altri processi...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 15:47   #7
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Avrei sottomano un programma che feci a suo tempo per un esame, il quale, non appena premi il tasto F9, mostra una finestra di dialogo.
Ovviamente, invece di mostrare una finestra di dialogo, potresti sapere che il tasto è stato premuto: estendendo semplicemente il concetto a tutti i tasti...
Se ti interessa lo posto.

EDIT: se non ricordo male, la DLL la caricavo senza lo stub (quindi più semplice da compilare il sorgente, ma leggermente più complicato per reperire i nomi delle funzioni che la DLL esporta, ma del resto sperimentavo per fare bene l'esame )
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 16:42   #8
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
i Low Level Hook non necessitano di DLL, può anche essere un normale eseguibile; però il thread che installa l'hook deve avere una coda di messaggi.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 16:47   #9
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ah, comunque ricordo che un key logger fatto in questa maniera è visibilissimo:
1) perché mamo139 vuole farne un eseguibile, e quindi lo si termina tranquillamente da Task Manager
2) perché anche se fosse una DLL esistono programmi che elencano i moduli di ciascun processo e permettono di scaricarli (io stesso ne ho realizzato uno)
3) perché è possibile intercettare e fermare i messaggi tramite il quale sono implementati i Low Level Hooks; e una volta intercettati è anche possibile sapere a quale thread erano indirizzati.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 16:48   #10
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
E' vero, fanno un cambio di contesto per ogni evento...però nell'esempio che avevo linkato usavano la DLL perchè gestivano i tasti con questo hook: http://windowssdk.msdn.microsoft.com.../ms644984.aspx

71104: te che ci capisci più di me in questo tipo di cose, quale dei due conviene usare ? Il LowLevel è rallenta un po' tutto il sistema, no ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 16:50   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Suppongo che mamo139 sia interessato al Key Logger per imparere...sbaglio ? Quindi penso che questa situazione sia accettabilissima per lui...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 16:55   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da cionci
71104: te che ci capisci più di me in questo tipo di cose, quale dei due conviene usare ? Il LowLevel è rallenta un po' tutto il sistema, no ?
secondo me il rallentamento del sistema non è un problema (basta avere l'accortezza di usare I/O asincrono durante la scrittura del log); ciò che è importante considerare nella creazione di un keylogger è il tipo di target: se si tratta di un classico utonto che sa solo usare Messenger allora è anche sufficiente un eseguibile che usa LowLevelKeyboard e che si chiami " explorer.exe" (con uno spazio iniziale) o qualche altro nome ingannevole, ma se abbiamo a che fare con un fior di amministratore di sistema allora qui ci serve un driver che alloca un'area di memoria su cui scrive il vero codice e poi fallisce il caricamento ritornando uno errore dalla DriverEntry; il driver non apparirà come caricato, e nel frattempo il codice allocato "clandestinamente" può installarsi come Keyboard Filter.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 18:24   #13
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da 71104
i Low Level Hook non necessitano di DLL, può anche essere un normale eseguibile; però il thread che installa l'hook deve avere una coda di messaggi.
Non ho capito una cosa: potenzialmente tutti gli hook possono risiedere in un eseguibile invece che in una DLL, ma non potrebbe poi essere un hook globale, bensì solo un hook "thread specific". Quindi stai dicendo che un qualunque hook di tastiera non globale funziona lo stesso? Oppure che un Low Level hook funziona lo stesso anche se non è globale?
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 18:31   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
I LowLevel Hook sono gestiti in modo diverso rispetto agli hook normali...

However, the WH_KEYBOARD_LL hook is not injected into another process. Instead, the context switches back to the process that installed the hook and it is called in its original context. Then the context switches back to the application that generated the event.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 18:39   #15
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da cionci
I LowLevel Hook sono gestiti in modo diverso rispetto agli hook normali...

However, the WH_KEYBOARD_LL hook is not injected into another process. Instead, the context switches back to the process that installed the hook and it is called in its original context. Then the context switches back to the application that generated the event.
Va bene, ma se l'hook installato dal tuo programma non è globale, che sia low level o meno, non riceverà comunque eventi da altri processi/thread. Per intercettare tutti gli eventi della tastiera, l'hook deve essere globale, quindi risiedere in una DLL.
In realtà c'è un modo per rendere l'hook globale SENZA ricorrere all'uso della DLL, ma per fare questo bisgona ricorrere all'assembly.

EDIT: Almeno questo mi risulta, se avete esempi che smentiscono tutto ciò vi prego di postare, sarei molto interessato
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 18:43   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Gli hook necessitano delle DLL per essere appunto iniettati negli altri processi...questo non necessita di essere iniettato negli altri processi perchè probabilmente il sistema tiene una traccia individuale di tutti gli hook di questo tipo e l'hook viene richiamato dal SO (e non dagli altri processi come per i normali hook) quando l'evento viene generato...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 18:45   #17
-fidel-
Senior Member
 
L'Avatar di -fidel-
 
Iscritto dal: Jan 2006
Messaggi: 2722
Quote:
Originariamente inviato da cionci
Gli hook necessitano delle DLL per essere appunto iniettati negli altri processi...questo non necessita di essere iniettato negli altri processi perchè probabilmente il sistema tiene una traccia individuale di tutti gli hook di questo tipo e l'hook viene richiamato dal SO (e non dagli altri processi come per i normali hook) quando l'evento viene generato...
Sì sì mi sa che hai ragione, incuriosito dal tuo post precedente mi sto documentando meglio sui low level hooks: a prima vista è come dici tu, controllo ancora per conferma

EDIT: invece sembra di no, come ricordavo. C'è un modo, ma bisogna ricorrere all'assembly come dicevo prima. Sempre che ci sia un qualche codice che mi smentisca

EDIT 2: sono confuso, ancora non mi è chiaro se un low level hook è automaticamente globale... Devo solo provare...
__________________

- Spesso gli errori sono solo i passi intermedi che portano al fallimento totale.
- A volte penso che la prova piu' sicura che esiste da qualche parte una forma di vita intelligente e' il fatto che non ha mai tentato di mettersi in contatto con noi. -- Bill Watterson

Ultima modifica di -fidel- : 11-10-2006 alle 18:51.
-fidel- è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 19:11   #18
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
Quote:
Originariamente inviato da cionci
Suppongo che mamo139 sia interessato al Key Logger per imparere...sbaglio ? Quindi penso che questa situazione sia accettabilissima per lui...
esatto...

cmq per non farmi perdere il filo supponiamo che io voglia fare quello con la dll...
mi sorge subito spontaneo un dubbio... dove cavolo la metto sta dll???
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 19:11   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da -fidel-
EDIT: Almeno questo mi risulta, se avete esempi che smentiscono tutto ciò vi prego di postare, sarei molto interessato
http://www.codeproject.com/samples/F...select=1362970
L'ho modificato un po' e funziona alla perfezione per loggare tutti i tasti
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 11-10-2006, 19:13   #20
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
Quote:
Originariamente inviato da cionci
L'ho modificato un po' e funziona alla perfezione per loggare tutti i tasti
posteresti i sorgenti così guardo anche quello??? piu roba c'è piu capisco
mamo139 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
MapTap vi farà impazzire: è...
7Artisans Dream Cine Lens: tre ottiche T...
Torna l'e-bike Engwe più economic...
OnePlus aggiorna la gamma con un nuovo t...
Samsung nel caos: dipendenti in nero pro...
Lexar da 2TB PCIe 4.0 in offerta Amazon ...
Samsung Odyssey G5 in offerta Amazon: mo...
HONOR 600 Smart 5G è ufficiale: u...
AMD Threadripper fino al 215% più...
Strano bug su Google Pixel: la tastiera ...
Google inaugura Dataland: apre al pubbli...
Minaccia cripto: il malware si diffonde ...
iPhone XS, XS Max, XR e iPhone 11 hanno ...
7 offerte TOP per tutti, ma anche quelle...
Echo Dot in super offerta Amazon: confez...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:09.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v