Example #1
0
        private void OnOutgoingData(object sender, DataInterceptedEventArgs e)
        {
            WriteToConsole($"Client -> Server:\n" +
                           $"\t{"Id",-9}: {e.Packet.Id}\n" +
                           (IncomingPacketName != null
                               ? $"\t{"Name",-9}: {IncomingPacketName(e.Packet.Id)}\n"
                               : string.Empty) +
                           $"\t{"Length",-9}: {e.Packet.BodyLength + 6}\n" +
                           $"\t{"Dump",-9}:\n" +
                           $"{HexUtils.HexDump(e.Packet.ToBytes())}", ConsoleColor.Cyan);

            e.IsBlocked = false;

            try
            {
                if (e.Packet.Id == _handshakeIds[2])
                {
                    ReplaceLocalPublicKey(e);
                }
            }
            catch { CancelHandshake(e); }
        }
Example #2
0
        private void OnIncomingData(object sender, DataInterceptedEventArgs e)
        {
            WriteToConsole($"Server -> Client:\n" +
                           $"\t{"Id",-9}: {e.Packet.Id}\n" +
                           (OutgoingPacketName != null
                               ? $"\t{"Name",-9}: {OutgoingPacketName(e.Packet.Id)}\n"
                               : string.Empty) +
                           $"\t{"Length",-9}: {e.Packet.BodyLength + 6}\n" +
                           $"\t{"Dump",-9}:\n" +
                           $"{HexUtils.HexDump(e.Packet.ToBytes())}", ConsoleColor.Yellow);

            e.IsBlocked = false;

            try
            {
                if (e.Step < 3 && e.Packet.BodyLength == 2)
                {
                    _incomingOffset++;
                    return;
                }

                if (e.Packet.Id == _handshakeIds[1])
                {
                    InitializeKeys();
                    ReplaceRemoteSignedPrimes(e);
                }
                else if (e.Packet.Id == _handshakeIds[3])
                {
                    ReplaceRemotePublicKey(e);
                }
            }
            catch
            {
                CancelHandshake(e);
            }
        }