View difference between Paste ID: tkpz2yN1 and N086vn7N
SHOW: | | - or go back to the newest paste.
1
using System;
2
using System.Diagnostics;
3
using System.IO;
4
using System.IO.Pipes;
5
using System.Net;
6
using System.Runtime.InteropServices;
7
using System.Text;
8
using System.Windows.Forms;
9
10-
namespace test
10+
namespace WeAreDevs_API
11
{
12-
    // Token: 0x02000002 RID: 2
12+
	// Token: 0x02000002 RID: 2
13-
    public class ExploitAPI
13+
	public class ExploitAPI
14-
    {
14+
	{
15-
        // Token: 0x06000001 RID: 1
15+
		// Token: 0x06000001 RID: 1
16-
        [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
16+
		[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
17-
        [return: MarshalAs(UnmanagedType.Bool)]
17+
		[return: MarshalAs(UnmanagedType.Bool)]
18-
        private static extern bool WaitNamedPipe(string name, int timeout);
18+
		private static extern bool WaitNamedPipe(string name, int timeout);
19
20-
        // Token: 0x06000002 RID: 2 RVA: 0x00002050 File Offset: 0x00000250
20+
		// Token: 0x06000002 RID: 2 RVA: 0x00002050 File Offset: 0x00000250
21-
        private static bool NamedPipeExist(string pipeName)
21+
		public static bool NamedPipeExist(string pipeName)
22-
        {
22+
		{
23-
            bool result;
23+
			bool result;
24-
            try
24+
			try
25-
            {
25+
			{
26-
                int timeout = 0;
26+
				int timeout = 0;
27-
                if (!ExploitAPI.WaitNamedPipe(Path.GetFullPath(string.Format("\\\\\\\\.\\\\pipe\\\\{0}", pipeName)), timeout))
27+
				if (!ExploitAPI.WaitNamedPipe(Path.GetFullPath(string.Format("\\\\.\\pipe\\{0}", pipeName)), timeout))
28-
                {
28+
				{
29-
                    int lastWin32Error = Marshal.GetLastWin32Error();
29+
					int lastWin32Error = Marshal.GetLastWin32Error();
30-
                    if (lastWin32Error == 0)
30+
					if (lastWin32Error == 0)
31-
                    {
31+
					{
32-
                        result = false;
32+
						result = false;
33-
                        return result;
33+
						return result;
34-
                    }
34+
					}
35-
                    if (lastWin32Error == 2)
35+
					if (lastWin32Error == 2)
36-
                    {
36+
					{
37-
                        result = false;
37+
						result = false;
38-
                        return result;
38+
						return result;
39-
                    }
39+
					}
40-
                }
40+
				}
41-
                result = true;
41+
				result = true;
42-
            }
42+
			}
43-
            catch (Exception)
43+
			catch (Exception)
44-
            {
44+
			{
45-
                result = false;
45+
				result = false;
46-
            }
46+
			}
47-
            return result;
47+
			return result;
48-
        }
48+
		}
49
50-
        // Token: 0x06000003 RID: 3 RVA: 0x000020AC File Offset: 0x000002AC
50+
		// Token: 0x06000003 RID: 3 RVA: 0x000020A8 File Offset: 0x000002A8
51-
        private void SMTP(string pipe, string input)
51+
		private void SMTP(string pipe, string input)
52-
        {
52+
		{
53-
            if (ExploitAPI.NamedPipeExist(pipe))
53+
			if (ExploitAPI.NamedPipeExist(pipe))
54-
            {
54+
			{
55-
                try
55+
				try
56-
                {
56+
				{
57-
                    using (NamedPipeClientStream namedPipeClientStream = new NamedPipeClientStream(".", pipe, PipeDirection.Out))
57+
					using (NamedPipeClientStream namedPipeClientStream = new NamedPipeClientStream(".", pipe, PipeDirection.Out))
58-
                    {
58+
					{
59-
                        namedPipeClientStream.Connect();
59+
						namedPipeClientStream.Connect();
60-
                        using (StreamWriter streamWriter = new StreamWriter(namedPipeClientStream))
60+
						using (StreamWriter streamWriter = new StreamWriter(namedPipeClientStream))
61-
                        {
61+
						{
62-
                            streamWriter.Write(input);
62+
							streamWriter.Write(input);
63-
                            streamWriter.Dispose();
63+
							streamWriter.Dispose();
64-
                        }
64+
						}
65-
                        namedPipeClientStream.Dispose();
65+
						namedPipeClientStream.Dispose();
66-
                    }
66+
					}
67-
                    return;
67+
					return;
68-
                }
68+
				}
69-
                catch (IOException)
69+
				catch (IOException)
70-
                {
70+
				{
71-
                    MessageBox.Show("Error occured sending message to the game!", "Connection Failed!", MessageBoxButtons.OK, MessageBoxIcon.Hand);
71+
					MessageBox.Show("Error occured sending message to the game!", "Connection Failed!", MessageBoxButtons.OK, MessageBoxIcon.Hand);
72-
                    return;
72+
					return;
73-
                }
73+
				}
74-
                catch (Exception ex)
74+
				catch (Exception arg_65_0)
75-
                {
75+
				{
76-
                    MessageBox.Show(ex.Message.ToString());
76+
					MessageBox.Show(arg_65_0.Message.ToString());
77-
                    return;
77+
					return;
78-
                }
78+
				}
79-
            }
79+
			}
80-
            MessageBox.Show("Error occured. Did the dll properly inject?", "Oops", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
80+
			MessageBox.Show("Error occured. Did the dll properly inject?", "Oops", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
81-
        }
81+
		}
82
83-
        // Token: 0x06000004 RID: 4 RVA: 0x00002178 File Offset: 0x00000378
83+
		// Token: 0x06000004 RID: 4 RVA: 0x00002174 File Offset: 0x00000374
84-
        private string ReadURL(string url)
84+
		private string ReadURL(string url)
85-
        {
85+
		{
86-
            return this.client.DownloadString(url);
86+
			return this.client.DownloadString(url);
87-
        }
87+
		}
88
89-
        // Token: 0x06000005 RID: 5 RVA: 0x00002188 File Offset: 0x00000388
89+
		// Token: 0x06000005 RID: 5 RVA: 0x00002184 File Offset: 0x00000384
90-
        public bool IsUpdated()
90+
		private string GetLatestData()
91-
        {
91+
		{
92-
            bool result = false;
92+
			string text = this.ReadURL("https://cdn.wearedevs.net/software/exploitapi/latestdata.txt");
93-
            string text = this.ReadURL("https://pastebin.com/raw/Ly9mJwH7");
93+
			if (text.Length > 0)
94-
            if (text.Length > 0)
94+
			{
95-
            {
95+
				return text;
96-
                result = Convert.ToBoolean(text.Split(new char[]
96+
			}
97-
                {
97+
			string text2 = this.ReadURL("https://pastebin.com/raw/Ly9mJwH7");
98-
' '
98+
			if (text2.Length > 0)
99-
                })[0]);
99+
			{
100-
            }
100+
				return text2;
101-
            else
101+
			}
102-
            {
102+
			return "";
103-
                MessageBox.Show("Could not check for the latest version. Did your fireall block us?", "Error");
103+
		}
104-
            }
104+
105-
            return result;
105+
		// Token: 0x06000006 RID: 6 RVA: 0x000021C4 File Offset: 0x000003C4
106-
        }
106+
		public bool IsUpdated()
107
		{
108-
        // Token: 0x06000006 RID: 6 RVA: 0x000021D8 File Offset: 0x000003D8
108+
			bool result = false;
109-
        private bool DownloadLatestVersion()
109+
			string latestData = this.GetLatestData();
110-
        {
110+
			if (latestData.Length > 0)
111-
            if (File.Exists("exploit-main.dll"))
111+
			{
112-
            {
112+
				result = Convert.ToBoolean(latestData.Split(new char[]
113-
                File.Delete("exploit-main.dll");
113+
				{
114-
            }
114+
					' '
115-
            string text = this.ReadURL("https://pastebin.com/raw/Ly9mJwH7");
115+
				})[0]);
116-
            if (text.Length > 0)
116+
			}
117-
            {
117+
			else
118-
                this.client.DownloadFile(text.Split(new char[]
118+
			{
119-
                {
119+
				MessageBox.Show("Could not check for the latest version. Did your fireall block us?", "Error");
120-
' '
120+
			}
121-
                })[1], "exploit-main.dll");
121+
			return result;
122-
            }
122+
		}
123-
            return File.Exists("exploit-main.dll");
123+
124-
        }
124+
		// Token: 0x06000007 RID: 7 RVA: 0x00002210 File Offset: 0x00000410
125
		private bool DownloadLatestVersion()
126-
        // Token: 0x06000007 RID: 7 RVA: 0x00002244 File Offset: 0x00000444
126+
		{
127-
        public bool LaunchExploit()
127+
			if (File.Exists("exploit-main.dll"))
128-
        {
128+
			{
129-
            if (ExploitAPI.NamedPipeExist(this.cmdpipe))
129+
				File.Delete("exploit-main.dll");
130-
            {
130+
			}
131-
                MessageBox.Show("Dll already injected", "No problems");
131+
			string latestData = this.GetLatestData();
132-
            }
132+
			if (latestData.Length > 0)
133-
            else if (this.IsUpdated())
133+
			{
134-
            {
134+
				this.client.DownloadFile(latestData.Split(new char[]
135-
                if (this.DownloadLatestVersion())
135+
				{
136-
                {
136+
					' '
137-
                    if (this.injector.InjectDLL())
137+
				})[1], "exploit-main.dll");
138-
                    {
138+
			}
139-
                        return true;
139+
			return File.Exists("exploit-main.dll");
140-
                    }
140+
		}
141-
                    MessageBox.Show("DLL failed to inject", "Error");
141+
142-
                }
142+
		// Token: 0x06000008 RID: 8 RVA: 0x00002275 File Offset: 0x00000475
143-
                else
143+
		public bool isAPIAttached()
144-
                {
144+
		{
145-
                    MessageBox.Show("Could not download the latest version! Did your firewall block us?", "Error");
145+
			return ExploitAPI.NamedPipeExist(this.cmdpipe);
146-
                }
146+
		}
147-
            }
147+
148-
            else
148+
		// Token: 0x06000009 RID: 9 RVA: 0x00002288 File Offset: 0x00000488
149-
            {
149+
		public bool LaunchExploit()
150-
                MessageBox.Show("Exploit currently patched. Try again tomorrow!", "Error");
150+
		{
151-
            }
151+
			if (ExploitAPI.NamedPipeExist(this.cmdpipe))
152-
            return false;
152+
			{
153-
        }
153+
				MessageBox.Show("Dll already injected", "No problems");
154
			}
155-
        // Token: 0x06000008 RID: 8 RVA: 0x000022C4 File Offset: 0x000004C4
155+
			else if (this.IsUpdated())
156-
        internal void SendCommand(string Command)
156+
			{
157-
        {
157+
				if (this.DownloadLatestVersion())
158-
            this.SMTP(this.cmdpipe, Command);
158+
				{
159-
        }
159+
					if (this.injector.InjectDLL())
160
					{
161-
        // Token: 0x06000009 RID: 9 RVA: 0x000022D4 File Offset: 0x000004D4
161+
						return true;
162-
        public void SendScript(string Script)
162+
					}
163-
        {
163+
					MessageBox.Show("DLL failed to inject", "Error");
164-
            foreach (string input in Script.Split("\r\n".ToCharArray()))
164+
				}
165-
            {
165+
				else
166-
                try
166+
				{
167-
                {
167+
					MessageBox.Show("Could not download the latest version! Did your firewall block us?", "Error");
168-
                    this.SMTP(this.luacpipe, input);
168+
				}
169-
                }
169+
			}
170-
                catch (Exception ex)
170+
			else
171-
                {
171+
			{
172-
                    MessageBox.Show(ex.Message.ToString());
172+
				MessageBox.Show("Exploit is currently patched... Please wait for the developers to fix it! Meanwhile, check wearedevs.net for updates/info.", "Error");
173-
                }
173+
			}
174-
            }
174+
			return false;
175-
        }
175+
		}
176
177-
        // Token: 0x0600000A RID: 10 RVA: 0x00002338 File Offset: 0x00000538
177+
		// Token: 0x0600000A RID: 10 RVA: 0x00002308 File Offset: 0x00000508
178-
        public void SendLimitedLuaScript(string Script)
178+
		public void SendCommand(string Command)
179-
        {
179+
		{
180-
            this.SMTP(this.luapipe, Script);
180+
			this.SMTP(this.cmdpipe, Command);
181-
        }
181+
		}
182
183-
        // Token: 0x0600000B RID: 11 RVA: 0x00002347 File Offset: 0x00000547
183+
		// Token: 0x0600000B RID: 11 RVA: 0x00002317 File Offset: 0x00000517
184-
        public void LuaC_getglobal(string service)
184+
		[Obsolete("SendScript is deprecated, please use SendLuaCScript instead.")]
185-
        {
185+
		public void SendScript(string script)
186-
            this.SendScript("getglobal " + service);
186+
		{
187-
        }
187+
			this.SendLuaCScript(script);
188
		}
189-
        // Token: 0x0600000C RID: 12 RVA: 0x0000235A File Offset: 0x0000055A
189+
190-
        public void LuaC_getfield(int index, string instance)
190+
		// Token: 0x0600000C RID: 12 RVA: 0x00002320 File Offset: 0x00000520
191-
        {
191+
		public void SendLuaCScript(string Script)
192-
            this.SendScript(string.Concat(new object[]
192+
		{
193-
            {
193+
			string[] array = Script.Split("\r\n".ToCharArray());
194-
                "getglobal ",
194+
			for (int i = 0; i < array.Length; i++)
195-
                index,
195+
			{
196-
                " ",
196+
				string input = array[i];
197-
                instance
197+
				try
198-
            }));
198+
				{
199-
        }
199+
					this.SMTP(this.luacpipe, input);
200
				}
201-
        // Token: 0x0600000D RID: 13 RVA: 0x0000238A File Offset: 0x0000058A
201+
				catch (Exception arg_28_0)
202-
        public void LuaC_setfield(int index, string property)
202+
				{
203-
        {
203+
					MessageBox.Show(arg_28_0.Message.ToString());
204-
            this.SendScript(string.Concat(new object[]
204+
				}
205-
            {
205+
			}
206-
                "setfield ",
206+
		}
207-
                index,
207+
208-
                " ",
208+
		// Token: 0x0600000D RID: 13 RVA: 0x00002384 File Offset: 0x00000584
209-
                property
209+
		[Obsolete("SendLimitedLuaScript is deprecated, please use SendLuaScript instead.")]
210-
            }));
210+
		public void SendLimitedLuaScript(string script)
211-
        }
211+
		{
212
			this.SendLuaScript(script);
213-
        // Token: 0x0600000E RID: 14 RVA: 0x000023BA File Offset: 0x000005BA
213+
		}
214-
        public void LuaC_pushvalue(int index)
214+
215-
        {
215+
		// Token: 0x0600000E RID: 14 RVA: 0x0000238D File Offset: 0x0000058D
216-
            this.SendScript("pushvalue " + index);
216+
		public void SendLuaScript(string Script)
217-
        }
217+
		{
218
			this.SMTP(this.luapipe, Script);
219-
        // Token: 0x0600000F RID: 15 RVA: 0x000023D2 File Offset: 0x000005D2
219+
		}
220-
        public void LuaC_pushstring(string text)
220+
221-
        {
221+
		// Token: 0x0600000F RID: 15 RVA: 0x0000239C File Offset: 0x0000059C
222-
            this.SendScript("pushstring " + text);
222+
		public void LuaC_getglobal(string service)
223-
        }
223+
		{
224
			this.SendScript("getglobal " + service);
225-
        // Token: 0x06000010 RID: 16 RVA: 0x000023E5 File Offset: 0x000005E5
225+
		}
226-
        public void LuaC_pushnumber(int number)
226+
227-
        {
227+
		// Token: 0x06000010 RID: 16 RVA: 0x000023AF File Offset: 0x000005AF
228-
            this.SendScript("pushnumber " + number);
228+
		public void LuaC_getfield(int index, string instance)
229-
        }
229+
		{
230
			this.SendScript(string.Concat(new object[]
231-
        // Token: 0x06000011 RID: 17 RVA: 0x00002400 File Offset: 0x00000600
231+
			{
232-
        public void LuaC_pcall(int numberOfArguments, int numberOfResults, int ErrorFunction)
232+
				"getglobal ",
233-
        {
233+
				index,
234-
            this.SendScript(string.Concat(new object[]
234+
				" ",
235-
            {
235+
				instance
236-
                "pushnumber ",
236+
			}));
237-
                numberOfArguments,
237+
		}
238-
                " ",
238+
239-
                numberOfResults,
239+
		// Token: 0x06000011 RID: 17 RVA: 0x000023DF File Offset: 0x000005DF
240-
                " ",
240+
		public void LuaC_setfield(int index, string property)
241-
                ErrorFunction
241+
		{
242-
            }));
242+
			this.SendScript(string.Concat(new object[]
243-
        }
243+
			{
244
				"setfield ",
245-
        // Token: 0x06000012 RID: 18 RVA: 0x00002451 File Offset: 0x00000651
245+
				index,
246-
        public void LuaC_settop(int index)
246+
				" ",
247-
        {
247+
				property
248-
            this.SendScript("settop " + index);
248+
			}));
249-
        }
249+
		}
250
251-
        // Token: 0x06000013 RID: 19 RVA: 0x00002469 File Offset: 0x00000669
251+
		// Token: 0x06000012 RID: 18 RVA: 0x0000240F File Offset: 0x0000060F
252-
        public void LuaC_pushboolean(string value = "false")
252+
		public void LuaC_pushvalue(int index)
253-
        {
253+
		{
254-
            this.SendScript("pushboolean " + value);
254+
			this.SendScript("pushvalue " + index);
255-
        }
255+
		}
256
257-
        // Token: 0x06000014 RID: 20 RVA: 0x0000247C File Offset: 0x0000067C
257+
		// Token: 0x06000013 RID: 19 RVA: 0x00002427 File Offset: 0x00000627
258-
        public void LuaC_gettop()
258+
		public void LuaC_pushstring(string text)
259-
        {
259+
		{
260-
            this.SendScript("gettop");
260+
			this.SendScript("pushstring " + text);
261-
        }
261+
		}
262
263-
        // Token: 0x06000015 RID: 21 RVA: 0x00002489 File Offset: 0x00000689
263+
		// Token: 0x06000014 RID: 20 RVA: 0x0000243A File Offset: 0x0000063A
264-
        public void LuaC_pushnil()
264+
		public void LuaC_pushnumber(int number)
265-
        {
265+
		{
266-
            this.SendScript("pushnil");
266+
			this.SendScript("pushnumber " + number);
267-
        }
267+
		}
268
269-
        // Token: 0x06000016 RID: 22 RVA: 0x00002496 File Offset: 0x00000696
269+
		// Token: 0x06000015 RID: 21 RVA: 0x00002454 File Offset: 0x00000654
270-
        public void LuaC_next(int index)
270+
		public void LuaC_pcall(int numberOfArguments, int numberOfResults, int ErrorFunction)
271-
        {
271+
		{
272-
            this.SendScript("next");
272+
			this.SendScript(string.Concat(new object[]
273-
        }
273+
			{
274
				"pushnumber ",
275-
        // Token: 0x06000017 RID: 23 RVA: 0x000024A3 File Offset: 0x000006A3
275+
				numberOfArguments,
276-
        public void LuaC_pop(int quantity)
276+
				" ",
277-
        {
277+
				numberOfResults,
278-
            this.SendScript("pop " + quantity);
278+
				" ",
279-
        }
279+
				ErrorFunction
280
			}));
281-
        // Token: 0x06000018 RID: 24 RVA: 0x000024BB File Offset: 0x000006BB
281+
		}
282-
        public void DoBTools(string username = "me")
282+
283-
        {
283+
		// Token: 0x06000016 RID: 22 RVA: 0x000024A5 File Offset: 0x000006A5
284-
            this.SendCommand("btools " + username);
284+
		public void LuaC_settop(int index)
285-
        }
285+
		{
286
			this.SendScript("settop " + index);
287-
        // Token: 0x06000019 RID: 25 RVA: 0x000024CE File Offset: 0x000006CE
287+
		}
288-
        public void DoKill(string username = "me")
288+
289-
        {
289+
		// Token: 0x06000017 RID: 23 RVA: 0x000024BD File Offset: 0x000006BD
290-
            this.SendCommand("kill " + username);
290+
		public void LuaC_pushboolean(string value = "false")
291-
        }
291+
		{
292
			this.SendScript("pushboolean " + value);
293-
        // Token: 0x0600001A RID: 26 RVA: 0x000024E1 File Offset: 0x000006E1
293+
		}
294-
        public void CreateForceField(string username = "me")
294+
295-
        {
295+
		// Token: 0x06000018 RID: 24 RVA: 0x000024D0 File Offset: 0x000006D0
296-
            this.SendCommand("ff " + username);
296+
		public void LuaC_gettop()
297-
        }
297+
		{
298
			this.SendScript("gettop");
299-
        // Token: 0x0600001B RID: 27 RVA: 0x000024F4 File Offset: 0x000006F4
299+
		}
300-
        public void RemoveForceField(string username = "me")
300+
301-
        {
301+
		// Token: 0x06000019 RID: 25 RVA: 0x000024DD File Offset: 0x000006DD
302-
            this.SendCommand("noff " + username);
302+
		public void LuaC_pushnil()
303-
        }
303+
		{
304
			this.SendScript("pushnil");
305-
        // Token: 0x0600001C RID: 28 RVA: 0x00002507 File Offset: 0x00000707
305+
		}
306-
        public void DoFloat(string username = "me")
306+
307-
        {
307+
		// Token: 0x0600001A RID: 26 RVA: 0x000024EA File Offset: 0x000006EA
308-
            this.SendCommand("float " + username);
308+
		public void LuaC_next(int index)
309-
        }
309+
		{
310
			this.SendScript("next");
311-
        // Token: 0x0600001D RID: 29 RVA: 0x0000251A File Offset: 0x0000071A
311+
		}
312-
        public void DoNoFloat(string username = "me")
312+
313-
        {
313+
		// Token: 0x0600001B RID: 27 RVA: 0x000024F7 File Offset: 0x000006F7
314-
            this.SendCommand("nofloat " + username);
314+
		public void LuaC_pop(int quantity)
315-
        }
315+
		{
316
			this.SendScript("pop " + quantity);
317-
        // Token: 0x0600001E RID: 30 RVA: 0x0000252D File Offset: 0x0000072D
317+
		}
318-
        public void RemoveLimbs(string username = "me")
318+
319-
        {
319+
		// Token: 0x0600001C RID: 28 RVA: 0x0000250F File Offset: 0x0000070F
320-
            this.SendCommand("nolimbs " + username);
320+
		public void DoBTools(string username = "me")
321-
        }
321+
		{
322
			this.SendCommand("btools " + username);
323-
        // Token: 0x0600001F RID: 31 RVA: 0x00002540 File Offset: 0x00000740
323+
		}
324-
        public void RemoveArms(string username = "me")
324+
325-
        {
325+
		// Token: 0x0600001D RID: 29 RVA: 0x00002522 File Offset: 0x00000722
326-
            this.SendCommand("noarms " + username);
326+
		public void DoKill(string username = "me")
327-
        }
327+
		{
328
			this.SendCommand("kill " + username);
329-
        // Token: 0x06000020 RID: 32 RVA: 0x00002553 File Offset: 0x00000753
329+
		}
330-
        public void RemoveLegs(string username = "me")
330+
331-
        {
331+
		// Token: 0x0600001E RID: 30 RVA: 0x00002535 File Offset: 0x00000735
332-
            this.SendCommand("nolegs " + username);
332+
		public void CreateForceField(string username = "me")
333-
        }
333+
		{
334
			this.SendCommand("ff " + username);
335-
        // Token: 0x06000021 RID: 33 RVA: 0x00002566 File Offset: 0x00000766
335+
		}
336-
        public void AddFire(string username = "me")
336+
337-
        {
337+
		// Token: 0x0600001F RID: 31 RVA: 0x00002548 File Offset: 0x00000748
338-
            this.SendCommand("fire " + username);
338+
		public void RemoveForceField(string username = "me")
339-
        }
339+
		{
340
			this.SendCommand("noff " + username);
341-
        // Token: 0x06000022 RID: 34 RVA: 0x00002579 File Offset: 0x00000779
341+
		}
342-
        public void RemoveFire(string username = "me")
342+
343-
        {
343+
		// Token: 0x06000020 RID: 32 RVA: 0x0000255B File Offset: 0x0000075B
344-
            this.SendCommand("nofire " + username);
344+
		public void DoFloat(string username = "me")
345-
        }
345+
		{
346
			this.SendCommand("float " + username);
347-
        // Token: 0x06000023 RID: 35 RVA: 0x0000258C File Offset: 0x0000078C
347+
		}
348-
        public void AddSparkles(string username = "me")
348+
349-
        {
349+
		// Token: 0x06000021 RID: 33 RVA: 0x0000256E File Offset: 0x0000076E
350-
            this.SendCommand("sparkles " + username);
350+
		public void DoNoFloat(string username = "me")
351-
        }
351+
		{
352
			this.SendCommand("nofloat " + username);
353-
        // Token: 0x06000024 RID: 36 RVA: 0x0000259F File Offset: 0x0000079F
353+
		}
354-
        public void RemoveSparkles(string username = "me")
354+
355-
        {
355+
		// Token: 0x06000022 RID: 34 RVA: 0x00002581 File Offset: 0x00000781
356-
            this.SendCommand("nosparkles " + username);
356+
		public void RemoveLimbs(string username = "me")
357-
        }
357+
		{
358
			this.SendCommand("nolimbs " + username);
359-
        // Token: 0x06000025 RID: 37 RVA: 0x000025B2 File Offset: 0x000007B2
359+
		}
360-
        public void AddSmoke(string username = "me")
360+
361-
        {
361+
		// Token: 0x06000023 RID: 35 RVA: 0x00002594 File Offset: 0x00000794
362-
            this.SendCommand("smoke " + username);
362+
		public void RemoveArms(string username = "me")
363-
        }
363+
		{
364
			this.SendCommand("noarms " + username);
365-
        // Token: 0x06000026 RID: 38 RVA: 0x000025C5 File Offset: 0x000007C5
365+
		}
366-
        public void DoBlockHead(string username = "me")
366+
367-
        {
367+
		// Token: 0x06000024 RID: 36 RVA: 0x000025A7 File Offset: 0x000007A7
368-
            this.SendCommand("blockhead " + username);
368+
		public void RemoveLegs(string username = "me")
369-
        }
369+
		{
370
			this.SendCommand("nolegs " + username);
371-
        // Token: 0x06000027 RID: 39 RVA: 0x000025D8 File Offset: 0x000007D8
371+
		}
372-
        public void ForceBubbleChat(string username = "me", string text = "WeAreDevs Website")
372+
373-
        {
373+
		// Token: 0x06000025 RID: 37 RVA: 0x000025BA File Offset: 0x000007BA
374-
            this.SendCommand("chat " + username + " " + text);
374+
		public void AddFire(string username = "me")
375-
        }
375+
		{
376
			this.SendCommand("fire " + username);
377-
        // Token: 0x06000028 RID: 40 RVA: 0x000025F1 File Offset: 0x000007F1
377+
		}
378-
        public void ConsolePrint(string text = "WeAreDevs Website")
378+
379-
        {
379+
		// Token: 0x06000026 RID: 38 RVA: 0x000025CD File Offset: 0x000007CD
380-
            this.SendCommand("print " + text);
380+
		public void RemoveFire(string username = "me")
381-
        }
381+
		{
382
			this.SendCommand("nofire " + username);
383-
        // Token: 0x06000029 RID: 41 RVA: 0x00002604 File Offset: 0x00000804
383+
		}
384-
        public void ConsoleWarn(string text = "meWeAreDevs Website")
384+
385-
        {
385+
		// Token: 0x06000027 RID: 39 RVA: 0x000025E0 File Offset: 0x000007E0
386-
            this.SendCommand("warn " + text);
386+
		public void AddSparkles(string username = "me")
387-
        }
387+
		{
388
			this.SendCommand("sparkles " + username);
389-
        // Token: 0x0600002A RID: 42 RVA: 0x00002617 File Offset: 0x00000817
389+
		}
390-
        public void SetWalkSpeed(string username = "me", int value = 100)
390+
391-
        {
391+
		// Token: 0x06000028 RID: 40 RVA: 0x000025F3 File Offset: 0x000007F3
392-
            this.SendCommand("speed " + username + " " + value.ToString());
392+
		public void RemoveSparkles(string username = "me")
393-
        }
393+
		{
394
			this.SendCommand("nosparkles " + username);
395-
        // Token: 0x0600002B RID: 43 RVA: 0x00002636 File Offset: 0x00000836
395+
		}
396-
        public void ToggleClickTeleport()
396+
397-
        {
397+
		// Token: 0x06000029 RID: 41 RVA: 0x00002606 File Offset: 0x00000806
398-
            this.SendCommand("toggleclickteleport");
398+
		public void AddSmoke(string username = "me")
399-
        }
399+
		{
400
			this.SendCommand("smoke " + username);
401-
        // Token: 0x0600002C RID: 44 RVA: 0x00002643 File Offset: 0x00000843
401+
		}
402-
        public void SetFogEnd(int value = 0)
402+
403-
        {
403+
		// Token: 0x0600002A RID: 42 RVA: 0x00002619 File Offset: 0x00000819
404-
            this.SendCommand("fogend " + value);
404+
		public void DoBlockHead(string username = "me")
405-
        }
405+
		{
406
			this.SendCommand("blockhead " + username);
407-
        // Token: 0x0600002D RID: 45 RVA: 0x0000265B File Offset: 0x0000085B
407+
		}
408-
        public void SetJumpPower(int value = 100)
408+
409-
        {
409+
		// Token: 0x0600002B RID: 43 RVA: 0x0000262C File Offset: 0x0000082C
410-
            this.SendCommand("jumppower " + value);
410+
		public void ForceBubbleChat(string username = "me", string text = "WeAreDevs Website")
411-
        }
411+
		{
412
			this.SendCommand("chat " + username + " " + text);
413-
        // Token: 0x0600002E RID: 46 RVA: 0x00002673 File Offset: 0x00000873
413+
		}
414-
        public void TeleportMyCharacterTo(string target_username = "me")
414+
415-
        {
415+
		// Token: 0x0600002C RID: 44 RVA: 0x00002645 File Offset: 0x00000845
416-
            this.SendCommand("teleport " + target_username);
416+
		public void ConsolePrint(string text = "WeAreDevs Website")
417-
        }
417+
		{
418
			this.SendCommand("print " + text);
419-
        // Token: 0x0600002F RID: 47 RVA: 0x00002686 File Offset: 0x00000886
419+
		}
420-
        public void PlaySoundInGame(string assetid = "1071384374")
420+
421-
        {
421+
		// Token: 0x0600002D RID: 45 RVA: 0x00002658 File Offset: 0x00000858
422-
            this.SendCommand("music " + assetid);
422+
		public void ConsoleWarn(string text = "meWeAreDevs Website")
423-
        }
423+
		{
424
			this.SendCommand("warn " + text);
425-
        // Token: 0x06000030 RID: 48 RVA: 0x00002699 File Offset: 0x00000899
425+
		}
426-
        public void SetSkyboxImage(string assetid = "2143522")
426+
427-
        {
427+
		// Token: 0x0600002E RID: 46 RVA: 0x0000266B File Offset: 0x0000086B
428-
            this.SendCommand("skybox " + assetid);
428+
		public void SetWalkSpeed(string username = "me", int value = 100)
429-
        }
429+
		{
430
			this.SendCommand("speed " + username + " " + value.ToString());
431-
        // Token: 0x04000001 RID: 1
431+
		}
432-
        private WebClient client = new WebClient();
432+
433
		// Token: 0x0600002F RID: 47 RVA: 0x0000268A File Offset: 0x0000088A
434-
        // Token: 0x04000002 RID: 2
434+
		public void ToggleClickTeleport()
435-
        private ExploitAPI.BasicInject injector = new ExploitAPI.BasicInject();
435+
		{
436
			this.SendCommand("toggleclickteleport");
437-
        // Token: 0x04000003 RID: 3
437+
		}
438-
        private string cmdpipe = "WeAreDevsPublicAPI_CMD";
438+
439
		// Token: 0x06000030 RID: 48 RVA: 0x00002697 File Offset: 0x00000897
440-
        // Token: 0x04000004 RID: 4
440+
		public void SetFogEnd(int value = 0)
441-
        private string luacpipe = "WeAreDevsPublicAPI_LuaC";
441+
		{
442
			this.SendCommand("fogend " + value);
443-
        // Token: 0x04000005 RID: 5
443+
		}
444-
        private string luapipe = "WeAreDevsPublicAPI_Lua";
444+
445
		// Token: 0x06000031 RID: 49 RVA: 0x000026AF File Offset: 0x000008AF
446-
        // Token: 0x02000003 RID: 3
446+
		public void SetJumpPower(int value = 100)
447-
        private class BasicInject
447+
		{
448-
        {
448+
			this.SendCommand("jumppower " + value);
449-
            // Token: 0x06000032 RID: 50
449+
		}
450-
            [DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
450+
451-
            internal static extern IntPtr LoadLibraryA(string lpFileName);
451+
		// Token: 0x06000032 RID: 50 RVA: 0x000026C7 File Offset: 0x000008C7
452
		public void TeleportMyCharacterTo(string target_username = "me")
453-
            // Token: 0x06000033 RID: 51
453+
		{
454-
            [DllImport("kernel32", CharSet = CharSet.Ansi, ExactSpelling = true, SetLastError = true)]
454+
			this.SendCommand("teleport " + target_username);
455-
            internal static extern UIntPtr GetProcAddress(IntPtr hModule, string procName);
455+
		}
456
457-
            // Token: 0x06000034 RID: 52
457+
		// Token: 0x06000033 RID: 51 RVA: 0x000026DA File Offset: 0x000008DA
458-
            [DllImport("kernel32.dll", SetLastError = true)]
458+
		public void PlaySoundInGame(string assetid = "1071384374")
459-
            [return: MarshalAs(UnmanagedType.Bool)]
459+
		{
460-
            internal static extern bool FreeLibrary(IntPtr hModule);
460+
			this.SendCommand("music " + assetid);
461
		}
462-
            // Token: 0x06000035 RID: 53
462+
463-
            [DllImport("kernel32.dll")]
463+
		// Token: 0x06000034 RID: 52 RVA: 0x000026ED File Offset: 0x000008ED
464-
            internal static extern IntPtr OpenProcess(ExploitAPI.BasicInject.ProcessAccess dwDesiredAccess, [MarshalAs(UnmanagedType.Bool)] bool bInheritHandle, int dwProcessId);
464+
		public void SetSkyboxImage(string assetid = "2143522")
465
		{
466-
            // Token: 0x06000036 RID: 54
466+
			this.SendCommand("skybox " + assetid);
467-
            [DllImport("kernel32.dll", ExactSpelling = true, SetLastError = true)]
467+
		}
468-
            internal static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);
468+
469
		// Token: 0x04000001 RID: 1
470-
            // Token: 0x06000037 RID: 55
470+
		private WebClient client = new WebClient();
471-
            [DllImport("kernel32.dll", SetLastError = true)]
471+
472-
            internal static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, out UIntPtr lpNumberOfBytesWritten);
472+
		// Token: 0x04000002 RID: 2
473
		private ExploitAPI.BasicInject injector = new ExploitAPI.BasicInject();
474-
            // Token: 0x06000038 RID: 56
474+
475-
            [DllImport("kernel32.dll")]
475+
		// Token: 0x04000003 RID: 3
476-
            internal static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttributes, uint dwStackSize, UIntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, out IntPtr lpThreadId);
476+
		private string cmdpipe = "WeAreDevsPublicAPI_CMD";
477
478-
            // Token: 0x06000039 RID: 57
478+
		// Token: 0x04000004 RID: 4
479-
            [DllImport("kernel32.dll", SetLastError = true)]
479+
		private string luacpipe = "WeAreDevsPublicAPI_LuaC";
480-
            internal static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out] byte[] lpBuffer, int dwSize, out int lpNumberOfBytesRead);
480+
481
		// Token: 0x04000005 RID: 5
482-
            // Token: 0x0600003A RID: 58 RVA: 0x000026EC File Offset: 0x000008EC
482+
		private string luapipe = "WeAreDevsPublicAPI_Lua";
483-
            public bool InjectDLL()
483+
484-
            {
484+
		// Token: 0x02000003 RID: 3
485-
                if (Process.GetProcessesByName("RobloxPlayerBeta").Length == 0)
485+
		private class BasicInject
486-
                {
486+
		{
487-
                    return false;
487+
			// Token: 0x06000036 RID: 54
488-
                }
488+
			[DllImport("kernel32", CharSet = CharSet.Ansi, SetLastError = true)]
489-
                Process process = Process.GetProcessesByName("RobloxPlayerBeta")[0];
489+
			internal static extern IntPtr LoadLibraryA(string lpFileName);
490-
                byte[] bytes = new ASCIIEncoding().GetBytes(AppDomain.CurrentDomain.BaseDirectory + "exploit-main.dll");
490+
491-
                IntPtr hModule = ExploitAPI.BasicInject.LoadLibraryA("kernel32.dll");
491+
			// Token: 0x06000037 RID: 55
492-
                UIntPtr procAddress = ExploitAPI.BasicInject.GetProcAddress(hModule, "LoadLibraryA");
492+
			[DllImport("kernel32", CharSet = CharSet.Ansi, ExactSpelling = true, SetLastError = true)]
493-
                ExploitAPI.BasicInject.FreeLibrary(hModule);
493+
			internal static extern UIntPtr GetProcAddress(IntPtr hModule, string procName);
494-
                if (procAddress == UIntPtr.Zero)
494+
495-
                {
495+
			// Token: 0x06000038 RID: 56
496-
                    return false;
496+
			[DllImport("kernel32.dll", SetLastError = true)]
497-
                }
497+
			[return: MarshalAs(UnmanagedType.Bool)]
498-
                IntPtr intPtr = ExploitAPI.BasicInject.OpenProcess(ExploitAPI.BasicInject.ProcessAccess.AllAccess, false, process.Id);
498+
			internal static extern bool FreeLibrary(IntPtr hModule);
499-
                if (intPtr == IntPtr.Zero)
499+
500-
                {
500+
			// Token: 0x06000039 RID: 57
501-
                    return false;
501+
			[DllImport("kernel32.dll")]
502-
                }
502+
			internal static extern IntPtr OpenProcess(ExploitAPI.BasicInject.ProcessAccess dwDesiredAccess, [MarshalAs(UnmanagedType.Bool)] bool bInheritHandle, int dwProcessId);
503-
                IntPtr intPtr2 = ExploitAPI.BasicInject.VirtualAllocEx(intPtr, (IntPtr)0, (uint)bytes.Length, 12288u, 4u);
503+
504-
                UIntPtr uintPtr;
504+
			// Token: 0x0600003A RID: 58
505-
                IntPtr intPtr3;
505+
			[DllImport("kernel32.dll", ExactSpelling = true, SetLastError = true)]
506-
                return !(intPtr2 == IntPtr.Zero) && ExploitAPI.BasicInject.WriteProcessMemory(intPtr, intPtr2, bytes, (uint)bytes.Length, out uintPtr) && !(ExploitAPI.BasicInject.CreateRemoteThread(intPtr, (IntPtr)0, 0u, procAddress, intPtr2, 0u, out intPtr3) == IntPtr.Zero);
506+
			internal static extern IntPtr VirtualAllocEx(IntPtr hProcess, IntPtr lpAddress, uint dwSize, uint flAllocationType, uint flProtect);
507-
            }
507+
508
			// Token: 0x0600003B RID: 59
509-
            // Token: 0x02000004 RID: 4
509+
			[DllImport("kernel32.dll", SetLastError = true)]
510-
            [Flags]
510+
			internal static extern bool WriteProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, byte[] lpBuffer, uint nSize, out UIntPtr lpNumberOfBytesWritten);
511-
            public enum ProcessAccess
511+
512-
            {
512+
			// Token: 0x0600003C RID: 60
513-
                // Token: 0x04000007 RID: 7
513+
			[DllImport("kernel32.dll")]
514-
                AllAccess = 1050235,
514+
			internal static extern IntPtr CreateRemoteThread(IntPtr hProcess, IntPtr lpThreadAttributes, uint dwStackSize, UIntPtr lpStartAddress, IntPtr lpParameter, uint dwCreationFlags, out IntPtr lpThreadId);
515-
                // Token: 0x04000008 RID: 8
515+
516-
                CreateThread = 2,
516+
			// Token: 0x0600003D RID: 61
517-
                // Token: 0x04000009 RID: 9
517+
			[DllImport("kernel32.dll", SetLastError = true)]
518-
                DuplicateHandle = 64,
518+
			internal static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out] byte[] lpBuffer, int dwSize, out int lpNumberOfBytesRead);
519-
                // Token: 0x0400000A RID: 10
519+
520-
                QueryInformation = 1024,
520+
			// Token: 0x0600003E RID: 62 RVA: 0x00002740 File Offset: 0x00000940
521-
                // Token: 0x0400000B RID: 11
521+
			public bool InjectDLL()
522-
                SetInformation = 512,
522+
			{
523-
                // Token: 0x0400000C RID: 12
523+
				if (Process.GetProcessesByName("RobloxPlayerBeta").Length == 0)
524-
                Terminate = 1,
524+
				{
525-
                // Token: 0x0400000D RID: 13
525+
					return false;
526-
                VMOperation = 8,
526+
				}
527-
                // Token: 0x0400000E RID: 14
527+
				Process process = Process.GetProcessesByName("RobloxPlayerBeta")[0];
528-
                VMRead = 16,
528+
				byte[] bytes = new ASCIIEncoding().GetBytes(AppDomain.CurrentDomain.BaseDirectory + "exploit-main.dll");
529-
                // Token: 0x0400000F RID: 15
529+
				IntPtr expr_46 = ExploitAPI.BasicInject.LoadLibraryA("kernel32.dll");
530-
                VMWrite = 32,
530+
				UIntPtr procAddress = ExploitAPI.BasicInject.GetProcAddress(expr_46, "LoadLibraryA");
531-
                // Token: 0x04000010 RID: 16
531+
				ExploitAPI.BasicInject.FreeLibrary(expr_46);
532-
                Synchronize = 1048576
532+
				if (procAddress == UIntPtr.Zero)
533-
            }
533+
				{
534-
        }
534+
					return false;
535-
    }
535+
				}
536
				IntPtr intPtr = ExploitAPI.BasicInject.OpenProcess(ExploitAPI.BasicInject.ProcessAccess.AllAccess, false, process.Id);
537
				if (intPtr == IntPtr.Zero)
538
				{
539
					return false;
540
				}
541
				IntPtr intPtr2 = ExploitAPI.BasicInject.VirtualAllocEx(intPtr, (IntPtr)0, (uint)bytes.Length, 12288u, 4u);
542
				UIntPtr uIntPtr;
543
				IntPtr intPtr3;
544
				return !(intPtr2 == IntPtr.Zero) && ExploitAPI.BasicInject.WriteProcessMemory(intPtr, intPtr2, bytes, (uint)bytes.Length, out uIntPtr) && !(ExploitAPI.BasicInject.CreateRemoteThread(intPtr, (IntPtr)0, 0u, procAddress, intPtr2, 0u, out intPtr3) == IntPtr.Zero);
545
			}
546
547
			// Token: 0x02000004 RID: 4
548
			[Flags]
549
			public enum ProcessAccess
550
			{
551
				// Token: 0x04000007 RID: 7
552
				AllAccess = 1050235,
553
				// Token: 0x04000008 RID: 8
554
				CreateThread = 2,
555
				// Token: 0x04000009 RID: 9
556
				DuplicateHandle = 64,
557
				// Token: 0x0400000A RID: 10
558
				QueryInformation = 1024,
559
				// Token: 0x0400000B RID: 11
560
				SetInformation = 512,
561
				// Token: 0x0400000C RID: 12
562
				Terminate = 1,
563
				// Token: 0x0400000D RID: 13
564
				VMOperation = 8,
565
				// Token: 0x0400000E RID: 14
566
				VMRead = 16,
567
				// Token: 0x0400000F RID: 15
568
				VMWrite = 32,
569
				// Token: 0x04000010 RID: 16
570
				Synchronize = 1048576
571
			}
572
		}
573
	}
574
}