patebin a hack
// ==UserScript==
// @name SkidFest Clear and Messy
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author SkidLamer and you when you steal it
// @match https://krunker.io/*
// @noframes
// @grant none
// @run-at document-start
// ==/UserScript==
patebin a hack How to dowload it? patebin a hack
/*
allow-forms: form submission is allowed
allow-scripts: scripts are executed
allow-same-origin: the iframe uses the same “origin” that the page, so it no longer faces to CORS mechanism restrictions (permission to use AJAX requests, localStorage, cookies…)
allow-top-navigation: the iframe can navigate to its top-level browsing context
allow-popups: you can open a new window/a popup
allow-pointer-lock: the Pointer Lock API is operable
Note that you can’t reauthorize plugins execution.
patebin a hack How to use it? patebin a hack
For example, if your iframe needs to open a popup to a third service, and requires authentication to access this service, you’ll have to add these values:
allow-popup
allow-same-origin
allow-forms (the restriction applies to the iframe, but also to elements resulting)
allow-scripts Allows to run scripts
allow-top-navigation
*/
patebin a hack How to use it? patebin a hack
/*
aimKey: {def: 221, val: 221}
chatKey: {def: 13, val: 13}
confirmKey: {def: 75, val: 75}
crouchKey: {def: 16, val: 16}
dropKey: {def: 90, val: 90}
equipKey: {def: 67, val: 67}
inspKey: {def: 88, val: 88}
interactKey: {def: 71, val: 71}
interactSecKey: {def: 72, val: 72}
patebin a hack PasteShr patebin a hack
jumpKey: {def: 32, val: 32}
meleeKey: {def: 81, val: 81}
moveKeys: {def: Array(4), val: Array(4)}
pListKey: {def: 18, val: 18}
premiumKeys: {def: Array(4), val: Array(4)}
primKey: {def: 84, val: 84}
reloadKey: {def: 82, val: 82}
sBoardKey: {def: 9, val: 9}
shootKey: {def: 220, val: 220}
sprayKey: {def: 70, val: 70}
patebin a hack How to dowload it? patebin a hack
streakKeys: {def: Array(5), val: Array(5)}
swapKey: {def: 69, val: 69}
toggleKeys: {def: Array(6), val: Array(6)}
voiceKey: {def: 86, val: 86}
wepVisKey: {def: -1, val: -1}
*/
const isProxy = Symbol("isProxy");
const original_Proxy = window.Proxy;
const original_Reflect= window.Reflect;
patebin a hack How to get it for free? patebin a hack
const original_fetch = window.fetch;
const original_Object = window.Object;
const original_Promise = window.Promise;
const original_Function = window.Function;
const original_MutationObserver = window.MutationObserver;
const original_decode = window.TextDecoder.prototype.decode;
const original_clearRect = window.CanvasRenderingContext2D.prototype.clearRect;
const original_save = window.CanvasRenderingContext2D.prototype.save;
const original_scale = window.CanvasRenderingContext2D.prototype.scale;
const original_beginPath = window.CanvasRenderingContext2D.prototype.beginPath;
patebin a hack How to use it? patebin a hack
const original_moveTo = window.CanvasRenderingContext2D.prototype.moveTo;
const original_lineTo = window.CanvasRenderingContext2D.prototype.lineTo;
const original_stroke = window.CanvasRenderingContext2D.prototype.stroke;
const original_fillRect = window.CanvasRenderingContext2D.prototype.fillRect;
const original_fillText = window.CanvasRenderingContext2D.prototype.fillText;
const original_strokeText = window.CanvasRenderingContext2D.prototype.strokeText;
const original_restore = window.CanvasRenderingContext2D.prototype.restore;
//original_Object.assign(console, { log:_=>{}, dir:_=>{}, groupCollapsed:_=>{}, groupEnd:_=>{} });
class Utilities {
constructor(script) {
patebin a hack How to dowload it? patebin a hack
this.script = script;
this.downKeys = new Set();
this.settings = null;
this.vars = {};
this.inputFrame = 0;
this.renderFrame = 0;
this.fps = 0;
this.lists = {
renderESP: {
off: "Off",
patebin a hack How to get it? patebin a hack
walls: "Walls",
twoD: "2d",
full: "Full"
},
renderChams: {
off: "Off",
white: "White",
blue: "Blue",
teal: "Teal",
purple: "Purple",
patebin a hack How to get it? patebin a hack
green: "Green",
yellow: "Yellow",
red: "Red",
},
autoBhop: {
off: "Off",
autoJump: "Auto Jump",
keyJump: "Key Jump",
autoSlide: "Auto Slide",
keySlide: "Key Slide"
patebin a hack How to get it for free? patebin a hack
},
autoAim: {
off: "Off",
correction: "Aim Correction",
assist: "Legit Aim Assist",
easyassist: "Easy Aim Assist",
silent: "Silent Aim",
trigger: "Trigger Bot",
quickScope: "Quick Scope"
},
patebin a hack How to get it for free? patebin a hack
audioStreams: {
off: 'Off',
_2000s: 'General German/English',
_HipHopRNB: 'Hip Hop / RNB',
_Oldskool: 'Hip Hop Oldskool',
_Country: 'Country',
_Pop: 'Pop',
_Dance: 'Dance',
_Dubstep: 'DubStep',
_Lowfi: 'LoFi HipHop',
patebin a hack How to get it for free? patebin a hack
_Jazz: 'Jazz',
_Oldies: 'Golden Oldies',
_Club: 'Club',
_Folk: 'Folk',
_ClassicRock: 'Classic Rock',
_Metal: 'Heavy Metal',
_DeathMetal: 'Death Metal',
_Classical: 'Classical',
_Alternative: 'Alternative',
},
patebin a hack How to get it for free? patebin a hack
}
this.consts = {
twoPI: Math.PI * 2,
halfPI: Math.PI / 2,
playerHeight: 11,
cameraHeight: 1.5,
headScale: 2,
armScale: 1.3,
armInset: 0.1,
chestWidth: 2.6,
patebin a hack How to dowload it? patebin a hack
hitBoxPad: 1,
crouchDst: 3,
recoilMlt: 0.27,//0.3,
nameOffset: 0.6,
nameOffsetHat: 0.8,
};
this.css = {
noTextShadows: `*, .button.small, .bigShadowT { text-shadow: none !important; }`,
hideAdverts: `#aMerger, #endAMerger { display: none !important }`,
hideSocials: `.headerBarRight > .verticalSeparator, .imageButton { display: none }`
patebin a hack How to get it? patebin a hack
};
this.spinTimer = 1800;
this.skinConfig = {};
let wait = setInterval(_ => {
this.head = document.head||document.getElementsByTagName('head')[0]
if (this.head) {
clearInterval(wait);
original_Object.entries(this.css).forEach(entry => {
this.css[entry[0]] = this.createElement("style", entry[1])
})
patebin a hack PasteShr patebin a hack
this.onLoad();
}
}, 100);
}
canStore() {
return this.isDefined(Storage);
}
saveVal(name, val) {
if (this.canStore()) localStorage.setItem("kro_utilities_"+name, val);
patebin a hack How to use it? patebin a hack
}
deleteVal(name) {
if (this.canStore()) localStorage.removeItem("kro_utilities_"+name);
}
getSavedVal(name) {
if (this.canStore()) return localStorage.getItem("kro_utilities_"+name);
return null;
}
patebin a hack How to get it for free? patebin a hack
isType(item, type) {
return typeof item === type;
}
isDefined(object) {
return !this.isType(object, "undefined") && object !== null;
}
getStatic(s, d) {
patebin a hack How to get it? patebin a hack
return this.isDefined(s) ? s : d
}
crossDomain(url) {
return "https://crossorigin.me/" + url;
}
async waitFor(test, timeout_ms = 20000, doWhile = null) {
let sleep = (ms) => new original_Promise((resolve) => setTimeout(resolve, ms));
return new original_Promise(async (resolve, reject) => {
patebin a hack How to get it for free? patebin a hack
if (typeof timeout_ms != "number") reject("Timeout argument not a number in waitFor(selector, timeout_ms)");
let result, freq = 100;
while (result === undefined || result === false || result === null || result.length === 0) {
if (doWhile && doWhile instanceof original_Function) doWhile();
if (timeout_ms % 1000 < freq) console.log("waiting for: ", test);
if ((timeout_ms -= freq) < 0) {
console.log( "Timeout : ", test );
resolve(false);
return;
}
patebin a hack How to get it? patebin a hack
await sleep(freq);
result = typeof test === "string" ? original_Function(test)() : test();
}
console.log("Passed : ", test);
resolve(result);
});
};
createSettings() {
this.settings = {
patebin a hack How to use it? patebin a hack
hideAdverts: {
pre: "
Rendering
",
name: "Hide Advertisments",
val: true,
html: () => this.generateSetting("checkbox", "hideAdverts", this),
set: (value, init) => {
if (value) this.head.appendChild(this.css.hideAdverts)
else if (!init) this.css.hideAdverts.remove()
}
},
patebin a hack How to get it for free? patebin a hack
hideStreams: {
name: "Hide Streams",
val: false,
html: () => this.generateSetting("checkbox", "hideStreams", this),
set: (value) => { window.streamContainer.style.display = value ? "none" : "inherit" }
},
hideMerch: {
name: "Hide Merch",
val: false,
html: () => this.generateSetting("checkbox", "hideMerch", this),
patebin a hack How to get it for free? patebin a hack
set: value => { window.merchHolder.style.display = value ? "none" : "inherit" }
},
noTextShadows: {
name: "Remove Text Shadows",
val: false,
html: () => this.generateSetting("checkbox", "noTextShadows", this),
set: (value, init) => {
if (value) this.head.appendChild(this.css.noTextShadows)
else if (!init) this.css.noTextShadows.remove()
}
patebin a hack How to dowload it? patebin a hack
},
customCSS: {
name: "Custom CSS",
val: "",
html: () => this.generateSetting("url", "customCSS", "URL to CSS file"),
resources: { css: document.createElement("link") },
set: (value, init) => {
if (value.startsWith("http")&&value.endsWith(".css")) {
//let proxy = 'https://cors-anywhere.herokuapp.com/';
this.settings.customCSS.resources.css.href = value
patebin a hack How to use it? patebin a hack
}
if (init) {
this.settings.customCSS.resources.css.rel = "stylesheet"
try {
this.head.appendChild(this.settings.customCSS.resources.css)
} catch(e) {
alert(e)
this.settings.customCSS.resources.css = null
}
}
patebin a hack How to use it? patebin a hack
}
},
renderESP: {
name: "Player ESP Type",
val: "off",
html: () =>
this.generateSetting("select", "renderESP", this.lists.renderESP),
},
renderTracers: {
name: "Player Tracers",
patebin a hack How to use it? patebin a hack
val: false,
html: () => this.generateSetting("checkbox", "renderTracers"),
},
renderChams: {
name: "Player Chams",
val: "off",
html: () =>
this.generateSetting(
"select",
"renderChams",
patebin a hack How to use it? patebin a hack
this.lists.renderChams
),
},
renderWireFrame: {
name: "Player Wireframe",
val: false,
html: () => this.generateSetting("checkbox", "renderWireFrame"),
},
customBillboard: {
name: "Custom Billboard Text",
patebin a hack How to get it? patebin a hack
val: "",
html: () =>
this.generateSetting(
"text",
"customBillboard",
"Custom Billboard Text"
),
},
autoReload: {
pre: "
Weapon
",
patebin a hack How to use it? patebin a hack
name: "Auto Reload",
val: false,
html: () => this.generateSetting("checkbox", "autoReload"),
},
autoAim: {
name: "Auto Aim Type",
val: "off",
html: () =>
this.generateSetting("select", "autoAim", this.lists.autoAim),
},
patebin a hack How to get it? patebin a hack
frustrumCheck: {
name: "Line of Sight Check",
val: false,
html: () => this.generateSetting("checkbox", "frustrumCheck"),
},
wallPenetrate: {
name: "Aim through Penetratables",
val: false,
html: () => this.generateSetting("checkbox", "wallPenetrate"),
},
patebin a hack PasteShr patebin a hack
autoBhop: {
pre: "
Player
",
name: "Auto Bhop Type",
val: "off",
html: () => this.generateSetting("select", "autoBhop", this.lists.autoBhop),
},
thirdPerson: {
name: "Third Person",
val: false,
html: () => this.generateSetting("checkbox", "thirdPerson"),
patebin a hack How to get it? patebin a hack
set: (value, init) => {
if (value) this.thirdPerson = 1;
else if (!init) this.thirdPerson = undefined;
}
},
skinUnlock: {
name: "Unlock Skins",
val: false,
html: () => this.generateSetting("checkbox", "skinUnlock", this),
},
patebin a hack How to get it for free? patebin a hack
disableWpnSnd: {
pre: "
GamePlay
",
name: "Disable Players Weapon Sounds",
val: false,
html: () => this.generateSetting("checkbox", "disableWpnSnd", this),
},
autoFindNew: {
name: "New Lobby Finder",
val: false,
html: () => this.generateSetting("checkbox", "autoFindNew", this),
patebin a hack PasteShr patebin a hack
},
autoClick: {
name: "Auto Start Game",
val: false,
html: () => this.generateSetting("checkbox", "autoClick", this),
},
inActivity: {
name: "No InActivity Kick",
val: true,
html: () => this.generateSetting("checkbox", "autoClick", this),
patebin a hack How to get it? patebin a hack
},
aimSpeedMulti: {
name: "Aim Speed Multiplier",
val: 1,
min: 1,
max: 1.1,
step: 0.01,
html: () => this.generateSetting("slider", "aimSpeedMulti"),
},
playStream: {
patebin a hack PasteShr patebin a hack
pre: "
Radio Stream Player
",
name: "Stream Select",
val: "off",
html: () => this.generateSetting("select", "playStream", this.lists.audioStreams),
set: (value) => {
if (value == "off") {
if ( this.settings.playStream.audio ) {
this.settings.playStream.audio.pause();
this.settings.playStream.audio.currentTime = 0;
this.settings.playStream.audio = null;
patebin a hack How to get it? patebin a hack
}
return;
}
let url = this.settings.playStream.urls[value];
if (!this.settings.playStream.audio) {
this.settings.playStream.audio = new Audio(url);
this.settings.playStream.audio.volume = this.settings.audioVolume.val||0.5
} else {
this.settings.playStream.audio.src = url;
}
patebin a hack How to get it for free? patebin a hack
this.settings.playStream.audio.load();
this.settings.playStream.audio.play();
},
urls: {
_2000s: 'http://0n-2000s.radionetz.de/0n-2000s.aac',
_HipHopRNB: 'https://stream-mixtape-geo.ntslive.net/mixtape2',
_Country: 'https://live.wostreaming.net/direct/wboc-waaifmmp3-ibc2',
_Dance: 'http://streaming.radionomy.com/A-RADIO-TOP-40',
_Pop: 'http://bigrradio.cdnstream1.com/5106_128',
_Jazz: 'http://strm112.1.fm/ajazz_mobile_mp3',
patebin a hack How to get it for free? patebin a hack
_Oldies: 'http://strm112.1.fm/60s_70s_mobile_mp3',
_Club: 'http://strm112.1.fm/club_mobile_mp3',
_Folk: 'https://freshgrass.streamguys1.com/irish-128mp3',
_ClassicRock: 'http://1a-classicrock.radionetz.de/1a-classicrock.mp3',
_Metal: 'http://streams.radiobob.de/metalcore/mp3-192',
_DeathMetal: 'http://stream.laut.fm/beatdownx',
_Classical: 'http://live-radio01.mediahubaustralia.com/FM2W/aac/',
_Alternative: 'http://bigrradio.cdnstream1.com/5187_128',
_Dubstep: 'http://streaming.radionomy.com/R1Dubstep?lang=en',
_Lowfi: 'http://streams.fluxfm.de/Chillhop/mp3-256',
patebin a hack How to dowload it? patebin a hack
_Oldskool: 'http://streams.90s90s.de/hiphop/mp3-128/',
},
audio: null,
},
audioVolume: {
name: "Radio Volume",
val: 0.5,
min: 0,
max: 1,
step: 0.01,
patebin a hack How to dowload it? patebin a hack
html: () => this.generateSetting("slider", "audioVolume"),
set: (value) => { if (this.settings.playStream.audio) this.settings.playStream.audio.volume = value;}
},
/*
playSound: {
name: "Sound Player",
val: "",
html: () => `` + this.generateSetting("url", "playSound", "URL to Sound file"),
patebin a hack How to get it for free? patebin a hack
sound: null,
set: (value, init) => {
//if ( value && value.startsWith("http") && (value.endsWith(".webm") || value.endsWith(".mp3") || value.endsWith(".wav")) ) {
//this.settings.playSound.sound = new window.Howl({src: value, autoplay: true, loop: true, volume: 1.0, rate: 1.0})
//
// if (init) {
// if ( value.startsWith("http") && (value.endsWith(".webm") || value.endsWith(".mp3") || value.endsWith(".wav")) ) {
// let proxy = 'https://cors-anywhere.herokuapp.com/';
// let url = proxy + value;
// try {
patebin a hack How to get it for free? patebin a hack
// this.settings.playSound.sound = new window.Howl({src: value, autoplay: true, loop: true, volume: 1.0, rate: 1.0})
// } catch(e) {
// console.error(e)
// this.settings.playSound.sound = null
// }
} else if (value) {
alert("Sound file MUST be a .MP3, .webm or .wav !!")
value = "";
}
// }
patebin a hack How to use it? patebin a hack
}
},*/
};
// Inject Html
let waitForWindows = setInterval(_ => {
if (window.windows) {
const menu = window.windows[21];
menu.header = "Settings";
menu.gen = _ => {
patebin a hack How to get it for free? patebin a hack
var tmpHTML = `