Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Chief en 29 Septiembre 2005, 05:02 am



Título: Hooks, WH_KEYBOARD.
Publicado por: Chief en 29 Septiembre 2005, 05:02 am
hola, alguien tiene informacion sobre hooks, sobre la del teclado, es que quiero hacer un keylogger con hooks y no puedo encontrar la suficiente informacion como para que me ande bien.

Salu2!!! y muchas gracias.  ;)


Título: Re: Hooks, WH_KEYBOARD.
Publicado por: Chief en 1 Octubre 2005, 01:08 am
Nadie sabe como??
Pongo una respuesta para que no se pierda el post y no tener que abrir uno nuevo XP.
hey .Polux tu no sabes??

Salu2!! Muchas gracias.


Título: Re: Hooks, WH_KEYBOARD.
Publicado por: Kizar en 1 Octubre 2005, 01:18 am
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=47941&lngWId=1

Salu2


Título: Re: Hooks, WH_KEYBOARD.
Publicado por: NYlOn en 1 Octubre 2005, 01:19 am
Aca hay un ejemplo sacado del API-Guide 3.7
Lo paso tal cual esta:
Código:
'In a module
Public Const WH_KEYBOARD = 2
Public Const VK_SHIFT = &H10
Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public hHook As Long
Public Function KeyboardProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    'if idHook is less than zero, no further processing is required
    If idHook < 0 Then
        'call the next hook
        KeyboardProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
    Else
        'check if SHIFT-S is pressed
        If (GetKeyState(VK_SHIFT) And &HF0000000) And wParam = Asc("S") Then
            'show the result
            Form1.Print "Shift-S pressed ..."
        End If
        'call the next hook
        KeyboardProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
    End If
End Function

'In a form, called Form1
Private Sub Form_Load()
    'KPD-Team 2000
    'URL: http://www.allapi.net/
    'E-Mail: KPDTeam@Allapi.net
    'set a keyboard hook
    hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardProc, App.hInstance, App.ThreadID)
End Sub
Private Sub Form_Unload(Cancel As Integer)
    'remove the windows-hook
    UnhookWindowsHookEx hHook
End Sub

Espero que te sirva !

salu2 ;)


Título: Re: Hooks, WH_KEYBOARD.
Publicado por: Chief en 1 Octubre 2005, 01:27 am
Bueno gracias NylOn y Dexonline, el codigo de la guia de api ya lo habia probado, haunque se repiten las teclas como 3 veces, pero bueno ya veo como me las arreglo, con voy a probar, modificar, etc.

Salu2!!! ;)


Título: Re: Hooks, WH_KEYBOARD.
Publicado por: Kizar en 1 Octubre 2005, 01:29 am
No, compila el ejecutable, ya veras como solo captura 1 vez cada tecla, a mi me va de lujo, pruevalo

Salu2


Título: Re: Hooks, WH_KEYBOARD.
Publicado por: NYlOn en 1 Octubre 2005, 01:41 am
Estaba hablando de mi codigo xDDDD

salu2 !


Título: Re: Hooks, WH_KEYBOARD.
Publicado por: Chief en 1 Octubre 2005, 04:50 am
hay ta si funca bien Dexonline, gracias.
Salu2!!