コード例 #1
0
        public override void Avoid()
        {
            int       SessionID = ReadD();
            IPAddress addr      = new IPAddress(ReadB(4));
            short     shift     = ReadU();

            Calculator.INST().seed = ReadU();
            ReadB(10); //contando Writes
            ReadC();
            int serverSize = ReadD();

            player.ADDR    = IPAddress.Parse(Carregar.fakeIP).GetAddressBytes();
            player.Encrypt = ((SessionID + shift) % 7) + 1;
            for (int i = 0; i < serverSize; i++)
            {
                int          actived       = ReadD();
                IPAddress    serverIp      = new IPAddress(ReadB(4));
                ushort       serverPort    = ReadUH();
                Servers_Type serverType    = (Servers_Type)ReadC();
                short        serverMax     = ReadU();
                int          serverPlayers = ReadD();
                if (actived == 1 && i > 0)
                {
                    player.server = new IPEndPoint(serverIp, serverPort);
                    Program.Form1.InforSender($"GameServer:  {player.server}", false);
                    Program.Form1.InforSender($"Seed do Canal: {Calculator.INST().seed}", false);
                    Program.Form1.InforSender($"Tipo do servidor: {serverType}", false);
                    Program.Form1.InforSender($"Max de Jogadores: {serverMax}", false);
                    Program.Form1.InforSender($"Jogadores Online: {serverPlayers}", false);
                    AuthClient.SendPacket(new BASE_LOGIN_ACK().Write());
                    break;
                }
            }
        }
コード例 #2
0
 public override void Avoid()
 {
     if (ReadD() > 1)
     {
         Program.Form1.WriteSender("[ERROR] - Buscar informação do Usuario.", Color.Red);
     }
     else
     {
         player.revs = ReadC();
         player.nick = ReadS(33);
         player.exp  = ReadD();
         player.rank = ReadD();
         ReadD(); //FAKERANK
         player.gold   = ReadD();
         player.cash   = ReadD();
         player.ClanID = ReadD();
         ReadB(12);
         player.acess = (NivelDeAcesso)ReadC();
         ReadB(161);
         Program.Form1.InforSender("[Templates] Rev: [" + player.revs + "]", false);
         Program.Form1.InforSender("[Templates] Nick: [" + player.nick + "]", false);
         Program.Form1.InforSender("[Templates] Exp: [" + player.exp + "]", false);
         Program.Form1.InforSender("[Templates] Rank: [" + player.rank + "]", false);
         Program.Form1.InforSender("[Templates] Money: [" + player.cash + "]", false);
         Program.Form1.InforSender("[Templates] Gold: [" + player.gold + "]", false);
         Program.Form1.InforSender("[Templates] Acesso: [" + player.acess + "]", false);
     }
     AuthClient.SendPacket(new BASE_SOURCE_ACK().Write());
     AuthClient.SendPacket(new BASE_CONFIG_ACK().Write());
     AuthClient.SendPacket(new BASE_ENTER_SERVER_ACK().Write());
 }
コード例 #3
0
        public override void Avoid()
        {
            Login_Error result = (Login_Error)ReadD();

            ReadC();
            player.ID = ReadQ();
            string login = ReadS(ReadC());

            ReadC();
            ReadC();
            if (AuthClient != null)
            {
                switch (result)
                {
                case Login_Error.LOGIN_SUCESSO:     //CAIU?
                case Login_Error.LOGIN_SUCESSO_ACEITO:
                {
                    if (Program.Form1.classe_.BotLogin)
                    {
                        Program.Form1.label3.Text = $"Contas [{++Classe_.Contas}] sendo floodadas.";
                    }
                    AuthClient.SendPacket(new BASE_MYINFO_ACK().Write());
                    Program.Form1.WriteSender("Sucesso ao Logar!", Color.Green);
                    player.loggerUser = true;
                    break;
                }

                case Login_Error.LOGIN_BLOQUEADO_REGIÃO:
                {
                    Classe_.PadraoRegion = 1;
                    Carregar.region      = (Regions)Enum.ToObject(typeof(Regions), ++Classe_.PadraoRegion);
                    if (Classe_.PadraoRegion < 15)
                    {
                        Program.Form1.WriteSender("[RegionBlocked] Região foi alterada, tente novamente.", Color.Green);
                    }
                    else
                    {
                        Program.Form1.WriteSender("Limites de Região atingido.", Color.Red);
                    }
                    break;
                }

                case Login_Error.LOGIN_CLIENT_INCOMPATIVEL:
                {
                    if (ClientRevision() < 4)
                    {
                        Program.Form1.WriteSender("[ClientError] Client foi alterada, tente novamente.", Color.Green);
                    }
                    else
                    {
                        Program.Form1.WriteSender("Limites de Client atingido.", Color.Red);
                    }
                    break;
                }

                case Login_Error.LOGIN_ERROR_CONFIG:     //SERVER MSG ANNOUNCE
                {
                    Program.Form1.WriteSender("Sua configuração de login está errada.", Color.Green);
                    break;
                }

                default: Program.Form1.WriteSender($"Erro ao logar: {result}", Color.Red); break;
                }
            }
        }