JOOTAA

Untitled

Jun 1st, 2018
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.75 KB | None | 0 0
  1. var url = null;
  2. var injectionHTML = '';
  3. injectionHTML += `PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsIDAsIDAsIDAuNDIpOyBwYWRkaW5nOjJweDsgZmxvYXQ6bGVmdDsgY29sb3I6d2hpdGU7IHBvc2l0aW9uOmFic29sdXRlOyBsZWZ0Oi0xcHg7IHRvcDotMXB4OyBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC41KTsgei1pbmRleCA6IDk5OTsiPiA8aW1nIHNyYz0iaHR0cHM6Ly9pLmltZ3VyLmNvbS9mNFdWQkdoLnBuZyIgc3R5bGU9ImhlaWdodDozM3B4OyB3aWR0aDoxODhweDsgZmxvYXQ6bGVmdDsiPjxkaXYgc3R5bGU9ImN1cnNvcjpkZWZhdWx0OyBmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDoxMnB4OyIgaWQ9Im1zZyI+IDxkaXYgc3R5bGU9IglmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDo2cHg7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpOyBwYWRkaW5nOjdweDsgYm9yZGVyLXJhZGl1czo1cHg7IC1tb3otYm9yZGVyLXJhZGl1czo1cHg7IC13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7IiBpZD0ibXNndHh0Ij5UaGFua3MgRm9yIFVzaW5nIE5leUJvdHMuZ2E8L2Rpdj4gPC9kaXY+IDxkaXYgc3R5bGU9ImN1cnNvcjpkZWZhdWx0OyBmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDoxMnB4OyIgaWQ9ImhvdGtleXMiPiA8ZGl2IGlkPSJzcGxpdGJvdHMiIHN0eWxlPSIJZmxvYXQ6bGVmdDsgbWFyZ2luLWxlZnQ6NnB4OyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTsgcGFkZGluZzo3cHg7IGJvcmRlci1yYWRpdXM6NXB4OyAtbW96LWJvcmRlci1yYWRpdXM6NXB4OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4OyI+PGRpdiBzdHlsZT0iCWZsb2F0OmxlZnQ7IGJvcmRlci1yYWRpdXM6M3B4OyBwYWRkaW5nOjJweCA2cHg7IGJhY2tncm91bmQtY29sb3I6I2M3MzUzNTsiID5FPC9kaXY+PGRpdiBzdHlsZT0iCWZsb2F0OmxlZnQ7IHBhZGRpbmc6MnB4OyBtYXJnaW4tbGVmdDo1cHg7Ij5TcGxpdDwvZGl2PjwvZGl2PiA8ZGl2IGlkPSJlamVjdGJvdHMiIHN0eWxlPSIgZmxvYXQ6bGVmdDsgbWFyZ2luLWxlZnQ6NnB4OyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTsgcGFkZGluZzo3cHg7IGJvcmRlci1yYWRpdXM6NXB4OyAtbW96LWJvcmRlci1yYWRpdXM6NXB4OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4OyI+PGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgYm9yZGVyLXJhZGl1czozcHg7IHBhZGRpbmc6MnB4IDZweDsgYmFja2dyb3VuZC1jb2xvcjojYzczNTM1OyI+UjwvZGl2PjxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7IHBhZGRpbmc6MnB4OyBtYXJnaW4tbGVmdDo1cHg7Ij5FamVjdDwvZGl2PjwvZGl2PiA8ZGl2IGlkPSJjaGFuZ2Vib3RzbW9kZSIgc3R5bGU9IglmbG9hdDpsZWZ0OyBtYXJnaW4tbGVmdDo2cHg7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjMpOyBwYWRkaW5nOjdweDsgYm9yZGVyLXJhZGl1czo1cHg7IC1tb3otYm9yZGVyLXJhZGl1czo1cHg7IC13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7Ij48ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyBib3JkZXItcmFkaXVzOjNweDsgcGFkZGluZzoycHggNnB4OyIgc3R5bGU9ImNvbG9yOiB5ZWxsb3ciPkM8L2Rpdj48ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyBwYWRkaW5nOjJweDsgbWFyZ2luLWxlZnQ6NXB4OyI+Qm90TW9kZTwvZGl2PjwvZGl2PiA8ZGl2IHN0eWxlPSIgZmxvYXQ6bGVmdDsgbWFyZ2luLWxlZnQ6NnB4OyBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zKTsgcGFkZGluZzo3cHg7IGJvcmRlci1yYWRpdXM6NXB4OyAtbW96LWJvcmRlci1yYWRpdXM6NXB4OyAtd2Via2l0LWJvcmRlci1yYWRpdXM6NXB4OyI+PGRpdiBzdHlsZT0iZmxvYXQ6bGVmdDsgYm9yZGVyLXJhZGl1czozcHg7IHBhZGRpbmc6MnB4IDZweDsiPlBpbmc8L2Rpdj48ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyBib3JkZXItcmFkaXVzOjNweDsgcGFkZGluZzoycHggNnB4OyIgaWQ9ImlvaGVscGVycGluZyI+MDwvZGl2PjwvZGl2PiA8L2Rpdj4gPC9kaXY+IDwvZGl2PiA8ZGl2IHN0eWxlPSIJdGV4dC1hbGlnbjpjZW50ZXI7IGJhY2tncm91bmQtY29sb3I6cmdiYSgwLCAwLCAwLCAwLjcxKTsgcGFkZGluZzo1cHg7IGZsb2F0OmxlZnQ7IHotaW5kZXg6IDk5OTsgY29sb3I6d2hpdGU7IHBvc2l0aW9uOmFic29sdXRlOyBsZWZ0Oi0xcHg7IHRvcDo0NHB4OyBib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC41KTsiPiA8ZGl2IGlkPSJib3RzY291bnRlciI+PGRpdiBzdHlsZT0iZmxvYXQ6bm9uZSI+IEJvdHM6IDAvMDwvZGl2PjwvZGl2PiA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOjVweDsgYm94LXNpemluZyA6IGJvcmRlci1ib3g7IiBpZD0iY291bnRkb3duIj4wZGF5cyAwaHJzIDBtaW5zIDBzZWNzPC9kaXY+IDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6NXB4OyBib3gtc2l6aW5nIDogYm9yZGVyLWJveDsiPmJvdE1vZGU6IDxzcGFuIGlkPSJib3Rtb2RlIj5TdGFuZGFyZDwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW4tYm90dG9tOjEwcHg7Zm9udC1zaXplOiAxMnB4OyI+VG9rZW4gPGEgaHJlZj0iaHR0cDovL2FwaS5pcGlmeS5vcmcvIiB0YXJnZXQ9Il9ibGFuayI+Q2xpY2sgRm9yIFRva2VuPC9hPiA8L2Rpdj4=`;
  4. var user = {
  5. x: 0,
  6. y: 0,
  7. cell: {
  8. x: 0,
  9. y: 0,
  10. },
  11. ip: null,
  12. offsetX: 0,
  13. offsetY: 0,
  14. origin: window.location.origin,
  15. mouseFreeze: false
  16. }
  17.  
  18. var send_Login = false;
  19. window._botSocket = window.WebSocket;
  20. function changeCanvas() {
  21. if (window.location.origin === "http://agar.red") {
  22. $('head').append(`<style type="text/css">#overlays {background: rgba(0, 0, 0, 0)!important;}</style>`);
  23. $('head').append(`<style type="text/css">#helloDialog {background: rgba(35, 35, 35, 0.84)!important;}</style>`);
  24. }
  25. }
  26. try {
  27. setTimeout(function() {
  28. changeCanvas();
  29. },5000);
  30. } catch(e) {
  31. setTimeout(function() {
  32. changeCanvas();
  33. },5000);
  34. }
  35. class Server {
  36. constructor(server) {
  37. this._ws = null;
  38. this._botServerIP = server;
  39. this.connect();
  40. }
  41. connect() {
  42. this._ws = new _botSocket(this._botServerIP);
  43. this._ws.binaryType = "arraybuffer";
  44. this._ws.onopen = this.OnOpen.bind(this);
  45. this._ws.onerror = this.OnError.bind(this);
  46. this._ws.onclose = this.OnClose.bind(this);
  47. this._ws.onmessage = this.OnMessage.bind(this);
  48. }
  49. OnOpen() {
  50. this._ws.send(JSON.stringify({
  51. read: 0,
  52. opcode: 0
  53. }));
  54. console.log("Server: Connected to bot server!");
  55. }
  56. OnError(err) {}
  57. OnClose(err) {
  58. send_Login = false;
  59. console.log("Server: Connected close", err);
  60. document.getElementById("msgtxt").innerHTML = `<span style='color:#dc1111;'>botServer Offline!</span>`;
  61. setTimeout(this.connect.bind(this), 5000);
  62. }
  63. OnMessage(msg) {
  64. var buf = JSON.parse(msg.data);
  65. switch (buf.data) {
  66. case 0:
  67. {
  68. switch (buf.opcode) {
  69. case 0:
  70. {
  71. document.getElementById("msgtxt").innerHTML = `<span style='color:#11dc11;'>IP Accepted!</span>`;
  72. setTimeout(function() {
  73. if (send_Login === false) {
  74. send_Login = true;
  75. this._ws.send(JSON.stringify({
  76. read: 0,
  77. opcode: 1
  78. }));
  79. }
  80. }.bind(this), 3000);
  81. switch (buf.readInfo) {
  82. case 0:
  83. {
  84. if (buf.reason === 0) {
  85. document.getElementById("msgtxt").innerHTML = `<span style='color:#11dc11;'>Login Accepted!</span>`;
  86. setInterval(function() {
  87. if (this._ws.readyState == 1) {
  88. if(user.mouseFreeze == true) return;
  89. this._ws.send(JSON.stringify({
  90. read: 0,
  91. opcode: 2,
  92. reason: {
  93. x: user.x,
  94. y: user.y
  95. }
  96. }))
  97. }
  98. }.bind(this), 50);
  99. setInterval(function() {
  100. if (this._ws.readyState == 1) {
  101. this._ws.send(JSON.stringify({
  102. read: 0,
  103. opcode: 3,
  104. reason: {
  105. ip: user.ip,
  106. origin: user.origin
  107. }
  108. }))
  109. }
  110. }.bind(this), 1000);
  111. } else if (buf.reason === 1) {
  112. document.getElementById("msgtxt").innerHTML = `<span style='color:#dc1111;'>Login Failed!</span>`;
  113. }
  114. }
  115. break;
  116. }
  117. }
  118. break;
  119. case 1:
  120. {
  121. document.getElementById("msgtxt").innerHTML = "<span style='color:#dc1111;'>IP alive!</span>";
  122. }
  123. break;
  124. case 2:
  125. {
  126. if (buf.reason.bots === 0) {
  127. document.getElementById("botscounter").innerHTML = `<div>${buf.reason.bots} / ${buf.reason.maxbots}</div>`;
  128. }
  129. if (buf.reason.bots > 0) {
  130. document.getElementById("botscounter").innerHTML = `<div>${buf.reason.bots} / ${buf.reason.maxbots}</div>`;
  131. }
  132. document.getElementById("countdown").innerHTML = `<div>${(buf.reason.time / 86400 >> 0)}days ${(buf.reason.time / 3600 % 24 >> 0)}hrs ${(buf.reason.time / 60 % 60 >> 0)}mins ${(buf.reason.time % 60 >> 0)}secs</div>`;
  133. }
  134. break;
  135. case 3:
  136. {
  137. document.getElementById("iohelperping").innerHTML = buf.ping;
  138. setTimeout(function() {
  139. this._ws.send(JSON.stringify({
  140. read: 0,
  141. opcode: 6
  142. }));
  143. }.bind(this), 1000);
  144. }
  145. break;
  146. }
  147. }
  148. break;
  149. }
  150. }
  151. sendSplit() {
  152. this._ws.send(JSON.stringify({
  153. read: 0,
  154. opcode: 4
  155. }));
  156. }
  157. sendEject() {
  158. this._ws.send(JSON.stringify({
  159. read: 0,
  160. opcode: 5
  161. }));
  162. }
  163. }
  164. document.addEventListener('keydown', function(e) {
  165. var key = e.keyCode || e.which;
  166. switch(key) {
  167. case 69:
  168. {
  169. document.getElementById("splitbots").innerHTML = `<div style="float:left;
  170. border-radius:3px;
  171. padding:2px 6px; background-color:#4db53c;" id="splitbots">E</div><div style="float:left;
  172. padding:2px;
  173. margin-left:5px;">Split</div>`;
  174. try {
  175. window.serverice.sendSplit();
  176. } catch(e) {}
  177. }
  178. break;
  179. case 82:
  180. {
  181. document.getElementById("ejectbots").innerHTML = `<div style="float:left;
  182. border-radius:3px;
  183. padding:2px 6px; background-color:#4db53c;" id="ejectbots">R</div><div style="float:left;
  184. padding:2px;
  185. margin-left:5px;">Eject .</div>`;
  186. try {
  187. window.serverice.sendEject();
  188. } catch(e) {}
  189. }
  190. break;
  191. case 67:
  192. {
  193. if(user.mouseFreeze == false) {
  194. document.getElementById("botmode").innerHTML = `Mouse Freeze`;
  195. user.mouseFreeze = true;
  196. } else if(user.mouseFreeze == true) {
  197. document.getElementById("botmode").innerHTML = `Standard`;
  198. user.mouseFreeze = false;
  199. }
  200. }
  201. break;
  202. }
  203. });
  204. document.addEventListener('keyup', function(e) {
  205. var key = e.keyCode || e.which;
  206. switch(key) {
  207. case 69:
  208. {
  209. document.getElementById("splitbots").innerHTML = `<div style="float:left;
  210. border-radius:3px;
  211. padding:2px 6px; background-color:#c73535;" >E</div><div style="float:left;
  212. padding:2px;
  213. margin-left:5px;">Split</div>`;
  214. }
  215. break;
  216. case 82:
  217. {
  218. document.getElementById("ejectbots").innerHTML = `<div style="float:left;border-radius:3px;padding:2px 6px; background-color:#c73535;" >R</div><div style="float:left;
  219. padding:2px;
  220. margin-left:5px;">Eject</div>`;
  221. }
  222. break;
  223. }
  224. });
  225.  
  226. function AtobMenu() {
  227. try {
  228. if (!document.contains(document.getElementById("q"))) {
  229. var q = document.createElement("div");
  230. q.setAttribute("id", "bfacgui");
  231. document.body.appendChild(q);
  232. }
  233. q.innerHTML = `${window.atob(injectionHTML)}`;
  234. } catch (e) {
  235. setTimeout(function() {
  236. AtobMenu();
  237. }, 3000);
  238. }
  239. }
  240. setTimeout(AtobMenu ,3000);
  241. setTimeout(function() {
  242. window.serverice = new Server("ws://35.196.228.234:8081");
  243. },5000);
  244.  
  245. WebSocket.prototype._send = WebSocket.prototype.send;
  246. WebSocket.prototype.send = function() {
  247. this._send.apply(this, arguments);
  248. console.log("url:" + this.url);
  249. if(url != this.url && this.url != "ws://35.196.228.234:8081/") {
  250. url = this.url;
  251. }
  252. var msg;
  253. switch(origin) {
  254. case "http://gkclan.me":
  255. msg = new DataView(arguments[0].buffer);
  256. break;
  257. // case "http://agar.red":
  258. // msg = new DataView(arguments[0].buffer);
  259. // break;
  260. case "http://bubla.io":
  261. msg = new DataView(arguments[0].buffer);
  262. break;
  263. case "http://abs0rb.me":
  264. msg = new DataView(arguments[0].buffer);
  265. break;
  266. case "http://www.agario.info":
  267. msg = new DataView(arguments[0].buffer);
  268. break;
  269. case "http://agarz.io":
  270. msg = new DataView(arguments[0].buffer);
  271. break;
  272. case "http://agar.io":
  273. msg = new DataView(arguments[0].buffer);
  274. break;
  275. default:
  276. msg = new DataView(arguments[0]);
  277. break;
  278. }
  279. if ((msg.byteLength > 0) && (msg.getUint8(0) != 16)) {
  280. var f = "";
  281. for (var i = 0; i < msg.byteLength; i++) {
  282. var a = msg.getUint8(i);
  283. f = f + a + " ";
  284. }
  285. var realbuffers = f.split(' ');
  286. var minusrealbuffermassiv = realbuffers.length;
  287. var drr = realbuffers.splice(i, minusrealbuffermassiv);
  288. console.log("Detected new package: " + realbuffers);
  289. }
  290. if (msg.getInt8(0, true) !== 16 || msg.getUint8(0, true) !== 16) return;
  291. switch (msg.byteLength) {
  292. case 21:
  293. user.x = msg.getFloat64(1, true);
  294. user.y = msg.getFloat64(9, true);
  295. break;
  296. case 13:
  297. user.x = msg.getInt32(1, true);
  298. user.y = msg.getInt32(5, true);
  299. break;
  300. default:
  301. user.x = msg.getInt16(1, true);
  302. user.y = msg.getInt16(5, true);
  303. break;
  304.  
  305. }
  306. if (this.url.match('localhost') || this.url.match('127.0.0.1')) return;
  307. user.ip = this.url;
  308. //window.console.clear();
  309. };
Add Comment
Please, Sign In to add comment