Questo topic e' stato chiuso dal moderatore.
06/01/11 15:01
ramy1989
Salve a tutti,ho inviato questa discussione in c++,anche se in realtà uso alcune librerie dal c ma includo la iostream.
Ho provato a scrivere due keylogger,uno usando la GetAsyncKeyState,uno usando la SetWindowsHookEx.
La tecnica è di allocare una nuova stringa sullo heap ogni volta che si preme un pulsante,con realloc.Poi quando il programma finisce perchè si preme F12 il programma termina,questo è quello scritto con la GetAsyncKeyState,mi da un pò di problemi perchè non scrive le lettere in ordine,poi il fatto di entrare in un loop infinito sovraccarica la ram,ma comunque bene o male funziona.Anche se devo scoprire come fare a registrare le lettere in modo ordinato.
Eccola qua: pastebin.com/…
Non saprei proprio come migliorarlo,ho letto che la procedura corretta è di usare la SetWindowsHookEx,ho scritto un programma usando questa funzione,eccolo qua:
pastebin.com/…
Ma questa mi da problemi assurdi,sembrerebbe che anche qua in qualche modo entro in un loop infinito.Sono stato costretto a dichiarare variabili esterne.Alla fine del programma se provo a scrivere su file crasha,se provo a stampare i (i alla fine sarà uguale al numero di stringhe allocate nell' heap) mi stampa numeri altissimi tipo 138,dal che capisco che anche qua c'è un loop infinito,ma anche usando la sleep se durante il programma digito 0 volte i tasti tutto ok,ma se digito solo un tasto mi alloca tantissime stringhe.
Vorrei sapere come migliorarlo.
Ho provato a scrivere due keylogger,uno usando la GetAsyncKeyState,uno usando la SetWindowsHookEx.
La tecnica è di allocare una nuova stringa sullo heap ogni volta che si preme un pulsante,con realloc.Poi quando il programma finisce perchè si preme F12 il programma termina,questo è quello scritto con la GetAsyncKeyState,mi da un pò di problemi perchè non scrive le lettere in ordine,poi il fatto di entrare in un loop infinito sovraccarica la ram,ma comunque bene o male funziona.Anche se devo scoprire come fare a registrare le lettere in modo ordinato.
Eccola qua: pastebin.com/…
Non saprei proprio come migliorarlo,ho letto che la procedura corretta è di usare la SetWindowsHookEx,ho scritto un programma usando questa funzione,eccolo qua:
pastebin.com/…
Ma questa mi da problemi assurdi,sembrerebbe che anche qua in qualche modo entro in un loop infinito.Sono stato costretto a dichiarare variabili esterne.Alla fine del programma se provo a scrivere su file crasha,se provo a stampare i (i alla fine sarà uguale al numero di stringhe allocate nell' heap) mi stampa numeri altissimi tipo 138,dal che capisco che anche qua c'è un loop infinito,ma anche usando la sleep se durante il programma digito 0 volte i tasti tutto ok,ma se digito solo un tasto mi alloca tantissime stringhe.
Vorrei sapere come migliorarlo.
aaa