Example #1
0
        private void HandleFlooderError(object sender, EventArgs e)
        {
            //Update UI
            Dispatcher.UIThread.InvokeAsync(() =>
            {
                this.RaisePropertyChanged(nameof(SelectedAttack));

                //Safe cleanup
                SelectedAttack.Stop();
                UpdateStatus(s_defaultStatus);
                RefreshAttackUi();
            });
        }
Example #2
0
 private async Task ActivateControlRunner()
 {
     if (SelectedAttack == null)
     {
         return;
     }
     if (LockedTargetAddress == null)
     {
         return;
     }
     //Register event
     SelectedAttack.FloodError += HandleFlooderError;
     //Update parameters
     SelectedAttack.Delay   = AttackPacketDelay;
     SelectedAttack.Threads = AttackThreadCount;
     SelectedAttack.Port    = AttackPort;
     SelectedAttack.Message = AttackMessage;
     SelectedAttack.Target  = IPAddress.Parse(LockedTargetAddress);
     if (SelectedAttack.IsFlooding)
     {
         SelectedAttack.Stop();
         UpdateStatus(s_defaultStatus);
         SelectedAttack.Reset();
     }
     else
     {
         SelectedAttack.Start();
         UpdateStatus(s_attackingStatus);
         //Schedule UI updates
         var updaterResult = Task.Factory.StartNew(() =>
         {
             while (SelectedAttack.IsFlooding)
             {
                 UpdateStatistics();
                 Thread.Sleep(200);
             }
         });
     }
     RefreshAttackUi();
 }