// Main cycle private void BruteForcer_DoWork(object sender, DoWorkEventArgs e) { //Lock.ServiceCode = "123456"; // DEBUG string StartCodeStr = tbStartValue.Text; int[] StartCodeArr = (from x in StartCodeStr select int.Parse(x.ToString())).ToArray(); int[] ShiftArr = new int[6]; while (true) { // Get next code ICode = SumCodes(StartCodeArr, ShiftArr); // Check if code already equals if (ICode.Equals(Lock.ServiceCode)) { return; } if (BruteForcer.CancellationPending) { e.Cancel = true; return; } BruteForcer.ReportProgress(0); Thread.Sleep(50); ShiftArr = GetNextShift(ShiftArr); if (ShiftArr == null) { break; } } // while 1 }
private void BruteForcer_ProgressChanged(object sender, ProgressChangedEventArgs e) { if (BruteForcer.CancellationPending) { return; } if (LockPing()) { // Display code tbStartValue.Text = ICode; txtConsole.AppendText(ICode + Environment.NewLine); } else { BruteForcer.CancelAsync(); } }
private void MainForm_FormClosing(object sender, FormClosingEventArgs e) { // Stop iterations if (BruteForcer.IsBusy) { BruteForcer.CancelAsync(); } try { HTool.ComPort.Close(); HTool.ComPort = null; serialPort1.Dispose(); } catch (System.Exception ex) { HTool.LastError = ex.Message; } HTool.IsConnected = false; }
private void BtnStart_Click(object sender, EventArgs e) { if (BruteForcer.IsBusy) { return; // do not start second time } if (Lock.State != LockState_t.EnteringServiceCode) { return; } if (!UInt32.TryParse(tbStartValue.Text, out uint dummy)) { return; } // Display start info txtConsole.AppendText("Password search started" + Environment.NewLine); BruteForcer.RunWorkerAsync(); }
private void BtnStop_Click(object sender, EventArgs e) { BruteForcer.CancelAsync(); txtConsole.AppendText("Pass search eagerly cancelled." + Environment.NewLine); }