Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: m[a]rkus en 18 Septiembre 2009, 02:19 am



Título: |VB| Dudas sobre Protocolo MSN
Publicado por: m[a]rkus en 18 Septiembre 2009, 02:19 am
Hola a todos, eh creado este tema para todo aquel que tenga dudas con respecto al protocolo MSN y el uso del mismo en visual basic. Comenzare yo  ...

Ya estoy conectado a una cuenta mia de MSN, sincronizados los contactos, perfectamente en funcionamiento el evento "PING" de msn, pero ahora quiero cambiar el nick de esa cuenta y segun el protoclo es asi :

Código:
REA TrID tu_cuenta_de_hotmail@hotmail.com nuevo_nick

Y asi lo tengo yo en el evento "Command1_Click"
Código:
Private Sub Command1_Click()
SEG.SendData "REA 5 " & Replace(usuario.Text, "@", "%40") & " " & Replace(Text2.Text, " ", "%20") & vbCrLf
End Sub

Entonces cuando envio eso me responde el servidor:
Citar
Servidor2 >216 5

La verdad no tengo ni ida de que significa esos números. Si alguien sabe la respuesta a esto agradecería que fuera posteada gracias..



Citar
SOLUCIONADO:

Pues ahora mismo me di cuenta que el error estaba en la conversion no hace falta poner "cuenta%40hotmail.com" sino de forma "cuenta@hotmail.com" y el servidor deberia enviarles esto:

Citar
Servidor2 >REA 5 1 cuenta@hotmail.es Locote

Al final quedo así el código:

Código:
Private Sub Command1_Click()
SEG.SendData "REA 5 " & usuario.Text & " " & Replace(Text2.Text, " ", "%20") & vbCrLf
End Sub


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: m[a]rkus en 18 Septiembre 2009, 02:22 am
Evento PING de protocolo MSN:

Para todo aquel que tenga problemas con el cliente que este creando y a los 50 segundos el server lo desconecte, pego este trozo de codigo que es la parte esencial del evento PING de MSN.

Código:
Private Sub PING()
Dim BUG1() As String
Dim Fijo As String
Fijo = "Q1P7W2E4J9R8U3S5"
BUG1 = Split(conca, vbCrLf)
conca = BUG1(0) & Fijo
Monitor2.Text = Monitor2.Text & "Cliente > Cargada Variable para cifrar: " & conca & vbCrLf
hmd5 = oMD5.MD5(conca)
SEG.SendData "QRY 1049 msmsgs@msnmsgr.com 32" & vbCrLf
SEG.SendData hmd5
Monitor2.Text = Monitor2.Text & "Cliente > Enviando Codificacion MD5 del PING: " & hmd5 & vbCrLf
Monitor2.Text = Monitor2.Text & "Cliente > Enviando Respuesta QRY despues de 50 seg" & vbCrLf
End Sub

Cualquier duda postear y respondere mientras pueda.


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: m[a]rkus en 18 Septiembre 2009, 19:00 pm
Hola otra vez, tengo problemas para enviar mensajes a un contacto, segun el protocolo tengo que enviar esto:

Código:
SEG.SendData "XFR 5 SB" & vbCrLf

A lo que me responde el MSN Server con esto:

Código:
XFR 5 SB 65.54.48.118:1863 CKI 1068799700.11777157.105189171

Entonces en teoria despues tengo que conectarme a esa IP y ese Puerto:

 
Código:
Case "XFR"
  Dim serverconver As String
  Dim subserver() As String
  serverconver = sbuff(3)
  subserver = Split(serverconver, ":")
  Conserver = subserver(0)
  Porserver = subserver(1)
  Monitor2.Text = Monitor2.Text & "INFO >" & "Iniciando conexion con server de conversación" & vbCrLf
  'MsgBox (subserver(0) & subserver(1))
  codcon = sbuff(5)
  conver.Connect Conserver, Porserver

Una vez conectado enviar esto:

Código:
conver.SendData "USR 1 hack.markus@hotmail.es " & codcon & vbCrLf

Citar
codcon = Numero de seguridad 1068799700.11777157.105189171

Entonces si todo sale bien envia esto:

Código:
USR 1 OK usuario@hotmail.es Markus

Hasta ahí todo bien, lo malo del tema es que instantáneamente que me envía ese mensaje el servidor pierdo la conexión con la IP de conversación, si alguien conoce el motivo me lo diga no encuentro ejemplos o información por ningún sitio. Gracias


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: m[a]rkus en 21 Septiembre 2009, 10:42 am
Bueno pues va a ser que a nadie le ah pasado esto. Cuando encuentre la solución la posteo por si en un futuro le sucede a alguien.



Citar
Solucionado:

