コード例 #1
0
ファイル: RDPClient.cs プロジェクト: najachai/RDPUploader
        private bool InitiateConnectionLite()
        {
            bool result = false;

            try
            {
                // Проверка Win 8/2008/2012
                Network.Connect(RDPClient.Host, RDPClient.Port);
                MCS.send_connection_request(null, false);

                // Успешная авторизация
                if (RDPClient.GoodAuth)
                {
                    result = true;
                }
            }
            catch { }
            finally
            {
                // Остановка
                Disconnect();
            }

            return(result);
        }
コード例 #2
0
ファイル: ControlFlow.cs プロジェクト: najachai/RDPUploader
        internal static void processRedirection(RdpPacket data, bool bStdRedirect)
        {
            if (!bStdRedirect)
            {
                data.getLittleEndian16();
            }
            data.getLittleEndian16();
            data.getLittleEndian16();
            RDPClient.sessionID = data.getLittleEndian32();
            int num = data.getLittleEndian32();

            if ((num & 1) != 0)
            {
                RDPClient.Host = data.ReadUnicodeString();
            }
            byte[] buffer = null;
            if ((num & 2) != 0)
            {
                int count = data.getLittleEndian32();
                buffer = new byte[count];
                data.Read(buffer, 0, count);
            }
            if ((num & 4) != 0)
            {
                RDPClient.Username = data.ReadUnicodeString();
            }
            if ((num & 8) != 0)
            {
                RDPClient.Domain = data.ReadUnicodeString();
            }
            if ((num & 0x10) != 0)
            {
                RDPClient.Password = data.ReadUnicodeString();
            }
            if ((num & 0x200) != 0)
            {
                RDPClient.Host = data.ReadUnicodeString();
            }
            if ((num & 0x100) != 0)
            {
                RDPClient.Host = data.ReadUnicodeString();
            }
            if (!string.IsNullOrEmpty(RDPClient.Domain))
            {
                RDPClient.DomainAndUsername = RDPClient.Domain + @"\" + RDPClient.Username;
            }
            else
            {
                RDPClient.DomainAndUsername = RDPClient.Username;
            }
            if ((num & 0x80) == 0)
            {
                Network.Close();
                Licence.Reset();
                Network.Connect(RDPClient.Host, RDPClient.Port);
                MCS.send_connection_request(buffer, false);
            }
        }
コード例 #3
0
ファイル: ISO.cs プロジェクト: najachai/RDPUploader
        public static void Disconnect()
        {
            RDPClient.m_Packet    = null;
            RDPClient.next_packet = 0;

            if (Network.Connected)
            {
                try
                {
                    MCS.Disconnect();
                }
                catch { }
                Network.Close();
            }
        }
コード例 #4
0
ファイル: RDPClient.cs プロジェクト: najachai/RDPUploader
        private int InitiateCheckVersion()
        {
            int result = -1;

            try
            {
                // Проверка порта на протокол RDP
                Network.Connect(RDPClient.Host, RDPClient.Port);
                result = MCS.send_connection_request_for_check(null, false);
            }
            catch
            {
                result = -1;
            }
            finally
            {
                // Остановка
                Disconnect();
            }

            return(result);
        }
コード例 #5
0
ファイル: RDPClient.cs プロジェクト: najachai/RDPUploader
        private bool InitiateConnectionFullXP()
        {
            try
            {
                // Проверка Win 8/2008/2012
                Network.Connect(RDPClient.Host, RDPClient.Port);
                MCS.send_connection_request(null, false);

                RDPClient.GoodAuth = false;

                // Запуск сессии
                Rdp.Start();
            }
            catch { }
            finally
            {
                // Остановка
                Disconnect();
            }

            return(RDPClient.GoodAuth);
        }