Torna al Thread

Imports System Imports System.Net.Sockets Imports System.Net Imports System.Text Imports System.Threading Public Class Connect '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= ' NO ERORRI RAM '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Public port As UInteger Public clientgen As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) Public Evento As New ManualResetEvent(False) Dim p As New AsyncCallback(AddressOf accetta) Public Function bannaipbassolivello(ByVal ip As String, ByRef client As Socket) As Boolean If Module1.impostazioni.arraysyn.Contains(ip) Then Dim c As New Firewall c.ip = ip client.Close() If Module1.impostazioni.sottoattacco Then c.manda = False End If c.banna() Module1.protocol.connessionirifiutate += 1 Return True Else Module1.impostazioni.arraysyn.Add(ip) End If Return False End Function Public Sub bannasub(ByVal ip As String, ByRef chi As Socket) Dim c As New Firewall c.ip = ip chi.Close() If Module1.impostazioni.sottoattacco Then c.manda = False End If c.banna() Module1.protocol.connessionirifiutate += 1 End Sub Public Sub accetta(ByVal ar As IAsyncResult) Evento.Set() Dim us As New User us.time.Enabled = True Try us.client = CType(ar.AsyncState, Socket).EndAccept(ar) Try us.ip = CType(us.client.RemoteEndPoint, IPEndPoint).Address.ToString If (us.client.Available - 5) Mod 7 <> 0 And us.client.Available <> 0 Then Module1.impostazioni.accettaint += 1 If Module1.impostazioni.arrayset(28) = False Then GoTo nulla If Module1.impostazioni.accettaint > Module1.protezione.spoofing Then If Module1.impostazioni.sottoattacco = False Then Module1.impostazioni.sottoattacco = True Dim b As New Spoofing b.connessioni = Module1.protocol.connessionirifiutate b.porta = port Dim thr As New Thread(AddressOf b.parti) thr.Start() End If End If bannasub(us.ip, us.client) nulla: Exit Sub Else If Module1.impostazioni.arrayset(29) Then If bannaipbassolivello(us.ip, us.client) Then Exit Sub End If End If If Module1.impostazioni.banip Then If Module1.controllasebannato(us.ip, us) Then Module1.mandabot("Your IP Is Banned", us) Module1.protocol.connessionirifiutate += 1 Module1.disconnettiuser(us) Exit Sub End If End If If Module1.impostazioni.arrayset(3) Then If Module1.impostazioni.arrayprotected.Contains(us.ip) = False Then Dim conto As UInteger For Each asd As User In Module1.impostazioni.users If asd.ip = us.ip Then conto += 1 End If Next If conto > Module1.protezione.ip Then Module1.mandabot("Il tuo IP è gia Presente in HUB", us) Module1.altrobanip(us.ip) Module1.mandaopchat("L'ip: " & us.ip & " è stato bannato, Double IP Control", us) Module1.protocol.connessionirifiutate += 1 Module1.disconnettiuser(us) Exit Sub End If End If End If If Module1.impostazioni.arrayset(12) Then If Module1.impostazioni.arraysocks.Contains(us.ip) Then Module1.mandabot("Non è Permesso l'uso dei Socks", us) Module1.altrobanip(us.ip) Module1.mandaopchat("L'ip: " & us.ip & " è stato bannato, Socks", us) Module1.protocol.connessionirifiutate += 1 Module1.disconnettiuser(us) Exit Sub End If End If Module1.protocol.connessioniaccettate += 1 send(us, "$Lock EXTENDEDPROTOCOL::This_hub_was_written_by_TeNeBrA::CTRL[NoKey] Pk=Colossus|") send(us, "$Supports NoHello NoGetINFO UserIP2 BotINFO Feed MCTo|") us.client.BeginReceive(us.ReadBuffer, 0, us.ReadBuffer.Length, SocketFlags.None, New AsyncCallback(AddressOf ricevi), us) End If Catch Module1.protocol.connessionirifiutate += 1 Module1.disconnettiuser(us) End Try Catch Module1.protocol.connessionirifiutate += 1 Module1.disconnettiuser(us) End Try End Sub Public Sub ricevi(ByVal ar As IAsyncResult) Dim us As User = CType(ar.AsyncState, User) Try us.temp &= Encoding.Default.GetString(us.ReadBuffer, 0, us.ReadBuffer.Length) us.temp = us.temp.Replace(Chr(0), "") If us.temp.Length = 0 Then disconnettiuser(us) Exit Sub End If If us.temp(0) = "|" Then disconnettiuser(us) Exit Sub End If Array.Clear(us.ReadBuffer, 0, us.ReadBuffer.Length) If us.temp.Contains("$MyNick") And us.nick = "" Then Module1.protocol.connessionirifiutate += 1 Module1.protocol.connessioniaccettate -= 1 Module1.disconnettiuser(us) Module1.impostazioni.accettaint += 1 bannasub(us.ip, us.client) Exit Sub End If annanz(us) Thread.Sleep(10) us.client.BeginReceive(us.ReadBuffer, 0, us.ReadBuffer.Length, SocketFlags.None, New AsyncCallback(AddressOf ricevi), us) Catch disconnettiuser(us) End Try End Sub Public Sub annanz(ByRef us As User) If us.temp.Length > 5000 Then Module1.disconnettiuser(us) Exit Sub End If If us.temp.EndsWith("|") Then Module1.impostazioni.bandaricevuta += us.temp.Length Module1.protocol.bytericevuti += us.temp.Length Module1.dataarrival(us, us.temp) us.temp = "" End If End Sub Public Sub parti() Try clientgen.Bind(New IPEndPoint(IPAddress.Parse(Module1.impostazioni.ipparse), port)) clientgen.Listen(Module1.impostazioni.nmrsockets) Dim thr As New Thread(AddressOf circola) thr.Start() Console.WriteLine("Start To Listen on port: " & port) Catch Console.WriteLine("Failed Listen on port: " & port) End Try End Sub Public Sub circola() On Error Resume Next While (Module1.impostazioni.avviato) Evento.Reset() If ce() = False Then Exit While End If clientgen.BeginAccept(p, clientgen) Evento.WaitOne() End While clientgen.Close() Evento.Close() End Sub Public Function ce() As Boolean If Not Module1.impostazioni.avviato Then Return False For Each asd As String In Module1.impostazioni.arrayporte If asd = port Then Return True End If Next Return False End Function End Class
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5