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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Bloquear teclado desde VB?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Bloquear teclado desde VB?  (Leído 13,503 veces)
Sanlegas

Desconectado Desconectado

Mensajes: 131


https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-


Ver Perfil
Bloquear teclado desde VB?
« en: 7 Mayo 2011, 20:04 pm »

Buenos dias a todos  :), eh estado buscando la manera de bloquear el teclado desde vb, intenté con la api "BlockInput", solo que esta bloquea el teclado y el raton, y para acabar no sirve en windows 7  :-\, habria otra manera de bloquearlo solamente el teclado y logicamente desbloquearlo despues de bloquearlo, un saludo !


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Bloquear teclado desde VB?
« Respuesta #1 en: 7 Mayo 2011, 20:52 pm »

Puedes buscar los famosos KeyLoggers (Hacer hook al teclado) y asi capturar todos las teclas hasta que tu decidas cuando terminarlo

[VB6] Creacion de un Keylogger 'avanzado' {HOOK}


En línea

Sanlegas

Desconectado Desconectado

Mensajes: 131


https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-


Ver Perfil
Re: Bloquear teclado desde VB?
« Respuesta #2 en: 7 Mayo 2011, 21:49 pm »

Fue lo que pensé, pero se podrá cancelar el tecleo de cualquier tecla?, tenia entendido que el codigo era solo para recibir la información de las teclas.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Bloquear teclado desde VB?
« Respuesta #3 en: 7 Mayo 2011, 22:42 pm »

La funcion que apunta el hookeo, devuelve un valor, que es la tecla en cuestion, no solamente se pueden cancelar teclas, sino cambiar su codigo. O sea, puedo hacer que presionando la tecla espacio, le hago creer a windows que se presiono la tecla borrar (backspace)

Si la funcion devuelve 0 (cero), simplemente estas cancelando la tecla, como si nunca se hubiera presionado
En línea

Sanlegas

Desconectado Desconectado

Mensajes: 131


https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-


Ver Perfil
Re: Bloquear teclado desde VB?
« Respuesta #4 en: 8 Mayo 2011, 00:05 am »

ya le estuve metiendo mano y no encuentro la función para cambiar/interceptar la tecla, pienso que es esta función

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
  17.  

