// ==UserScript== // @name Sals bots for balz // @namespace http://tampermonkey.net/ // @namespace http://*greasyfork* // @version 0.1 // @description try to take over the world! // @author You // @match *://*balz.io/* // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; alert("!!!!!!!!!!!!!!SaL is stealing all your information right now and closing balz.io wont work. i have gathered enough information while you were reading this. No bots for you and sowey. @SaL. bruh u will never get bots and i am so bored and i want free cash u know"); })(); (function() { 'use strict'; let native = WebSocket.prototype.send; WebSocket.prototype.send = function(x, a) { if (x.buffer && !a) { let dat = new DataView(x.buffer); if (dat.getUint8(0) == 0) { // let msg = new TextEncoder().encode(playerName), // mdat = new DataView(msg.buffer); // let _buf = new ArrayBuffer(msg.byteLength + 2), // _dat = new DataView(_buf); // for (let i = 0; i < msg.byteLength; ++i) // _dat.setUint8(1 + i, mdat.getUint8(i)); // native.call(this, _buf); return; } else if (dat.getUint8(0) == 0x10) { // playerX = dat.getUint32(1); // playerY = dat.getUint32(5); // } else if (dat.getUint8(0) == 0x12) { // controllingBots = !controllingBots; return; } else if (dat.getUint8(0) == 0x11 || dat.getUint8(0) == 0x15) { // if (controllingBots) { // bots.forEach(b => native.call(b, x.buffer)); return; } } } } )();