Пример #1
0
        public EBattlEyeCommandResult SendCommandPacket(EBattlEyeCommand command, string parameters)
        {
            try
            {
                if (!_socket.Connected)
                {
                    return(EBattlEyeCommandResult.NotConnected);
                }

                var    crc32 = new CRC32();
                string packet;
                string header = "BE";
                string hash   =
                    crc32.ComputeHash(
                        Helpers.String2Bytes(Helpers.Hex2Ascii("FF01") + Helpers.Bytes2String(new byte[] { 0 }) +
                                             Helpers.StringValueOf(command) + parameters)).Aggregate
                    <byte, string>(null,
                                   (current, b)
                                   =>
                                   current +
                                   b.ToString(
                                       "X2"));
                hash    = Helpers.Hex2Ascii(hash);
                hash    = new string(hash.ToCharArray().Reverse().ToArray());
                header += hash;
                packet  = header + Helpers.Hex2Ascii("FF01") + Helpers.Bytes2String(new byte[] { 0 }) +
                          Helpers.StringValueOf(command) + parameters;
                _socket.Send(Helpers.String2Bytes(packet));
                _commandSend = DateTime.Now;
            }
            catch
            {
                return(EBattlEyeCommandResult.Error);
            }

            return(EBattlEyeCommandResult.Success);
        }
Пример #2
0
        public EBattlEyeCommandResult SendCommandPacket(EBattlEyeCommand command, string parameters)
        {
            try
            {
                if (!_socket.Connected)
                    return EBattlEyeCommandResult.NotConnected;

                var crc32 = new CRC32();
                string packet;
                string header = "BE";
                string hash =
                    crc32.ComputeHash(
                        Encoding.GetEncoding(1252).GetBytes(Helpers.Hex2Ascii("FF01") + Encoding.GetEncoding(1252).GetString(new byte[] { 0 }) +
                                                  Helpers.StringValueOf(command) + parameters)).Aggregate
                        <byte, string>(null,
                                       (current, b)
                                       =>
                                       current +
                                       b.ToString(
                                           "X2"));
                hash = Helpers.Hex2Ascii(hash);
                hash = new string(hash.ToCharArray().Reverse().ToArray());
                header += hash;
                packet = header + Helpers.Hex2Ascii("FF01") + Encoding.GetEncoding(1252).GetString(new byte[] { 0 }) +
                         Helpers.StringValueOf(command) + parameters;
                _socket.Send(Encoding.GetEncoding(1252).GetBytes(packet));
                _commandSend = DateTime.Now;
            }
            catch
            {
                return EBattlEyeCommandResult.Error;
            }

            return EBattlEyeCommandResult.Succes;
        }
Пример #3
0
        public EBattlEyeCommandResult SendCommandPacket(EBattlEyeCommand command)
        {
            try
            {
                if (!_socket.Connected)
                    return EBattlEyeCommandResult.NotConnected;

                var crc32 = new CRC32();
                string packet;
                string header = "BE";
                string hash =
                    crc32.ComputeHash(
                        Helpers.String2Bytes(Helpers.Hex2Ascii("FF01") + Helpers.Bytes2String(new byte[] { (byte)_packetNumber }) +
                                                  Helpers.StringValueOf(command))).Aggregate<byte, string>(
                                                      null,
                                                      (current, b)
                                                      =>
                                                      current +
                                                      b.ToString(
                                                          "X2"));
                hash = Helpers.Hex2Ascii(hash);
                hash = new string(hash.ToCharArray().Reverse().ToArray());
                header += hash;
                packet = header + Helpers.Hex2Ascii("FF01") + Helpers.Bytes2String(new byte[] { (byte)_packetNumber }) +
                         Helpers.StringValueOf(command);
                _socket.Send(Helpers.String2Bytes(packet));
                _commandSend = DateTime.Now;
                _packetLog.Add(_packetNumber, packet);
                _packetNumber++;
            }
            catch
            {
                return EBattlEyeCommandResult.Error;
            }

            return EBattlEyeCommandResult.Success;
        }