Me faltaba un "espacio" entre dos palabras, por eso me desconectaba.


Título: Como Enviar Zumbidos por el protocolo MSN:
Publicado por: m[a]rkus en 23 Septiembre 2009, 10:50 am
Hola tengo una interesante pregunta, de como enviar zumbidos desde el cliente que estoy haciendo hacia cualquier otro, supongo que sea un mensaje y que los clientes lo interpreten como un Zumbido, pero no lo encuentro en ninguna parte asi que intentare pedirle a algún contacto mio que le haga zumbido a ver que me envia el server y asi comprobar si yo enviando lo mismo funciona.




Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: m[a]rkus en 25 Septiembre 2009, 02:50 am
Asi esta quedando:

(http://img195.imageshack.us/img195/5179/msnd15bymarkus.jpg)


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: mujot en 1 Octubre 2009, 06:15 am
Hola

Muy interesante tu proyecto!! Se ve muy bien  ;-)

¿Podrías postear el código fuente para descargar?  :rolleyes:

O aunque sea el protocolo... llevo tiempo buscandolo para hacer algo, encontré varios pero desactualizados.  :-\

Saludos!


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: Ari Slash en 1 Octubre 2009, 08:46 am
que interesante tema
muy bueno  ;)

salu2


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: fary en 1 Octubre 2009, 20:17 pm
hola buenas
yo estoy intentando acer un autonick cambiante  y e intentado utilizar el codigo que puso Markus el primero de todos y nada no me funciona no tengo ni idea de xk es alguien me podria responder????

Salu2


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: m[a]rkus en 3 Octubre 2009, 02:29 am
Hola Fary94, pues el para cambiar el nick automático solo debes poner una condicional que cuando conecte envié este mensaje al server:

Citar
REA 5 pepe@hotmail.com mi%20super20%nick & vbCrLf


Por ejemplo yo lo tengo puesto el usuario en un Textbox y tengo un Command que cuando le doy click me envia el siguiente comando:

Código:
Private Sub Command1_Click()
SEG.SendData "REA 5 " & usuariox.Text & " " & Replace(Text2.Text, " ", "%20") & vbCrLf
End Sub

SEG = Nombre del Sock
usuariox = un Txt con el usuario actualmente conectado al MSN ejemplo : lofj23@hotmail.com
Text2 = Pues eso... ahi pongo el nick que quiero. Ejemplo: loco de locos

Importante: Fijate que se cambia en el nuevo nick el espacio " " por "%20" , pero en el usuario no, en el usuario no cambies la "@" por "%40" simplemente ponla natural.



Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: fary en 4 Octubre 2009, 23:17 pm
gracias Marcus aora provare y te comento como me fue....

Salu2!


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: fary en 5 Octubre 2009, 15:28 pm
nose que ago mal pero no me funca.... para empezar esto:
Código:
REA 5 pepe@hotmail.com mi%20super20%nick & vbCrLf
me da error en el vb ... ayuda y saludos!


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: m[a]rkus en 5 Octubre 2009, 19:03 pm
Si te da error el VB explicate que error da o sino sube el codigo fuente, debes saber que para enviar eso es logico que debes estar conectado al servidor de MSN. Un consejo sube el codigo o pegalo aqui asi te ayudo mas rapido sino seria tirar piedras a ciegas.


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: fary en 5 Octubre 2009, 22:32 pm
Hola Marcus mira este trozo no me lo admite el vb
Código:
REA 5 pepe@hotmail.com mi%20super20%nick & vbCrLf

y est ees el codigo entero que pongo:

Código:
REA 5 pepe@hotmail.com mi%20super20%nick & vbCrLf
Private Sub Command1_Click()
SEG.SendData "REA 5 " & usuario.Text & " " & Replace(Text2.Text, " ", "%20") & vbCrLf
End Sub

pongo un boton y dos textos


haber si ves mi fallo.

Zalu2!


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: m[a]rkus en 8 Octubre 2009, 11:20 am
Bueno creo o es idea mia que estas haciendo un form incluyes un boton y nada mas ?

Ese codigo que te eh puesto es el que debes poner una vez conectado POR TU PROGRAMA USANDO EL PROTOCOLO, no desde el "Windows Live messenger" para cambiar el nick de un usuario de hotmail debes hacer estos pasos:

1-) Conectar usando el usuario y contraseña desde protocolo con VB..
2-) Poner el Command y dentro del Command eso que te puse.

Pero para conectar a MSN no es cosa facil, digamos que es algo complicadillo la primera vez, ahi que conectar a varios servidores, enviar autoidentificaciónes encriptadas. De todas formas aqui te paso un tutorial...

