Foro de elhacker.net

Programación => 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
  1. Dim data, aux, keys As String
  2. Dim vaux As Variant
  3.  
  4. Private Sub Command1_Click()
  5. Winsock1.Connect "messenger.hotmail.com", 1863
  6. End Sub
  7.  
  8. Private Sub Winsock1_Connect()
  9. Winsock1.SendData "VER 1 MSNP8 CVR0" & vbCrLf
  10. End Sub
  11.  
  12. Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  13. Winsock1.GetData data
  14. Winsock1.GetData aux
  15. data = Left(data, 3)
  16.  
  17. Select Case data
  18.  
  19. Case "VER"
  20. Winsock1.SendData "CVR 2 0x0C0A winnt 5.1 i386 MSNMSGR 7.5.0311 MSMSGS " & Text1.Text & vbCrLf
  21.  
  22. Case "CVR"
  23. '//EL TEXT1.TEXT CONTIENE LA CUENTA CON LA QUE QUIERO CONECTAR
  24. Winsock1.SendData "USR 3 TWN I " & Text1.Text & vbCrLf
  25.  
  26.  
  27. Case "XFR"  '//                       AQUÍ LO QUE HAGO ES COGER SOLO
  28. aux = Mid(aux, 9, 18)             'LA PARTE DEL PAQUETE QUE TIENE LOS
  29. vaux = Split(aux, ":")              'DATOS QUE ME INTERESAN
  30. Winsock1.Close
  31. Winsock2.Connect vaux(0), vaux(1)
  32. End Select
  33. End Sub
  34.  
  35.  
  36. Private Sub Winsock2_Connect()
  37. Winsock1.SendData "VER 4 MSNP8 CVR0" & vbCrLf
  38. End Sub
  39.  
  40.  
  41. Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
  42. Winsock2.GetData data
  43. Winsock2.GetData aux
  44.  
  45. Select Case data
  46. data = Left(data, 3)
  47. Case "VER"
  48. Winsock2.SendData "CVR 5 0x0409 win 4.10 i386 MSNMSGR 5.0.0544 MSMSGS " & Text1.Text & vbCrLf
  49.  
  50. Case "CVR"
  51. Winsock2.SendData "USR 6 TWN I " & Text1.Text & vbCrLf
  52.  
  53. Case "USR"
  54. Dim a As Integer
  55. a = Len(aux) - 11
  56. keys = Mid(aux, 11, a)
  57. Winsock3.Connect "login.passport.com", 443
  58. End Select
  59. End Sub
  60.  
  61. Private Sub Winsock3_Connect()
  62. Winsock3.SendData "GET /login2.srf HTTP/1.0" & vbCrLf & _
  63.                  "Accept: */*" & vbCrLf & _
  64.                  "Host: login.passport.com" & vbCrLf & _
  65.                  "Authorization: Passport1 0.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,signin=" & Text1.Text & ",pwd=password," & keys & vbCrLf
  66.  
  67. End Sub
  68.  
  69. Private Sub Winsock3_DataArrival(ByVal bytesTotal As Long)
  70. Winsock3.GetData data
  71. End Sub
  72.  

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
  1. 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