Exemplo n.º 1
0
        public bool Connect(AccessPoint ap, string password)
        {
            try
            {
                var  authRequest = new AuthRequest(ap);
                bool overwrite   = true;
                if (authRequest.IsPasswordRequired)
                {
                    if (!ap.IsValidPassword(password))
                    {
                        return(false);
                    }
                    authRequest.Password = password;
                }
                else
                {
                    authRequest.Password = "";
                }

                try
                {
                    return(ap.Connect(authRequest, true));
                }
                catch (Exception)
                {
                    return(false);
                }
            }
            catch (Exception) { }

            return(true);
        }
Exemplo n.º 2
0
        private static void createNewKey(int currentCharPosition, char[] keyChars, int keyLength, int indexOfLastChar)
        {
            int nextCharPosition = currentCharPosition + 1;

            for (int i = 0; i < charactersToTestLength; i++)
            {
                keyChars[currentCharPosition] = charactersToTest[i];
                if (currentCharPosition < indexOfLastChar)
                {
                    createNewKey(nextCharPosition, keyChars, keyLength, indexOfLastChar);
                }
                else
                {
                    computedKeys++;
                    if (BrutreForceAccess.IsValidPassword((new String(keyChars))))
                    {
                        if (BrutreForceAccess.Connect(new AuthRequest(BrutreForceAccess)))
                        {
                            if (!isMatched)
                            {
                                isMatched = true;
                                result    = new String(keyChars);
                            }
                            return;
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        private string EnterPassword(AccessPoint selectedAP, string password)
        {
            bool validPassFormat = false;

            while (!validPassFormat)
            {
                validPassFormat = selectedAP.IsValidPassword(password);

                if (!validPassFormat)
                {
                    MessageBox.Show("Mật khẩu không chính xác!");
                    break;
                }
            }

            return(password);
        }
Exemplo n.º 4
0
        private void ConnectAccessPoint(AccessPoint ap)
        {
            AuthRequest authRequest = new AuthRequest(ap);
            bool        overwrite   = false;

            if (authRequest.IsPasswordRequired)
            {
                if (!ap.HasProfile)
                {
                    //= Interaction.InputBox("", "Input PassWord");
                    InputDialog.Show(out string pwd, "Input the password");
                    if (pwd.Length >= 8 && !string.IsNullOrWhiteSpace(pwd.Trim()) && ap.IsValidPassword(pwd))
                    {
                        authRequest.Password = pwd;
                    }
                }
            }
            ap.ConnectAsync(authRequest, overwrite, OnConnectedComplete);
        }
Exemplo n.º 5
0
        static string PasswordPrompt(AccessPoint selectedAP)
        {
            string password = string.Empty;

            bool validPassFormat = false;

            while (!validPassFormat)
            {
                Console.Write("\r\nPlease enter the wifi password: "******"\r\nPassword is not valid for this network type.");
                }
            }

            return(password);
        }
Exemplo n.º 6
0
        private static string PasswordPrompt(AccessPoint selectedAP)//получение пароля сети
        {
            string password        = string.Empty;
            bool   validPassFormat = false;

            //вызов формы ввода пароля
            frmAuthPass frmpass = new frmAuthPass();

            frmpass.Owner = frmWelcome.ActiveForm;
            frmpass.ShowDialog(frmWelcome.ActiveForm);
            //пока не получим правильный формат пароля
            while (!validPassFormat)
            {
                password        = frmpass.txtPass.Text;
                validPassFormat = selectedAP.IsValidPassword(password); //проверка пароля

                if (!validPassFormat)                                   //неверный формат
                {
                    DialogResult res = MetroMessageBox.Show(frmpass, "The password format is incorrect", "Exception", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                    if (res == DialogResult.Cancel)//отмена подключения
                    {
                        break;
                    }
                    else//новая попытка ввода пароля
                    {
                        //вызов формы ввода пароля
                        frmAuthPass frmpassNext = new frmAuthPass();
                        frmpassNext.Owner             = frmWelcome.ActiveForm;
                        frmpassNext.txtPass.BackColor = Color.FromArgb(249, 188, 185);
                        frmpassNext.ShowDialog();
                    }
                }
            }

            return(password);
        }
Exemplo n.º 7
0
        private void ConnectSubButton_Click(object sender, EventArgs e)
        {
            // Требуется ли пароль
            if (authRequest.IsPasswordRequired)
            {
                if (selectedAP.HasProfile) // Спросим - соединиться по старому профилю или по новому?
                {
                    showRichTextBox2.Text += ("\r\n-> Профиль уже существует, хочешь ли ты соединиться по старому паролю?");
                    if (MessageBox.Show("Профиль уже существует, хочешь ли ты соединиться по старому паролю? ", "Сообщение", MessageBoxButtons.OKCancel, MessageBoxIcon.Stop) == DialogResult.OK)
                    {
                        overwrite = false;
                        textBoxUsername.Visible = false;
                        textBoxPassword.Visible = false;
                        textBoxDomain.Visible = false;
                        
                    }
                }

                if (overwrite)
                {
                    if (authRequest.IsUsernameRequired)
                    {
                        showRichTextBox2.Text += ("\r\n-> Пожалуйста, введите имя пользователя");
                        authRequest.Username = textBoxUsername.Text;
                    }

                    string password = string.Empty;
                    bool validPassFormat = false;
                    if (!validPassFormat)
                    {
                        showRichTextBox2.Text += ("\r\n-> Пожалуйста, введите пароль к точке ");
                        password = textBoxPassword.Text;

                        validPassFormat = selectedAP.IsValidPassword(password);

                        if (!validPassFormat)
                        {
                            showRichTextBox2.Text += ("\r\n-> Неверный пароль.");
                            MessageBox.Show("Не верный пароль.");
                            return;
                        }
                        else
                        {
                            authRequest.Password = password;
                        }
                    }

                    if (authRequest.IsDomainSupported)
                    {
                        showRichTextBox2.Text += ("\r\n-> Пожалуйста, введите имя домена: ");
                        authRequest.Domain = textBoxDomain.Text;
                    }
                }
            }
            bool success = selectedAP.Connect(authRequest, overwrite);
            connectionString = string.Format("\nСоединение удалось: {0}", success ? "да" : "нет");
            
            showRichTextBox2.Text += connectionString;

            this.Close();
        }
Exemplo n.º 8
0
        /// <summary>
        ///  Предусмотрен брут только тех точек, которые требуют только пароль
        /// </summary>
        public void GetBrut(object ap)
        {
            AccessPoint selectedAP  = (AccessPoint)ap;
            var         authRequest = new AuthRequest(selectedAP);

            if (authRequest.IsDomainSupported || authRequest.IsUsernameRequired)
            {
                ChangeShowRichTextBox2("  Соединение требует не только пароль, но и логин пользователя/домен\n");
                stopBrut = true;
                return;
            }
            if (authRequest.IsPasswordRequired)
            {
                for (int i = 0; i < passwords.Length && !stopBrut; i++)
                {
                    bool   overwrite = true;
                    string pass      = passwords[i];


                    // Требуется ли пароль
                    if (overwrite)
                    {
                        bool validPassFormat = false;

                        validPassFormat = selectedAP.IsValidPassword(pass);

                        if (!validPassFormat)
                        {
                            ChangeShowRichTextBox2("-> Невалидный пароль:" + pass + "\r\n");
                            continue;
                        }
                        else
                        {
                            authRequest.Password = pass;

                            bool success = selectedAP.Connect(authRequest, overwrite);
                            if (success)
                            {
                                stopBrut = true;
                                ChangeShowRichTextBox2("  Соединение удалось, пароль: " + pass);
                                ChangeButtonBrut("Начать перебор паролей к сети", true);
                                return;
                            }
                            else
                            {
                                ChangeShowRichTextBox2(i + "  Соединение не удалось по паролю: " + pass);
                            }
                        }
                    }

                    ChangeLabelUsedPasses((i + 1).ToString());
                    ChangeLabelUnUsedPasses((passwords.Length - i - 1).ToString());
                }
            }
            else
            {
                ChangeShowRichTextBox2("  Соединение свободно, пароль не требуется\n");
                ChangeButtonBrut("Начать перебор паролей к сети");

                t.Abort();
                stopBrut = true;
                return;
            }
            t.Abort();
            stopBrut = true;
            ChangeButtonBrut("Начать перебор паролей к сети");
            ChangeShowRichTextBox2(string.Format("\n  Пароль не найден"));
        }