Creando keylogger con hook

Iniciado por aaronduran2, 6 Octubre 2008, 22:17 PM

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

aaronduran2

Hola. Estoy creando un keylogger. Al principio utilizaba GetAsyncKeyState, pero me di cuenta de que era mejor utilizar un hook. Estuve viendo varios códigos, por ejemplo este:

http://www.hackstore.net/forum/index.php?topic=13582.msg322430

El problema es que las teclas se almacenan en un array, y lo que intenté hacer era que detectase si la variable keyCode era igual al valor de una tecla establecida, se introdujese en la variable que guarda el resultado del keylogger, pero no fui capaz. ¿Alguna idea?

Gracias de antemano.

Karcrack

A que te refieres con que no fuiste capaz? Te dio algun error? No supiste hacerlo? No creo que tenga mucha dificultad, al menos si preguntas lo que yo creo xD...

Bueno, aprovecho para hacer propaganda :-X, para el Ezine de CodeMakers he hecho un manual de como hacer un Keylogger con Hooks en VB, no utiliza Arrays ni nada por el estilo... no creo que tarde mucho en salir la Ezine :P

Saludos :D

aaronduran2

No es que mostrase un error, el IDE de VB se me cerraba repentinamente y me mostraba el típico error de enviar o no el informe de errores.

Saludos.

‭‭‭‭jackl007

Cita de: Karcrack en  6 Octubre 2008, 23:26 PM
Bueno, aprovecho para hacer propaganda :-X, para el Ezine de CodeMakers he hecho un manual de como hacer un Keylogger con Hooks en VB, no utiliza Arrays ni nada por el estilo... no creo que tarde mucho en salir la Ezine :P




que buenooo =D
es un buen foro tambien

cobein

El hook global de teclado funciona bien pero tiene una desventaja muy grande, con cualquier programa como ser el IceSword se puede detectar a simple vesta.
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

Karcrack

Cita de: aaronduran2 en  6 Octubre 2008, 23:28 PM
No es que mostrase un error, el IDE de VB se me cerraba repentinamente y me mostraba el típico error de enviar o no el informe de errores.

Saludos.
Bueno, supongo que te refieres a que se Crashea la IDE, sale un mensaje que no se pudo escribir en la memoria blabla?

Si es asi es porque haces el hook mal...

Saludos ;)

aaronduran2

Sustituí el código que mencioné arriba por otro que comprobaba si el valor de keyCode era igual al valor de una tecla. Antes de hacerlo funcionaba correctamente.

Saludos.

Karcrack

Cita de: aaronduran2 en  7 Octubre 2008, 15:14 PM
Sustituí el código que mencioné arriba por otro que comprobaba si el valor de keyCode era igual al valor de una tecla. Antes de hacerlo funcionaba correctamente.

Saludos.
Pega el codigo actual, talvez te falta llamar al API CallNextHook...

Saludos ;)

aaronduran2

#8
Código (vb) [Seleccionar]
Public Function KeyboardProc(ByVal ncode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

'Comprobamos que se haya pulsado una tecla
If wParam = WM_KEYDOWN Then
    'copiamos el codigo de la tecla(no es el ASCII , se manejan codigos aparte)
Call CopyMemory(hookKey, ByVal lParam, Len(hookKey))
keyCode = hookKey.code

Select Case keyCode
    Case 8
        TextoKeylogger = "[TAB]"
End Select

End If


'Si no se reconoce la tecla pulsada, se pasa de largo
KeyboardProc = CallNextHookEx(hook, ncode, wParam, lParam)
End Function


Solo con eso ya me falla, y se llama perfectamente a CallNextHookEx. No sé en que me equivoqué.

Saludos.

Freeze.

#9
Cambia esto:
keyCode = hookKey.code
por esto:
keyCode = hookKey.vkcode