www.telefonica.net/web2/telamarinera/docus/protocolo_msn.pdf (http://www.telefonica.net/web2/telamarinera/docus/protocolo_msn.pdf)

En ese tutorial esta todo bien solo hasta la parte que tienes que conectar al servidor "login.live.com" que debes ignorar esa parte y agregar esta función a tu programa.

Código:
Public Function Passport() As String

    oWinHTTP.Open "GET", "https://nexus.passport.com/rdr/pprdr.asp"
    oWinHTTP.send
    sFirstResponse = oWinHTTP.getAllResponseHeaders
    'sValue = oWinHTTP.getResponseHeader(sHeaderName)
    iDaLoginStart = InStr(1, sFirstResponse, "DALogin=") + 8
    iDaLoginEnd = InStr(iDaLoginStart, sFirstResponse, ",")
    sDaLogin = Mid(sFirstResponse, iDaLoginStart, iDaLoginEnd - iDaLoginStart)
    oWinHTTP.Open "GET", "https://" & sDaLogin
    oWinHTTP.setRequestHeader "Authorization", "Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" & Replace(usuariox.Text, "@", "%40") & ",pwd=" & pass.Text & "," & Dlogin
    oWinHTTP.send
        sSecondResponse = oWinHTTP.getAllResponseHeaders
  
    If InStr(1, sSecondResponse, "Location:") > 0 Then
        iDaLocaStart = InStr(1, sSecondResponse, "Location: ") + 10
        iDaLocaEnd = InStr(iDaLocaStart, sSecondResponse, vbCrLf)
        sDaLoca = Mid(sSecondResponse, iDaLocaStart, iDaLocaEnd - iDaLocaStart)
        oWinHTTP.Open "GET", sDaLoca
        oWinHTTP.setRequestHeader "Authorization", "Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" & Replace(usuariox.Text, "@", "%40") & ",pwd=" & pass.Text & "," & Dlogin
        oWinHTTP.send
           If (iDaKeyStart = 9) And (iDaKeyEnd = 0) Then
        'Cuando la contraseña esta mal
        Set oWinHTTP = Nothing
        fals = 1
        Call Salir
        Call Recargar
        Exit Function
        End If
        sThirdResponse = oWinHTTP.getAllResponseHeaders
        iDaKeyStart = InStr(1, sThirdResponse, "from-PP=") + 9
        iDaKeyEnd = InStr(iDaKeyStart, sThirdResponse, "'")
    If (iDaKeyStart = 9) And (iDaKeyEnd = 0) Then
        'Cuando la contraseña esta mal
        Set oWinHTTP = Nothing
        fals = 1
        Call Salir
        Call Recargar
        Exit Function
        End If
        sDaKey = Mid(sThirdResponse, iDaKeyStart, iDaKeyEnd - iDaKeyStart)
        Passport = sDaKey
         Else
        iDaKeyStart = InStr(1, sSecondResponse, "from-PP=") + 9
        iDaKeyEnd = InStr(iDaKeyStart, sSecondResponse, "'")
        If (iDaKeyStart = 9) And (iDaKeyEnd = 0) Then
        'Cuando la contraseña esta mal
        Set oWinHTTP = Nothing
        fals = 1
        Call Salir
        Call Recargar
        Exit Function
        End If
        sDaKey = Mid(sSecondResponse, iDaKeyStart, iDaKeyEnd - iDaKeyStart)
        Passport = sDaKey
        Text4.BackColor = vbGreen
        SEG.SendData "USR 4 TWN S " & Passport & vbCrLf
        Call log
  
        End If
        End Function

PD: Tienes que crear un objeto y varias variables que ya al leer el codigo te daras cuenta.

Un saludo


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: iory330 en 9 Octubre 2009, 04:26 am
oe markus ers un  chucho= "Maestro !!!" ;-)
Lei sobr ;-)e este post antes, en una web q por ahora no me acuerdo xq deje eso de programacion maso medio año asi que q mi cerebro se ha oxidado un poco...
la info que brindaste esta re-buena y te felicito... Se puede hacer lo mismo con VB net? xq lei hace tiempo que decian que necesitaba un protocolo o una libreria del msn o algo parecido para hacerlo funkar pero uhm... yo buske esa nota y no lo encontre asi q me rendi y comenze a hacer otro tipos d programas....


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: m[a]rkus en 13 Octubre 2009, 02:04 am
Gracias por los alagos


Título: Re: |VB| Dudas sobre Protocolo MSN
Publicado por: m[a]rkus en 18 Febrero 2010, 00:01 am
Aquí en la primera pagina ahí un PDF que es un tutorial algo antiguo pero que funcionan muchas cosas y otras yo las explique en la primera pagina, solo debes leer amigo.