y para cambiar la tecla seria cambiar el contenido de KeyBoardHook.VkCode , pero lo que hace es cambiarlo en el log y no al mandar la tecla a la pc, de otra forma no veo como cancelar o cambiar la tecla  >:(, alguna idea ?
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Bloquear teclado desde VB?
« Respuesta #5 en: 8 Mayo 2011, 00:25 am »

Esa función esta bien hecha para su fin (keylogger, guardar la tecla presionada), pero en tu caso no te sirve, nCode es el numero de por cuantos hooks le faltan, por lo que a 0 es la ultima operación, si lo cambias ahí, habría temas de lógica, no se sabe si windows lo tomara, si otro keylogger (por ejemplo) ya guardo la tecla.

algo así debería quedar tu función

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.    ' A mi me gusta llamarlo mas con el nombre original, RtlMoveMemory, pero para gustos colores
  5.    Call CopyMemory(KeyBoardHook, lParam, Len(KeyBoardHook))
  6.  
  7.    If KeyBoardHook.vkCode = VK_(TeclaABloquear) then wParam = 0
  8.    If KeyBoardHook.vkCode = VK_(TeclaACambiar) then wParam = VK_(nueva tecla)
  9.  
  10.  
  11.    KBProc = CallNextHookEx(KBHook, nCode, wParam, VarPtr(KeyBoardHook))
  12. End Function
  13.  

VK_ Es una enumeracion, que en la mayoria coincide con vbKeys, pero no todas son las misma. Aca podes ver la enumeracion completa
« Última modificación: 8 Mayo 2011, 00:30 am por raul338 » En línea

Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: Bloquear teclado desde VB?
« Respuesta #6 en: 8 Mayo 2011, 00:26 am »

Mirá tenía 1 modulo de como bloquear teclado por una parte y mouse por otra, acá dejo el modulo:

Código
  1. Option Explicit
  2.  
  3. 'Declare needed functions from Windows API
  4. Private 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
  5. Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
  6.  
  7. 'Keyboard related Constants and Structs
  8. Private Const WH_KEYBOARD_LL As Byte = 13
  9.  
  10. 'Keyboard related variables
  11. Private IdKeyBoard As Long
  12.  
  13. 'Mouse related Constants and Structs
  14. Private Const WH_MOUSE_LL As Byte = 14
  15.  
  16. 'Mouse related variables
  17. 'Dim p2 As MSLLHOOKSTRUCT
  18. Private IdMouse As Long
  19.  
  20. 'función que desactiva el teclado
  21. '''''''''''''''''''''''''''''''''
  22. Public Function WinProcKeyBoard(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  23. WinProcKeyBoard = -1
  24. End Function
  25.  
  26. 'Función que desactiva el Mouse
  27. '''''''''''''''''''''''''''''''
  28. Public Function WinProcMouse(ByVal nCode As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  29. WinProcMouse = -1
  30. End Function
  31.  
  32. ' Sub que instala los Hook para bloquear el teclado y mouse
  33. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  34. Public Sub Bloquear()
  35. 'Deshabilita el teclado
  36. 'IdKeyBoard = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf WinProcKeyBoard, App.hInstance, 0)
  37. 'Deshabilita el mouse
  38. If IdMouse <> 0 Then Exit Sub
  39. IdMouse = SetWindowsHookEx(WH_MOUSE_LL, AddressOf WinProcMouse, App.hInstance, 0)
  40. End Sub
  41.  
  42. Public Sub Desbloquear()
  43. ' Vuelve a Habilitar el teclado
  44. 'If IdKeyBoard <> 0 Then UnhookWindowsHookEx IdKeyBoard
  45. ' Vuelve a Habilitar el mouse
  46. If IdMouse <> 0 Then UnhookWindowsHookEx IdMouse
  47. End Sub
  48.  

yo creo q usaba el bloquear solo para el mouse, pero descomentalo y listo. :D
En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
Sanlegas

Desconectado Desconectado

Mensajes: 131


https://fbcdn-sphotos-e-a.akamaihd.net/hphotos-ak-


Ver Perfil
Re: Bloquear teclado desde VB?
« Respuesta #7 en: 8 Mayo 2011, 00:46 am »

Muchas gracias por su ayuda   :D

@Miseryk tu code va de 10  :P  ;-) (falta probarlo con 7)

hasta luego !  ;)
En línea

Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: Bloquear teclado desde VB?
« Respuesta #8 en: 9 Mayo 2011, 22:19 pm »

Muchas gracias por su ayuda   :D

@Miseryk tu code va de 10  :P  ;-) (falta probarlo con 7)

hasta luego !  ;)

Me alegro :), en w7 tiene que funcar, =mente depende del SO... xq hay muchos w7, en el q usaba, funcaban to2 los programas de VB con las llamadas viejas a funciones de W XP.
En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Bloquear el teclado desde Visual Basic
Programación Visual Basic
TheWarrior 7 8,981 Último mensaje 22 Enero 2007, 18:02 pm
por ~~
Bloquear teclado
Programación Visual Basic
charl_1310 4 2,521 Último mensaje 17 Agosto 2007, 23:11 pm
por CARRY-ON
Bloquear teclado, mouse y pantallas
Programación Visual Basic
danielajordana 2 6,691 Último mensaje 14 Diciembre 2007, 00:03 am
por crauss
Como bloquear teclado y raton en java?
Java
INFORMATICO95 3 8,053 Último mensaje 17 Abril 2008, 22:19 pm
por Casidiablo
Bloquear el teclado
.NET (C#, VB.NET, ASP)
Sentex 3 3,248 Último mensaje 2 Junio 2017, 21:56 pm
por Sentex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines