Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Spider-Net en 28 Agosto 2007, 22:25 PM

Título: Duda sobre protocolos MSN en VB6
Publicado por: Spider-Net en 28 Agosto 2007, 22:25 PM
Hola, pues llevo más o menos toda la tarde líado con un intento de cliente de msn. Ya sé que hay muchos códigos por google y eso, pero no me gustan, hay algunos que tienen demasiado código basura que no me sirve de nada, he leído bastante sobre los protocolos de MSN y creo que tengo ya una idea de como funcionan y si no me equivoco esto que hice, está correcto, sé que puede optimizarse, y lo haré pero de momento simplemente quería que conectase, el problema es que no lo hace. En el data_arrival del socket una vez conectado he capturado los datos que recibe y me sale ???????????????

No sé que pasará por eso os pido ayuda a ver si sabéis ayudarme un poco, el código es el siguiente:

Código (vb) [Seleccionar]
Dim data, aux, keys As String
Dim vaux As Variant

Private Sub Command1_Click()
Winsock1.Connect "messenger.hotmail.com", 1863
End Sub

Private Sub Winsock1_Connect()
Winsock1.SendData "VER 1 MSNP8 CVR0" & vbCrLf
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData data
Winsock1.GetData aux
data = Left(data, 3)

Select Case data

Case "VER"
Winsock1.SendData "CVR 2 0x0C0A winnt 5.1 i386 MSNMSGR 7.5.0311 MSMSGS " & Text1.Text & vbCrLf

Case "CVR"
'//EL TEXT1.TEXT CONTIENE LA CUENTA CON LA QUE QUIERO CONECTAR
Winsock1.SendData "USR 3 TWN I " & Text1.Text & vbCrLf


Case "XFR"  '//                       AQUÍ LO QUE HAGO ES COGER SOLO
aux = Mid(aux, 9, 18)             'LA PARTE DEL PAQUETE QUE TIENE LOS
vaux = Split(aux, ":")              'DATOS QUE ME INTERESAN
Winsock1.Close
Winsock2.Connect vaux(0), vaux(1)
End Select
End Sub


Private Sub Winsock2_Connect()
Winsock1.SendData "VER 4 MSNP8 CVR0" & vbCrLf
End Sub


Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
Winsock2.GetData data
Winsock2.GetData aux

Select Case data
data = Left(data, 3)
Case "VER"
Winsock2.SendData "CVR 5 0x0409 win 4.10 i386 MSNMSGR 5.0.0544 MSMSGS " & Text1.Text & vbCrLf

Case "CVR"
Winsock2.SendData "USR 6 TWN I " & Text1.Text & vbCrLf

Case "USR"
Dim a As Integer
a = Len(aux) - 11
keys = Mid(aux, 11, a)
Winsock3.Connect "login.passport.com", 443
End Select
End Sub

Private Sub Winsock3_Connect()
Winsock3.SendData "GET /login2.srf HTTP/1.0" & vbCrLf & _
                  "Accept: */*" & vbCrLf & _
                  "Host: login.passport.com" & vbCrLf & _
                  "Authorization: Passport1 0.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,signin=" & Text1.Text & ",pwd=password," & keys & vbCrLf

End Sub

Private Sub Winsock3_DataArrival(ByVal bytesTotal As Long)
Winsock3.GetData data
End Sub


Y bueno eso es todo el código, ni que decir tiene que no pasa ni de la primera acción, puse un timer que capturase en todo momento el valor "data" y desde que conecta y envía el primer comando ya el data se vuelve "????????" no sé por que, porque si hago los mismos pasos desde telnet o netcat me va devolviendo bien los valores.

Alguna idea para ayudarme por favor??

Gracias
Título: Re: Duda sobre protocolos MSN en VB6
Publicado por: APOKLIPTICO en 28 Agosto 2007, 23:02 PM
Lo que pasa es que tenes que convertirlos a unicode.
Código (vb) [Seleccionar]

Strconv(data, vbUnicode)


Saludos
Título: Re: Duda sobre protocolos MSN en VB6
Publicado por: Spider-Net en 28 Agosto 2007, 23:57 PM
Muchas gracias, por encima lo he probado y ya no me da ese error, pero no llega a completarse el proceso, lo voy a revisar y si no encuentro solución lo publico a ver si podéis ayudarme, gracias por tu ayuda APOKLIPTICO ;)

Saludos
Título: Re: Duda sobre protocolos MSN en VB6
Publicado por: Kizar en 28 Agosto 2007, 23:59 PM
Mira aki:
http://foro.elhacker.net/index.php/topic,174279.msg828579.html#msg828579
Título: Re: Duda sobre protocolos MSN en VB6
Publicado por: Spider-Net en 29 Agosto 2007, 00:29 AM
OK ;) Ya lo tengo funcionando, muchísimas gracias por tu post KiZaR

Saludos