Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports System
- Imports System.Diagnostics
- Imports System.IO
- Imports System.IO.Pipes
- Imports System.Net
- Imports System.Runtime.InteropServices
- Imports System.Text
- Imports System.Windows.Forms
- Namespace WeAreDevs_API
- Public Class ExploitAPI
- ' Methods
- Public Sub AddFire(ByVal Optional username As String = "me")
- Me.SendCommand(("fire " & username))
- End Sub
- Public Sub AddSmoke(ByVal Optional username As String = "me")
- Me.SendCommand(("smoke " & username))
- End Sub
- Public Sub AddSparkles(ByVal Optional username As String = "me")
- Me.SendCommand(("sparkles " & username))
- End Sub
- Public Sub ConsolePrint(ByVal Optional [text] As String = "WeAreDevs Website")
- Me.SendCommand(("print " & [text]))
- End Sub
- Public Sub ConsoleWarn(ByVal Optional [text] As String = "meWeAreDevs Website")
- Me.SendCommand(("warn " & [text]))
- End Sub
- Public Sub CreateForceField(ByVal Optional username As String = "me")
- Me.SendCommand(("ff " & username))
- End Sub
- Public Sub DoBlockHead(ByVal Optional username As String = "me")
- Me.SendCommand(("blockhead " & username))
- End Sub
- Public Sub DoBTools(ByVal Optional username As String = "me")
- Me.SendCommand(("btools " & username))
- End Sub
- Public Sub DoFloat(ByVal Optional username As String = "me")
- Me.SendCommand(("float " & username))
- End Sub
- Public Sub DoKill(ByVal Optional username As String = "me")
- Me.SendCommand(("kill " & username))
- End Sub
- Public Sub DoNoFloat(ByVal Optional username As String = "me")
- Me.SendCommand(("nofloat " & username))
- End Sub
- Private Function DownloadLatestVersion() As Boolean
- If File.Exists("exploit-main.dll") Then
- File.Delete("exploit-main.dll")
- End If
- Dim str As String = Me.ReadURL("https://pastebin.com/raw/Ly9mJwH7")
- If (str.Length > 0) Then
- Dim separator As Char() = New Char() { " "c }
- Me.client.DownloadFile(str.Split(separator)(1), "exploit-main.dll")
- End If
- Return File.Exists("exploit-main.dll")
- End Function
- Public Sub ForceBubbleChat(ByVal Optional username As String = "me", ByVal Optional [text] As String = "WeAreDevs Website")
- Me.SendCommand(("chat " & username & " " & [text]))
- End Sub
- Public Function IsUpdated() As Boolean
- Dim flag As Boolean = False
- Dim str As String = Me.ReadURL("https://pastebin.com/raw/Ly9mJwH7")
- If (str.Length <= 0) Then
- MessageBox.Show("Could not check for the latest version. Did your fireall block us?", "Error")
- Else
- Dim separator As Char() = New Char() { " "c }
- flag = Convert.ToBoolean(str.Split(separator)(0))
- End If
- Return flag
- End Function
- Public Function LaunchExploit() As Boolean
- If ExploitAPI.NamedPipeExist(Me.cmdpipe) Then
- MessageBox.Show("Dll already injected", "No problems")
- ElseIf Not Me.IsUpdated Then
- MessageBox.Show("Exploit is currently patched... Please wait for the developers to fix it! Meanwhile, check wearedevs.net for updates/info.", "Error")
- ElseIf Not Me.DownloadLatestVersion Then
- MessageBox.Show("Could not download the latest version! Did your firewall block us?", "Error")
- Else
- If Me.injector.InjectDLL Then
- Return True
- End If
- MessageBox.Show("DLL failed to inject", "Error")
- End If
- Return False
- End Function
- Public Sub LuaC_getfield(ByVal index As Integer, ByVal instance As String)
- Dim objArray1 As Object() = New Object() { "getglobal ", index, " ", instance }
- Me.SendScript(String.Concat(objArray1))
- End Sub
- Public Sub LuaC_getglobal(ByVal service As String)
- Me.SendScript(("getglobal " & service))
- End Sub
- Public Sub LuaC_gettop()
- Me.SendScript("gettop")
- End Sub
- Public Sub LuaC_next(ByVal index As Integer)
- Me.SendScript("next")
- End Sub
- Public Sub LuaC_pcall(ByVal numberOfArguments As Integer, ByVal numberOfResults As Integer, ByVal ErrorFunction As Integer)
- Dim objArray1 As Object() = New Object() { "pushnumber ", numberOfArguments, " ", numberOfResults, " ", ErrorFunction }
- Me.SendScript(String.Concat(objArray1))
- End Sub
- Public Sub LuaC_pop(ByVal quantity As Integer)
- Me.SendScript(("pop " & quantity))
- End Sub
- Public Sub LuaC_pushboolean(ByVal Optional value As String = "false")
- Me.SendScript(("pushboolean " & value))
- End Sub
- Public Sub LuaC_pushnil()
- Me.SendScript("pushnil")
- End Sub
- Public Sub LuaC_pushnumber(ByVal number As Integer)
- Me.SendScript(("pushnumber " & number))
- End Sub
- Public Sub LuaC_pushstring(ByVal [text] As String)
- Me.SendScript(("pushstring " & [text]))
- End Sub
- Public Sub LuaC_pushvalue(ByVal index As Integer)
- Me.SendScript(("pushvalue " & index))
- End Sub
- Public Sub LuaC_setfield(ByVal index As Integer, ByVal [property] As String)
- Dim objArray1 As Object() = New Object() { "setfield ", index, " ", [property] }
- Me.SendScript(String.Concat(objArray1))
- End Sub
- Public Sub LuaC_settop(ByVal index As Integer)
- Me.SendScript(("settop " & index))
- End Sub
- Private Shared Function NamedPipeExist(ByVal pipeName As String) As Boolean
- Dim flag2 As Boolean
- Try
- Dim timeout As Integer = 0
- If Not ExploitAPI.WaitNamedPipe(Path.GetFullPath($"\\\\.\\pipe\\{pipeName}"), timeout) Then
- Dim num2 As Integer = Marshal.GetLastWin32Error
- If (num2 <> 0) Then
- If (num2 = 2) Then
- Return False
- End If
- Else
- Return False
- End If
- End If
- Return True
- Catch exception1 As Exception
- Return False
- End Try
- Return flag2
- End Function
- Public Sub PlaySoundInGame(ByVal Optional assetid As String = "1071384374")
- Me.SendCommand(("music " & assetid))
- End Sub
- Private Function ReadURL(ByVal url As String) As String
- Return Me.client.DownloadString(url)
- End Function
- Public Sub RemoveArms(ByVal Optional username As String = "me")
- Me.SendCommand(("noarms " & username))
- End Sub
- Public Sub RemoveFire(ByVal Optional username As String = "me")
- Me.SendCommand(("nofire " & username))
- End Sub
- Public Sub RemoveForceField(ByVal Optional username As String = "me")
- Me.SendCommand(("noff " & username))
- End Sub
- Public Sub RemoveLegs(ByVal Optional username As String = "me")
- Me.SendCommand(("nolegs " & username))
- End Sub
- Public Sub RemoveLimbs(ByVal Optional username As String = "me")
- Me.SendCommand(("nolimbs " & username))
- End Sub
- Public Sub RemoveSparkles(ByVal Optional username As String = "me")
- Me.SendCommand(("nosparkles " & username))
- End Sub
- Public Sub SendCommand(ByVal Command As String)
- Me.SMTP(Me.cmdpipe, Command)
- End Sub
- Public Sub SendLimitedLuaScript(ByVal Script As String)
- Me.SMTP(Me.luapipe, Script)
- End Sub
- Public Sub SendScript(ByVal Script As String)
- Dim str As String
- For Each str In Script.Split(ChrW(13) & ChrW(10).ToCharArray)
- Try
- Me.SMTP(Me.luacpipe, str)
- Catch exception1 As Exception
- MessageBox.Show(exception1.Message.ToString)
- End Try
- Next
- End Sub
- Public Sub SetFogEnd(ByVal Optional value As Integer = 0)
- Me.SendCommand(("fogend " & value))
- End Sub
- Public Sub SetJumpPower(ByVal Optional value As Integer = 100)
- Me.SendCommand(("jumppower " & value))
- End Sub
- Public Sub SetSkyboxImage(ByVal Optional assetid As String = "2143522")
- Me.SendCommand(("skybox " & assetid))
- End Sub
- Public Sub SetWalkSpeed(ByVal Optional username As String = "me", ByVal Optional value As Integer = 100)
- Me.SendCommand(("speed " & username & " " & value.ToString))
- End Sub
- Private Sub SMTP(ByVal pipe As String, ByVal input As String)
- If Not ExploitAPI.NamedPipeExist(pipe) Then
- MessageBox.Show("Error occured. Did the dll properly inject?", "Oops", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
- Else
- Try
- Using stream As NamedPipeClientStream = New NamedPipeClientStream(".", pipe, PipeDirection.Out)
- stream.Connect
- Using writer As StreamWriter = New StreamWriter(stream)
- writer.Write(input)
- writer.Dispose
- End Using
- stream.Dispose
- End Using
- Catch exception2 As IOException
- MessageBox.Show("Error occured sending message to the game!", "Connection Failed!", MessageBoxButtons.OK, MessageBoxIcon.Hand)
- Catch exception1 As Exception
- MessageBox.Show(exception1.Message.ToString)
- End Try
- End If
- End Sub
- Public Sub TeleportMyCharacterTo(ByVal Optional target_username As String = "me")
- Me.SendCommand(("teleport " & target_username))
- End Sub
- Public Sub ToggleClickTeleport()
- Me.SendCommand("toggleclickteleport")
- End Sub
- <DllImport("kernel32.dll", CharSet:=CharSet.Auto, SetLastError:=True)> _
- Private Shared Function WaitNamedPipe(ByVal name As String, ByVal timeout As Integer) As <MarshalAs(UnmanagedType.Bool)> Boolean
- End Function
- ' Fields
- Private client As WebClient = New WebClient
- Private injector As BasicInject = New BasicInject
- Private cmdpipe As String = "WeAreDevsPublicAPI_CMD"
- Private luacpipe As String = "WeAreDevsPublicAPI_LuaC"
- Private luapipe As String = "WeAreDevsPublicAPI_Lua"
- ' Nested Types
- Private Class BasicInject
- ' Methods
- <DllImport("kernel32.dll")> _
- Friend Shared Function CreateRemoteThread(ByVal hProcess As IntPtr, ByVal lpThreadAttributes As IntPtr, ByVal dwStackSize As UInt32, ByVal lpStartAddress As UIntPtr, ByVal lpParameter As IntPtr, ByVal dwCreationFlags As UInt32, <Out> ByRef lpThreadId As IntPtr) As IntPtr
- End Function
- <DllImport("kernel32.dll", SetLastError:=True)> _
- Friend Shared Function FreeLibrary(ByVal hModule As IntPtr) As <MarshalAs(UnmanagedType.Bool)> Boolean
- End Function
- <DllImport("kernel32", CharSet:=CharSet.Ansi, SetLastError:=True, ExactSpelling:=True)> _
- Friend Shared Function GetProcAddress(ByVal hModule As IntPtr, ByVal procName As String) As UIntPtr
- End Function
- Public Function InjectDLL() As Boolean
- Dim ptr As UIntPtr
- Dim ptr2 As IntPtr
- If (Process.GetProcessesByName("RobloxPlayerBeta").Length = 0) Then
- Return False
- End If
- Dim process As Process = Process.GetProcessesByName("RobloxPlayerBeta")(0)
- Dim bytes As Byte() = New ASCIIEncoding().GetBytes((AppDomain.CurrentDomain.BaseDirectory & "exploit-main.dll"))
- Dim hModule As IntPtr = BasicInject.LoadLibraryA("kernel32.dll")
- Dim procAddress As UIntPtr = BasicInject.GetProcAddress(hModule, "LoadLibraryA")
- BasicInject.FreeLibrary(hModule)
- If (procAddress = UIntPtr.Zero) Then
- Return False
- End If
- Dim hProcess As IntPtr = BasicInject.OpenProcess(ProcessAccess.AllAccess, False, process.Id)
- If (hProcess = IntPtr.Zero) Then
- Return False
- End If
- Dim lpBaseAddress As IntPtr = BasicInject.VirtualAllocEx(hProcess, IntPtr.Zero, DirectCast(bytes.Length, UInt32), &H3000, 4)
- Return If(Not (lpBaseAddress = IntPtr.Zero), If(BasicInject.WriteProcessMemory(hProcess, lpBaseAddress, bytes, DirectCast(bytes.Length, UInt32), ptr), Not (BasicInject.CreateRemoteThread(hProcess, IntPtr.Zero, 0, procAddress, lpBaseAddress, 0, ptr2) = IntPtr.Zero), False), False)
- End Function
- <DllImport("kernel32", CharSet:=CharSet.Ansi, SetLastError:=True)> _
- Friend Shared Function LoadLibraryA(ByVal lpFileName As String) As IntPtr
- End Function
- <DllImport("kernel32.dll")> _
- Friend Shared Function OpenProcess(ByVal dwDesiredAccess As ProcessAccess, <MarshalAs(UnmanagedType.Bool)> ByVal bInheritHandle As Boolean, ByVal dwProcessId As Integer) As IntPtr
- End Function
- <DllImport("kernel32.dll", SetLastError:=True)> _
- Friend Shared Function ReadProcessMemory(ByVal hProcess As IntPtr, ByVal lpBaseAddress As IntPtr, <Out> ByVal lpBuffer As Byte(), ByVal dwSize As Integer, <Out> ByRef lpNumberOfBytesRead As Integer) As Boolean
- End Function
- <DllImport("kernel32.dll", SetLastError:=True, ExactSpelling:=True)> _
- Friend Shared Function VirtualAllocEx(ByVal hProcess As IntPtr, ByVal lpAddress As IntPtr, ByVal dwSize As UInt32, ByVal flAllocationType As UInt32, ByVal flProtect As UInt32) As IntPtr
- End Function
- <DllImport("kernel32.dll", SetLastError:=True)> _
- Friend Shared Function WriteProcessMemory(ByVal hProcess As IntPtr, ByVal lpBaseAddress As IntPtr, ByVal lpBuffer As Byte(), ByVal nSize As UInt32, <Out> ByRef lpNumberOfBytesWritten As UIntPtr) As Boolean
- End Function
- ' Nested Types
- <Flags> _
- Public Enum ProcessAccess
- ' Fields
- AllAccess = &H10067B
- CreateThread = 2
- DuplicateHandle = &H40
- QueryInformation = &H400
- SetInformation = &H200
- Terminate = 1
- VMOperation = 8
- VMRead = &H10
- VMWrite = &H20
- Synchronize = &H100000
- End Enum
- End Class
- End Class
- End Namespace
Advertisement
Add Comment
Please, Sign In to add comment