Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: darnali en 6 Abril 2010, 11:22 am



Título: enviar carácteres al foco del password de inicio de sesion de windows
Publicado por: darnali en 6 Abril 2010, 11:22 am
Hola a todos

Tengo un problema que hace dias me quita el sueño

Estoy programando en .NET con el Framework 2.0 y tengo un programa que lee del puerto de comunicaciones y escribe en el puerto de teclado, una cosa asi mas o menos:

Private Sub Port1_DataReceived(ByVal sender As System.Object, ByVal e As_ System.IO.Ports.SerialDataReceivedEventArgs) Handles port1.DataReceived
         Try       
            bytes_a_llegir = port1.BytesToRead
            port1.Read(buffer, 0, bytes_a_llegir)
            For k = 0 To bytes_a_llegir - 1
                paquet_rx = paquet_rx & Chr(buffer(k))
            Next
            llargada = Len(paquet_rx) 'len actual rebuda
            If llargada > 1 Then
                llargada_real = 34
                If llargada = llargada_real Then
                    For xx = 1 To Len(paquet_rx)
                        rx(xx) = Asc(Mid(paquet_rx, xx, 1))
                        paquet_ascii_rx = paquet_ascii_rx & Chr(rx(xx))
                    Next
                    enviar_teclado(paquet_ascii_rx)
                    paquet_rx = ""
                    paquet_ascii_rx = ""       
                End If
            End If
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try

    End Sub

Public Sub enviar_teclado(Byval paquet_enter As String)
        Try
            SendKeys.SendWait(paquet_enter + Chr(7) + Chr(13))
        Catch ex As Exception
        End Try
        llargada = 0
    End Sub

En principio es una aplicacion senzilla, lo he programado como un servicio de windows que se inicia automaticamente con una cuenta de "localsystem" y que interactua con el escritorio para no tener que abrir ninguna interficie grafica y que cuando lleguan datos por el puerto de comunicaciones salta el evento de recepcion del SerialData y lo envia con el Sendkeys al "textbox" activo en cada momento, el problema viene cuando cierro sesion de windows con el usuario por ejemplo administrador y quiero escribir con este proceso al "textbox" donde pondria el password del usuario de windows, ahí el programa no funciona, no escribe nada en ese "textbox", teniendo en cuenta que el servicio sigue en marxa, pero lo he estado depurando y me doy cuenta de que el comando sendkeys no funciona correctamente en el entorno de winlogon, es decir cuando estoy en el escritorio default (el de toda la vida) funciona sin problemas, pero cuando estoy en el otro "escritorio" o dicho de otra manera, cuando estoy en el lugar de poner el usuario i contrasenya, no va, simplemente no funciona.

He estado mirando alterntivas y con api's de VB tampoco funciona

Alguien sabe porque no puedo escribir con el comando sendkeys en el "textbox" de inicio de sesion de windows? Hay alguna alternativa al comando sendKeys, que no sean api's claro esta!

Saludos y perdon por el toston!

Att. Darnali



Título: Re: enviar carácteres al foco del password de inicio de sesion de windows
Publicado por: [D4N93R] en 7 Abril 2010, 16:38 pm
Qué nos la pusiste difícil.. xD

Aún estoy tratando de resolverlo.. Pero si tiene que haber forma ya que hay varios softwares de reconocimiento facial que escriben tu password en el logon.. entonces si ellos lo hacen, por qué nosotros no? xD


Título: Re: enviar carácteres al foco del password de inicio de sesion de windows
Publicado por: darnali en 7 Abril 2010, 17:05 pm
jeje, si esta dificil la verdad, y tambien tienes razon en que se tiene que poder hacer de algun modo!!, pero me he estado devanando los sesos en el problema y no conseguí sacar nada en claro, solo que el sendkeys no funciona como con el escritorio... no tiene que ser simple del todo, supongo porque sino lo hubiese sacado, supongo tambien XD

Muchas gracias por responder!!

yo continuare investigando si lo saco lo posteo, pero no se yo... XD


Título: Re: enviar carácteres al foco del password de inicio de sesion de windows
Publicado por: [D4N93R] en 9 Abril 2010, 20:38 pm
Yo creo que no funciona el SendKeys por cuestiones de seguridad. Así que posiblemente sea alguna API especial..


Título: Re: enviar carácteres al foco del password de inicio de sesion de windows
Publicado por: darnali en 12 Abril 2010, 09:44 am
bueno, seguramente... pero no se cual...  :(, voy a buscar a ver que encuentro, pero lo veo crudo...