コード例 #1
0
        private void SendPacket(byte pktId, BnlsPacket packet)
        {
            System.Diagnostics.Debug.WriteLine("BNLS C->S {0:X}", pktId);
            byte[] packetData = packet.GetBuffer(pktId);

            Send(packetData);
            packet.Dispose();
        }
コード例 #2
0
ファイル: BnlsService.cs プロジェクト: tagban/superioritybot
        private void SendPacket(byte pktId, BnlsPacket packet)
        {
            System.Diagnostics.Debug.WriteLine("BNLS C->S {0:X}", pktId);
            byte[] packetData = packet.GetBuffer(pktId);

            Send(packetData);
            packet.Dispose();
        }
コード例 #3
0
        void TimerTick(object state)
        {
            if (IsConnected)
            {
                BnlsPacket p = new BnlsPacket();
                SendPacket(0x00, p);

                t.Change(30000, 0);
            }
        }
コード例 #4
0
ファイル: BnlsService.cs プロジェクト: tagban/superioritybot
        void TimerTick(object state)
        {
            if (IsConnected)
            {
                BnlsPacket p = new BnlsPacket();
                SendPacket(0x00, p);

                t.Change(30000, 0);
            }
        }
コード例 #5
0
ファイル: BnlsService.cs プロジェクト: tagban/superioritybot
        public void BnlsCreateAccountRequest(CreateAccountRequestToken requestToken)
        {
            if (!IsConnected)
            {
                Connect();
            }

            BnlsPacket createAccount = new BnlsPacket();

            createAccount.InsertString(requestToken.Username);
            createAccount.InsertString(requestToken.Password);

            SendPacket(0x04, createAccount);
            Receive(3, requestToken);
        }
コード例 #6
0
ファイル: BnlsService.cs プロジェクト: tagban/superioritybot
        public void BnlsLogonProofRequest(LogonProofRequestToken requestToken)
        {
            if (!IsConnected)
            {
                Connect();
            }

            BnlsPacket logonProof = new BnlsPacket();

            foreach (var saltData in requestToken.Salt)
            {
                logonProof.InsertInt32(saltData);
            }

            foreach (var serverKeyData in requestToken.ServerKey)
            {
                logonProof.InsertInt32(serverKeyData);
            }

            SendPacket(0x03, logonProof);
            Receive(3, requestToken);
        }
コード例 #7
0
ファイル: BnlsService.cs プロジェクト: tagban/superioritybot
        public void BnlsVersionCheckRequest(VersionCheckRequestToken requestToken)
        {
            if (!IsConnected)
            {
                Connect();
            }

            BnlsPacket versionCheckEx2 = new BnlsPacket();

            versionCheckEx2.InsertInt32(requestToken.Product);         // Product
            versionCheckEx2.InsertInt32(0);                            // Flags
            versionCheckEx2.InsertInt32(Environment.TickCount);        // Cookie - unused
            versionCheckEx2.InsertInt64(requestToken.FileTime);        // Filetime
            versionCheckEx2.InsertString(requestToken.VersionName);    // Version file name
            versionCheckEx2.InsertBytes(requestToken.ChecksumFormula); // Checksum Formula
            versionCheckEx2.InsertByte(0x00);

            System.Diagnostics.Debug.WriteLine("Checksum Form");
            DataFormatter.WriteToTrace(requestToken.ChecksumFormula);

            SendPacket(0x1A, versionCheckEx2); // BNLS_VERSIONCHECK
            Receive(3, requestToken);
        }
コード例 #8
0
ファイル: BnlsService.cs プロジェクト: tagban/superioritybot
        public void BnlsLogonChallengeRequest(LogonChallengeRequestToken requestToken)
        {
            if (!IsConnected)
            {
                Connect();
            }

            if (((BnetProduct)requestToken.Product) == BnetProduct.Warcraft3)
            {
                BnlsPacket chooseNlsRevision = new BnlsPacket();
                chooseNlsRevision.InsertInt32(0x02);

                SendPacket(0x0D, chooseNlsRevision);
                Receive(3, requestToken);
            }

            BnlsPacket logonChallenge = new BnlsPacket();

            logonChallenge.InsertString(requestToken.Username);
            logonChallenge.InsertString(requestToken.Password);

            SendPacket(0x02, logonChallenge);
            Receive(3, requestToken);
        }
コード例 #9
0
        public void BnlsVersionCheckRequest(VersionCheckRequestToken requestToken)
        {
            if (!IsConnected)
            {
                Connect();
            }

            BnlsPacket versionCheckEx2 = new BnlsPacket();
            versionCheckEx2.InsertInt32(requestToken.Product); // Product
            versionCheckEx2.InsertInt32(0); // Flags
            versionCheckEx2.InsertInt32(Environment.TickCount); // Cookie - unused
            versionCheckEx2.InsertInt64(requestToken.FileTime); // Filetime
            versionCheckEx2.InsertString(requestToken.VersionName); // Version file name
            versionCheckEx2.InsertBytes(requestToken.ChecksumFormula); // Checksum Formula
            versionCheckEx2.InsertByte(0x00);

            System.Diagnostics.Debug.WriteLine("Checksum Form");
            DataFormatter.WriteToTrace(requestToken.ChecksumFormula);

            SendPacket(0x1A, versionCheckEx2); // BNLS_VERSIONCHECK 
            Receive(3, requestToken);
        }
コード例 #10
0
        public void BnlsLogonChallengeRequest(LogonChallengeRequestToken requestToken)
        {
            if (!IsConnected)
            {
                Connect();
            }

            if (((BnetProduct)requestToken.Product) == BnetProduct.Warcraft3)
            {
                BnlsPacket chooseNlsRevision = new BnlsPacket();
                chooseNlsRevision.InsertInt32(0x02);

                SendPacket(0x0D, chooseNlsRevision);
                Receive(3, requestToken);
            }

            BnlsPacket logonChallenge = new BnlsPacket();
            logonChallenge.InsertString(requestToken.Username);
            logonChallenge.InsertString(requestToken.Password);

            SendPacket(0x02, logonChallenge);
            Receive(3, requestToken);
        }
コード例 #11
0
        public void BnlsCreateAccountRequest(CreateAccountRequestToken requestToken)
        {
            if (!IsConnected)
            {
                Connect();
            }

            BnlsPacket createAccount = new BnlsPacket();
            createAccount.InsertString(requestToken.Username);
            createAccount.InsertString(requestToken.Password);

            SendPacket(0x04, createAccount);
            Receive(3, requestToken);
        }
コード例 #12
0
        public void BnlsLogonProofRequest(LogonProofRequestToken requestToken)
        {
            if (!IsConnected)
            {
                Connect();
            }

            BnlsPacket logonProof = new BnlsPacket();

            foreach (var saltData in requestToken.Salt)
                logonProof.InsertInt32(saltData);

            foreach (var serverKeyData in requestToken.ServerKey)
                logonProof.InsertInt32(serverKeyData);

            SendPacket(0x03, logonProof);
            Receive(3, requestToken);
        }