Esempio n. 1
0
        private async void HandlePackets(byte[] buffer)
        {
            Header packetHeader = PacketParser.Deserialize <Header>(buffer);

            switch (packetHeader.opcode)
            {
            case OPCODE.Connect:
            {
                Log("Received a S_CONNECT");
                S_CONNECT pkt = PacketParser.Deserialize <S_CONNECT>(buffer);

                if (Injector.CheckIfCRCBypassExists())
                {
                    C_ENABLE_HOOKS enableHooks = new C_ENABLE_HOOKS
                    {
                        header = new Header {
                            opcode = OPCODE.EnableHooks, version = 1
                        }
                    };
                    await SendAsync(enableHooks);
                }

                return;
            }

            case OPCODE.Disconnect:
            {
                Log("Received a S_DISCONNECT");
                break;
            }

            case OPCODE.QueueInput:
            {
                Log("Received S_QUEUE_INPUT");
                S_QUEUE_INPUT pkt = PacketParser.Deserialize <S_QUEUE_INPUT>(buffer);
                OnQueueInputResponse?.Invoke(this, pkt);
                break;
            }

            case OPCODE.DealDamage:
            {
                Log("Received S_DEAL_DAMAGE");
                S_DEAL_DAMAGE pkt = PacketParser.Deserialize <S_DEAL_DAMAGE>(buffer);
                OnDamageDealResponse?.Invoke(this, pkt);
                break;
            }

            case OPCODE.LogMessage:
            {
                S_LOG_MESSAGE pkt = PacketParser.Deserialize <S_LOG_MESSAGE>(buffer);
                Debugger.Write("[Native] " + pkt.message, "#FFC88DF2");
                break;
            }
            }
        }
Esempio n. 2
0
        private async void HandlePackets(byte[] buffer)
        {
            Header packetHeader = PacketParser.Deserialize <Header>(buffer);

            switch (packetHeader.opcode)
            {
            case OPCODE.Connect:
            {
                Log("Received a S_CONNECT");
                S_CONNECT pkt = PacketParser.Deserialize <S_CONNECT>(buffer);

                if (Injector.CheckIfCRCBypassExists())
                {
                    C_ENABLE_HOOKS enableHooks = new C_ENABLE_HOOKS
                    {
                        header = new Header {
                            opcode = OPCODE.EnableHooks, version = 1
                        }
                    };
                    await SendAsync(enableHooks);
                }

                return;
            }

            case OPCODE.Disconnect:
            {
                Log("Received a S_DISCONNECT");
                break;
            }

            case OPCODE.QueueInput:
            {
                Log("Received S_QUEUE_INPUT");
                S_QUEUE_INPUT pkt = PacketParser.Deserialize <S_QUEUE_INPUT>(buffer);
                OnQueueInputResponse?.Invoke(this, pkt);
                break;
            }
            }
        }