Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Imports System.Text.RegularExpressions
Imports System.Timers
Module Module1
WithEvents MainTimer As New System.Timers.Timer
Dim Timer_value = 0
Dim Url_Vote
Dim Identifiant
Dim Mot_de_passe
Sub Main()
MainTimer.Interval = 1000
Console.WriteLine("RequestPwN v2.0 millenium-servers.com, MAXIGOLO 2013")
Console.WriteLine("")
Console.WriteLine("Vous devez être identifié pour voter sur millenium-servers.com")
Console.WriteLine("")
Console.WriteLine("Nom d'utilisateur :")
Identifiant = Console.ReadLine
Console.WriteLine("Mot de passe :")
Mot_de_passe = Console.ReadLine
Serveur_Connexion(Identifiant, Mot_de_passe)
Attente()
End Sub
Sub Serveur_Connexion(ByVal Username, ByVal password)
Try
Dim requestConnect As HttpWebRequest = WebRequest.Create("http://millenium-servers.com/newvoter.php")
requestConnect.Method = "POST"
Dim postDataConnect As String = "connexion_active=yes&connexion_username=" + Username + "&connexion_password=" + password
Dim byteArrayConnect As Byte() = Encoding.UTF8.GetBytes(postDataConnect)
requestConnect.ContentType = "application/x-www-form-urlencoded"
requestConnect.ContentLength = byteArrayConnect.Length
Dim dataStreamConnect As Stream = requestConnect.GetRequestStream()
dataStreamConnect.Write(byteArrayConnect, 0, byteArrayConnect.Length)
dataStreamConnect.Close()
requestConnect.CookieContainer = New CookieContainer()
Dim responseConnect As HttpWebResponse = requestConnect.GetResponse()
dataStreamConnect = responseConnect.GetResponseStream()
Dim readerConnect As New StreamReader(dataStreamConnect)
Dim responseFromServerConnect As String = readerConnect.ReadToEnd()
If InStr(1, responseFromServerConnect, "index.php?deco=1", 0) <> 0 Then
Console.Clear()
Console.WriteLine("RequestPwN v2.0 millenium-servers.com, MAXIGOLO 2013")
Console.WriteLine("")
Console.WriteLine("Reponse serveur : Salut, " + Identifiant + "!")
Vote_Chargement(responseFromServerConnect, requestConnect.CookieContainer)
Else
Reponse_Connexion_Server(responseFromServerConnect)
Console.WriteLine("")
Console.WriteLine("Nom d'utilisateur :")
Identifiant = Console.ReadLine
Console.WriteLine("Mot de passe :")
Mot_de_passe = Console.ReadLine
Serveur_Connexion(Identifiant, Mot_de_passe)
End If
Catch
Console.WriteLine("Erreur de connexion (Fonction : Serveur_Connexion)")
End Try
End Sub
Sub Vote_Chargement(ByVal Source, ByVal Session_PHP)
Try
Url_Vote = ""
Dim InlineRegex As String = ".([^>]{7})\n\{display : inline;\}"
Dim InlineMatches As MatchCollection = Regex.Matches(Source, InlineRegex)
For Each InlineMatche As Match In InlineMatches
Dim ClassRegex As String = "onClick=""Voter\(([^>]*)\, ''\, ([^>]*), this\);"" class=""" + InlineMatche.Groups(1).Value + """>"
Dim ClassMatches As MatchCollection = Regex.Matches(Source, ClassRegex)
For Each ClassMatche As Match In ClassMatches
Dim VerifRegex As String = "&voteVerif=([^>]*)&c=temp&css="
Dim VerifMatches As MatchCollection = Regex.Matches(Source, VerifRegex)
For Each VerifMatche As Match In VerifMatches
Url_Vote = "http://millenium-servers.com/newvoter.php?voteID=" + ClassMatche.Groups(1).Value + "&voteVerif=" + VerifMatche.Groups(1).Value + "&c=temp&css=" + ClassMatche.Groups(2).Value
Serveur_Vote(Url_Vote, Session_PHP)
Next
Next
Next
If Url_Vote = "" Then
Serveur_Vote("http://millenium-servers.com/newvoter.php", Session_PHP)
End If
Catch
Console.WriteLine("Erreur de lecture des données (Fonction : Vote_Chargement)")
End Try
End Sub
Sub Serveur_Vote(ByVal Url_Vote, ByVal Session_PHP_1)
Try
Dim requestConnect As HttpWebRequest = WebRequest.Create(Url_Vote)
requestConnect.CookieContainer = Session_PHP_1
requestConnect.Method = "POST"
Dim postDataConnect As String = ""
Dim byteArrayConnect As Byte() = Encoding.UTF8.GetBytes(postDataConnect)
requestConnect.ContentType = "application/x-www-form-urlencoded"
requestConnect.ContentLength = byteArrayConnect.Length
Dim dataStreamConnect As Stream = requestConnect.GetRequestStream()
dataStreamConnect.Write(byteArrayConnect, 0, byteArrayConnect.Length)
dataStreamConnect.Close()
Dim responseConnect1 As HttpWebResponse = requestConnect.GetResponse()
dataStreamConnect = responseConnect1.GetResponseStream()
Dim responseConnect As HttpWebResponse = requestConnect.GetResponse()
Dim readerConnect As New StreamReader(dataStreamConnect)
Dim responseFromServerConnect As String = readerConnect.ReadToEnd()
Reponse_Vote_Server(responseFromServerConnect)
Prochain_vote()
Catch
Console.WriteLine("Erreur de connexion au serveur de vote (Fonction : Serveur_Vote)")
End Try
End Sub
Sub MainTimer_Elapsed(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs) Handles MainTimer.Elapsed
Try
Timer_value -= 1
If Timer_value = 0 Then
MainTimer.Stop()
Serveur_Connexion(Identifiant, Mot_de_passe)
End If
Catch
Console.WriteLine("Erreur du minuteur de l'application (Fonction : MainTimer_Elapsed)")
End Try
End Sub
Sub Reponse_Vote_Server(ByVal Reponse_Vote_Html)
Try
If InStr(1, Reponse_Vote_Html, "Vous pourrez voter dans", 0) = 0 Then
If InStr(1, Reponse_Vote_Html, "OK_VOTE", 0) <> 0 Then
Console.WriteLine("Reponse serveur : OK_VOTE")
Else
If InStr(1, Reponse_Vote_Html, "OK_POINT", 0) <> 0 Then
Console.WriteLine("Reponse serveur : OK_POINT")
Else
If InStr(1, Reponse_Vote_Html, "ERROR_BOT", 0) <> 0 Then
Console.WriteLine("Reponse serveur : ERROR_BOT")
Else
Console.WriteLine("Impossible de comprendre la reponse du serveur")
End If
End If
End If
Else
Dim VoteRegex As String = "Vous pourrez voter dans([^>]*)<br/>"
Dim VoteMatches As MatchCollection = Regex.Matches(Reponse_Vote_Html, VoteRegex)
For Each VoteMatche As Match In VoteMatches
Console.WriteLine("Reponse serveur : Vous pourrez voter dans " + Replace(Replace(VoteMatche.Groups(1).Value(), Chr(10), ""), Chr(9), ""))
Next
End If
Catch
Console.WriteLine("Erreur de la réponse de vote (Fonction : Reponse_Vote_Server)")
End Try
End Sub
Sub Reponse_Connexion_Server(ByVal Reponse_Connexion_Html)
Try
If InStr(1, Reponse_Connexion_Html, "Mauvais compte/mot de passe", 0) <> 0 Then
Console.WriteLine("Reponse serveur : Mauvais compte/mot de passe")
Else
Dim ErreurRegex As String = "Erreur. Retentez dans ([^>]*) </center>"
Dim ErreurMatches As MatchCollection = Regex.Matches(Reponse_Connexion_Html, ErreurRegex)
For Each ErreurMatche As Match In ErreurMatches
Console.WriteLine("Reponse serveur : Erreur. Retentez dans " + ErreurMatche.Groups(1).Value)
Next
End If
Catch
Console.WriteLine("Erreur de reponse de connexion (Fonction : Reponse_Connexion_Server)")
End Try
End Sub
Sub Prochain_vote()
Try
Randomize()
Timer_value = Int(Rnd() * (1200 + 1 - 600)) + 600
Dim Heure_Prochain_Vote As Date = Now
Heure_Prochain_Vote = Heure_Prochain_Vote.AddMinutes(Timer_value / 60)
MainTimer.Start()
Console.WriteLine("Prochaine tentative de vote à " + Format(Heure_Prochain_Vote, "HH:mm:ss"))
Catch
Console.WriteLine("Erreur de la prochaine tentative de vote (Fonction : Prochain_vote)")
End Try
End Sub
Sub Attente()
Console.ReadLine()
Attente()
End Sub
End Module
Enjoy ;)
Maxime
Last edited: