// ==UserScript== // @name ShellShocked // @description the most advanced hack for shell shockers. // @version 2.0.1 // @icon https://i.imgur.com/DtD4iJo.png // @author VillainsRule // @namespace https://github.com/VillainsRule/ShellShocked // @match *://*.shellshock.io/ // @match *://*.math.international/ // @run-at document-start // @grant GM_getValue // @grant GM_setValue // @grant GM_deleteValue // @grant unsafeWindow // ==/UserScript== // {{CRACKEDSHELL}} // {{!CRACKEDSHELL}} (() => {var e,t,s,n=Object.defineProperty,i=(e,t,s)=>(((e,t,s)=>{t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s})(e,"symbol"!=typeof t?t+"":t,s),s),o=(e,t,s)=>{if(!t.has(e))throw TypeError("Cannot "+s)},a=(e,t,s)=>(o(e,t,"read from private field"),s?s.call(e):t.get(e)),r=(e,t,s)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,s)},c=(e,t,s,n)=>(o(e,t,"write to private field"),n?n.call(e,s):t.set(e,s),s);const d=new class{constructor(){i(this,"createString",(()=>Math.random().toString(36).slice(2))),this.render=this.createString(),this.send=this.createString(),this.leaderboardUpdate=this.createString(),this.onStart=this.createString(),this.onKill=this.createString(),this.onSignOut=this.createString(),this.cheatManager=this.createString(),this.patcher=this.createString(),this.lineOrigin=this.createString(),this.lineArray=this.createString()}};e=new WeakMap;const l=new class{constructor(){i(this,"cheats",{}),i(this,"settings",{}),r(this,e,[]),i(this,"version","4"),i(this,"ignoreSync",!1),i(this,"createCategory",((e,t)=>this.cheats[e]=t||[])),i(this,"createCheat",((e,t,s)=>(this.settings[e]||"button"===t||(this.settings[e]="check"!==t&&("menu"===t?s.default:null)),{name:e,id:d.createString(),type:t||"check",label:"button"===t?s.label:null,options:"menu"===t?s.options:null}))),i(this,"listen",((t,s)=>a(this,e).push({cheat:t,callback:s}))),i(this,"runListeners",((t,s)=>a(this,e).filter((e=>e.cheat===t)).forEach((e=>e.callback(s))))),i(this,"enabled",(e=>this.settings[e])),i(this,"options",(e=>Object.values(this.cheats).flat().find((t=>t.name===e)).options)),i(this,"tick",(e=>{this.settings[e]=!this.settings[e],this.runListeners(e,!!this.settings[e]),this.ignoreSync||this.sync()})),i(this,"select",((e,t)=>{this.settings[e]=t,this.ignoreSync||this.sync()})),i(this,"activate",(e=>this.runListeners(e))),i(this,"reset",(()=>{confirm("Are you sure you want to wipe all of your cheat configuration? This will reload the page!")&&(GM_deleteValue("ssd_settings_"+this.version),this.ignoreSync=!0,setTimeout((()=>location.reload()),500))})),i(this,"sync",(()=>{this.ignoreSync||(Object.keys(this.settings).length?GM_setValue("ssd_settings_"+this.version,this.settings):this.reset())})),this.settings=GM_getValue("ssd_settings_"+this.version)||{}}addCheats(){this.createCategory("Combat",[this.createCheat("Auto Reload"),this.createCheat("Grenade Max")]),this.createCategory("Aimbot",[this.createCheat("Snap Mode","menu",{options:["Right Mouse","Trackpad","Always On","Off"],default:"Off"}),this.createCheat("One Kill")]),this.createCategory("ESP",[this.createCheat("Skin ESP"),this.createCheat("ESP Boxes"),this.createCheat("ESP Lines"),this.createCheat("Nametags")]),this.createCategory("Chat",[this.createCheat("View Filtered"),this.createCheat("Bypass Filter"),this.createCheat("Infinite History")]),this.createCategory("Misc",[this.createCheat("Coordinates"),this.createCheat("Leaderboard Health"),this.createCheat("Block Ads")]),GM_getValue("ssd_settings_"+this.version,null)||GM_setValue("ssd_settings_"+this.version,this.settings),Object.entries(this.settings).forEach((([e,t])=>"boolean"==typeof t&&!0===t&&this.runListeners(e)))}};unsafeWindow[""+d.cheatManager]=l,t=new WeakMap,s=new WeakMap;const h=new class{constructor(){r(this,t,void 0),r(this,s,void 0),i(this,"createListeners",(()=>{const e=e=>2===e.button?c(this,t,"pointerdown"===e.type):"",n=e=>2===e.button?c(this,s,!a(this,s)):"";unsafeWindow.addEventListener("pointerdown",(t=>(e(t),n(t)))),unsafeWindow.addEventListener("pointerup",e),unsafeWindow.addEventListener("keyup",(e=>{"INPUT"!==document.activeElement?.tagName&&"h"===e.key.toLowerCase()&&("none"===document.querySelector(".ssd_container")?.style?.display?document.querySelector(".ssd_container").style.display="":document.querySelector(".ssd_container").style.display="none")}))})),i(this,"mouseDown",(()=>!!a(this,t))),i(this,"trackpadActive",(()=>!!a(this,s))),unsafeWindow[d.onKill]=e=>l.enabled("One Kill")?c(this,s,!1):null}},u=new class{constructor(){i(this,"log",(e=>console.log("%c%s","color:black;background:#FFD700;padding:2px 6px; border-radius:3px;font-weight:1000;margin-right:5px;","ShellShocked",e))),i(this,"error",(e=>console.log("%c%s","color:white;background:red;padding:2px 6px; border-radius:3px;font-weight:1000;margin-right:5px;","ShellShocked",e)))}},p=new class{constructor(){i(this,"keys",{}),i(this,"create",((e,t)=>{t?this.keys[e]=t[1]:u.error(`Key ${e} could not be found.`)})),i(this,"interceptRequest",(()=>{let e=XMLHttpRequest;unsafeWindow.XMLHttpRequest=class extends e{constructor(){super(...arguments),i(this,"url")}open(e,t){return this.url=t,super.open(...arguments)}get response(){return this.url.includes("shellshock.js")?unsafeWindow[d.patcher].patch(super.response):super.response}}})),i(this,"patch",(e=>{let t=e;try{this.create("babylon",/playerCollisionMesh=(.*?)\./.exec(t)),this.create("playerList",/\]\.score-(.*?)\[/.exec(t)),this.create("myPlayer",/"fire":document.pointerLockElement&&([^&]+)&&/.exec(t)),this.create("scene",/\.engine\.stopRenderLoop\(\),(.*?)=/.exec(t)),this.create("cullFunction",/showShareLinkPopup.*?\}function (.*?)\(/.exec(t)),this.create("MeshBuilder",/wedgeCollisionMesh=.*?\.(.*?)\..*?\("",\{size:1\.5\}/.exec(t)),this.create("CreateBox",/\.([a-zA-Z_$0-9]+)\("[^"]+",{si/.exec(t)),this.create("CreateLines",/\.([a-zA-Z_$0-9]+)\("",{po/.exec(t)),this.create("Vector3",/this\.end=new .*?\.(.*?),/.exec(t)),this.create("actor",/this\.([a-zA-Z_$0-9]+)\.[a-zA-Z_$0-9]+\.position,!/.exec(t)),this.create("playing",/OPEN&&[a-zA-Z_$0-9]+\.([a-zA-Z_$0-9]+)/.exec(t)),this.create("yaw",/\*=[a-zA-Z_$0-9]+,[a-zA-Z_$0-9]+\.([a-zA-Z_$0-9]+)=Math\.r/.exec(t)),this.create("pitch",/\),[a-zA-Z_$0-9]+\.([a-zA-Z_$0-9]+)=Math\.max\(Math\.min/.exec(t)),this.create("mesh",/getMeshByName\("ammo"\)\.createInstance\(""\),this\.(.*?)\.setEnabled/.exec(t)),this.create("bodyMesh",/this.shield=0,this\..*?\.(.*?)\.renderOverlay=!1,/.exec(t)),this.create("filterFunction",/\.length>0&&!(.*?)\(/.exec(t)),this.create("health",/Dead=function\(\){return this\.(.*?)4/,`item");$1.length>(window['${d.cheatManager}'].enabled('Infinite History')?999999:4)`],[/=\.3\)\}(.*?)\.innerText=(.*?)\.score,/,`=.3)}$1.innerText=$2.score+\`\${window['${d.cheatManager}'].enabled('Leaderboard Health')?' | ❤️ '+Math.floor($2.${this.keys.health}):''}\`,`],[/\]\.style\.display="none",(.*?)\+\+\}function/,`].style.display='none',$1++}window['${d.leaderboardUpdate}']=${this.keys.leaderboardUpdate};function`],[/=null,console(.*?)18px;"\)/,"=null"],[/Remaining"\)\)\{/,"Remaining\")){if (confirm('You are currently banned from Shell Shockers. Click OK to sign out and remove this ban')) {extern.signOut();}; return;"]].forEach((e=>{let s=t;t=t.replace(e[0],e[1]),t===s&&u.error(`Patch ${e[0]} had no effect.`)})),u.log("Successfully patched shellshock.js."),t}))}};unsafeWindow[d.patcher]=p,unsafeWindow[d.send]=e=>(l.enabled("Bypass Filter")&&(e=["‮"].concat(e.split("").reverse()).join("")),e),l.listen("Coordinates",(e=>[...document.querySelectorAll(".coordinfo")].forEach((t=>t.style.display=e?"":"none")))),unsafeWindow[d.onStart]=()=>{document.querySelector("#readouts").insertAdjacentHTML("beforeend",`\n
coords
\n

\n `)},unsafeWindow[d.onSignOut]=()=>{Object.keys(localStorage).forEach((e=>localStorage.removeItem(e))),document.cookie="",document.body.insertAdjacentHTML("beforeend",'\n \n '),setTimeout((()=>location.reload(!0)),15e3)},unsafeWindow.WebSocket.prototype._send=WebSocket.prototype.send,unsafeWindow.WebSocket.prototype.send=function(e){if(e instanceof String)return this._send(e);if(0==e.byteLength)return this._send(e);let t=new Uint8Array(e);if(27===t[0]&&l.enabled("Grenade Max"))return t[1]=255,this._send(t.buffer);this._send(e)},l.listen("Leaderboard Health",(e=>{e?document.head.insertAdjacentHTML("beforeend",''):document.querySelector("#ssd_lh")?.remove()})),l.listen("Unban",(async()=>{confirm("Are you sure you want to unban yourself? This will also clear your skins, eggs, and log you out of your account.")&&unsafeWindow.extern.signOut()})),l.addCheats(),h.createListeners(),p.interceptRequest(),unsafeWindow[d.render]=function(e,t,s){if(!s)return;unsafeWindow[d.leaderboardUpdate](),unsafeWindow[d.lineOrigin]||(unsafeWindow[d.lineOrigin]=new e[p.keys.Vector3],unsafeWindow[d.lineArray]=[]);let n=unsafeWindow[d.lineArray],i=unsafeWindow[d.lineOrigin];i.copyFrom(s[p.keys.actor][p.keys.mesh].position),document.querySelector("#coords")&&(document.querySelector("#coords").innerHTML=`${i.x.toFixed(1)}, ${i.y.toFixed(1)}, ${i.z.toFixed(1)}`);const o=s[p.keys.actor][p.keys.mesh].rotation.y;i.x+=Math.sin(o),i.z+=Math.cos(o),i.y+=Math.sin(-s[p.keys.pitch]);for(let a=0;ar&&(n=r,e=o)}}if(e){const t=e[p.keys.actor][p.keys.mesh].position.x-s[p.keys.actor][p.keys.mesh].position.x,n=e[p.keys.actor][p.keys.mesh].position.y-s[p.keys.actor][p.keys.mesh].position.y,i=e[p.keys.actor][p.keys.mesh].position.z-s[p.keys.actor][p.keys.mesh].position.z;s[p.keys.yaw]=Math.radAdd(Math.atan2(t,i),0),s[p.keys.pitch]=-Math.atan2(n,Math.hypot(t,i))%1.5}}1>s.weapon.ammo.rounds&&l.enabled("Auto Reload")&&s.reload()},unsafeWindow.addEventListener("DOMContentLoaded",(()=>(document.body.insertAdjacentHTML("beforeend",`\n \n
\n
ShellShocked
\n
press h to open/close this.
\n
\n
${Object.entries(l.cheats).map((([e,t])=>`\n
${e}
\n \n `)).join("")}
\n
\n
\n
Reset Cheats
\n
\n
\n `),void Object.entries(l.cheats).map((([e,t])=>{let s=document.querySelector("#ssd_list_"+e);document.querySelector("#ssd_"+e).onclick=()=>""===s.style.display?s.style.display="none":s.style.display="",t.forEach((e=>{"check"===e.type?document.getElementById("ssd_cheatCheck_"+e.id).onchange=()=>l.tick(e.name):"menu"===e.type?document.getElementById("ssd_select_"+e.id).onchange=()=>l.select(e.name,document.querySelector("#ssd_select_"+e.id).value.replaceAll("_"," ")):"button"===e.type&&(document.getElementById("ssd_button_"+e.id).onclick=()=>l.activate(e.name))}))})))));})();