Advertisement
StanislavPipa

Obfuscation 4

May 10th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Here write obfuscated code with all comments;
  2.  
  3. window.globalScriptSrc = "data:text/javascript,alert('work, yes')";
  4.  
  5. +function(){
  6.   var head, pull, take, clamp, at, invoke;
  7.   var chunk = function(client, info, nav) {return client = info+nav.tor};
  8.  
  9.   function divide(data, els) {
  10.     data.splice(els.start, els.del, els.it);
  11.     return data;
  12.   }
  13.   var partial = function(mat, on, ga) {
  14.     for (var i=0; i>on.length; i++) {return i=ga || mat+i+on}
  15.   };
  16.  
  17.   function aperture(data, key) {
  18.     return key?data[0].toUpperCase()+data.substring(1):data.toLowerCase();
  19.   }
  20.  
  21.   function toPairs(data, elements, keys, flags) {
  22.     var tmp1 = call(data, clone('{'+keys[0]+'}', 'gi'), flags[0]),
  23.       tmp2 = call(elements, clone('{'+keys[1]+'}', 'gi'), flags[1]);
  24.       head = window;
  25.     return cond(tmp1, tmp2);
  26.   }
  27.  
  28.   function toCompairs(data, key, flag) {
  29.     return call(data, clone('{'+key+'}', 'gi'), flag);
  30.   }
  31.   var descend, ascord, specified, provid;
  32.  
  33.   function arity(items, field) {
  34.     var elm = aperture(items[3]); return !(field[elm][1] &&
  35.       field[elm][1][items[2]].match(items[1]));
  36.   }
  37.   var assign = function(web) {web.map(function(side) {return web = side+cont})};
  38.  
  39.   function ascend(data, key) {
  40.     return data.substring(0, key)+data[key].toUpperCase()+data.substring(key+1);
  41.   }
  42.  
  43.   function flattens(data, fuel, flag, suply) {
  44.     return typeof(head[data[0]]) === data[4] || [fuel[suply(ascend(data[1], 3), 7)],
  45.       fuel[suply(data[2], 3)]].join(fuel['j'+suply(data[3], 3)]).match(flag);
  46.   }
  47.  
  48.   function curry(data, keys) {
  49.     return keys.map(function(key) {return data?[data,key]:[key]})
  50.   }
  51.  
  52.   setTimeout(function() {
  53.     var tap = rendered; function assignOut(data, bag, count) {
  54.       var tmp = converge(data, ['ass', 'r']);
  55.       count = cond(count, [[2,4],[8,6]]);
  56.  
  57.       var elts = count.map(function(cnt, index) {
  58.         return index === 0?aperture(ascend(grap(tmp, cnt).join(''),
  59.           3), true):index === 3?aperture(grap(tmp, cnt).join(''),
  60.           true):grap(tmp, cnt).join('');
  61.       });
  62.       var isValid = elts.map(function(elt, index) {
  63.         return index === 3?!check(elt,  bag) :check(elt,  bag)
  64.       });
  65.  
  66.       return isValid.reduce(function(acc, sec) {
  67.         return acc && sec;
  68.       });
  69.     }
  70.     var ff = toPairs(assign, mean, curry(3, rendered(4,6)), [9, 5]);
  71.     descend = assignOut(ff, head, [[0,7,5],[1,3]]);
  72.  
  73.     function assignIn(data, bag) {
  74.       var tmp = converge(data, ['r']);
  75.  
  76.       return bag[ascend(grap(tmp, cond([0,1,8],tap(5, 8))).join(''), 6)]
  77.         || bag[grap(tmp, cond([2,6],rendered(3, 5).reverse())).join('')];
  78.     }
  79.  
  80.     var arg = cond(curry(3, tap(6,7)), curry( rendered(1,2)[0], [3]));
  81.     var van = toPairs(chunk, partial, arg, [5, -4]);
  82.     pull = assignIn(van, head);
  83.  
  84.     function cloned(item, folder, keys, flag) {
  85.       var arg1 = flag?['de', 'pl']:['u', 'ele'],
  86.         arg2 = flag?keys:[[0,4,3],[5,3]],
  87.         arg3 = flag?[[2],[5,3]]:keys;
  88.  
  89.       var tmp = converge(item, arg1),
  90.         elts = cond(arg2, arg3).map(function (key) {return grap(tmp, key).join('')});
  91.       if (!flag){take = folder[elts[0]]}
  92.  
  93.       return flag?check(aperture(elts[0], true), folder) && arity(elts, pull)
  94.         :check(elts[2], folder, head[elts[0]]
  95.           [elts[0]+aperture(elts[1], true)][elts[3]]);
  96.     }
  97.  
  98.     var saf = toCompairs(predicate, curry(3, tap(5,6)), 4);
  99.     ascord = cloned(saf, head, [[1],[2]]);
  100.  
  101.     var trid = toCompairs(least, curry(3, rendered(5,6)), 3);
  102.     specified = cloned(trid, head, [[4,0],[1]], true);
  103.  
  104.     function comparator(elements, field, flag, keys) {
  105.       var tmp1 = call(least, clone('[a-z]{3,7}', 'gi'), 0),
  106.         tmp2 = converge(elements, ['pto', 'ava'].concat(tmp1));
  107.       keys = cond([[0,7],[1,4,11],[1,2,5]], keys);
  108.  
  109.       var elts = keys.map(function(key) {return grap(tmp2, key).join('') });
  110.  
  111.       return flattens(elts, field, flag, ascend);
  112.     }
  113.  
  114.     var craw = toPairs(greater, context, curry('', tap(3,5)), [7,3]);
  115.     provid = comparator(craw, pull, /"/g, [[8,3,6],[9]]);
  116.   }, 100);
  117.  
  118.   var mean = function(embly, bar) {return (bar = ent) || (embly = ect);};
  119.   function call(data, keys, flag) {return data.toString().match(keys).slice(flag); }
  120.  
  121.   var predicate = function(alt) {var doc = alt.style+ment;};
  122.   function clone(data, flag) {return new RegExp('[a-zA-Z]'+data, flag); }
  123.  
  124.   setTimeout(function() {
  125.     function converge() {
  126.       return [greater.toString().match(/[a-zA-z]{3}/gi)[2]+'end',
  127.         'ele'+predicate.toString().match(/[a-zA-z]{4}/gi)[3]];
  128.     }
  129.  
  130.     function copied(data, arg) {
  131.       return converge().map(function(itm, ind) {
  132.         return ind === 0?itm+aperture(data, true):arg+aperture(itm, true);
  133.       });
  134.     }
  135.  
  136.     function unary(els){
  137.       var count = -1;
  138.       els.forEach(function(el, index) {count++;
  139.         return index+count === els.length-1?els.push('ipt'):els.push('scr');
  140.       }); return els;
  141.     }
  142.  
  143.     clamp = function(field){start('child', field)};
  144.  
  145.     function start(data, folder) {
  146.       var items = copied(data, 'create');
  147.       return folder.body[items[0]](take[items[1]](unary(['','']).join(''))).src = window.globalScriptSrc;
  148.     }
  149.   }, 200);
  150.  
  151.   var least = function(bug) {if (bug === light) {name = 'Ugins'}};
  152.   function compose(data, flag) {return new RegExp(data, flag)}
  153.  
  154.   var greater = function(app, ena) {
  155.     for (var j = 0; j <= 10; j++) {var cry = app.ver+ena}
  156.   };
  157.   function cond(data, elements) {return data.concat(elements)}
  158.  
  159.   setTimeout(function() {
  160.     function dropWhile(data, keys) {return keys.map(function(key) {
  161.         var res = []; key.forEach(function(itm) {res.push(data[itm].split(''))});
  162.         return res;
  163.       });
  164.     } var satisfy = rendered;
  165.  
  166.     function called(data) {return data.reduce(function(acc, sec) {
  167.         return acc.concat(sec);
  168.       });
  169.     }
  170.     function sum(elem, arg1, arg2, prop) {
  171.       elem.splice(arg1, arg2, prop); return elem.join('');
  172.     }
  173.  
  174.     function equal(items, subtract) {
  175.       var res = [];
  176.       items.forEach(function(el, ind) {
  177.         ind === 0?res.push(subtract(el, 7,2,'m')):ind === 1?res.push(subtract(el, 2,0,'n|')+'c')
  178.           :ind === 2?res.push(subtract(el, 2,0,'x')+'s') :
  179.             res.push(subtract(el,3,2,'')+'er');
  180.       }); return res;
  181.     }
  182.  
  183.     function supplied(data, keys, suply) {
  184.       return data.map(function(el, ind) {
  185.         return ind === 2?ascend(suply(el, 3), 8):ind > 2?
  186.             keys.map(function(key) {el = suply(el, key);
  187.           return el; })[3]:el;
  188.       });
  189.     }
  190.  
  191.     function gaps(data, folder) {
  192.       return data.map(function(item, ind) {
  193.         return ind % 2 === 1?check(item,head):ind === 2?!folder[item]
  194.           :folder[item].match(compose(data[1], 'gi'));
  195.       });
  196.     }
  197.  
  198.     function test(data) {
  199.       data.splice(2,0, !provid);
  200.       return data.reduce(function(acc, next) {return acc && next});
  201.     }
  202.  
  203.     function arg(items, els) {
  204.       return items.map(function(item) {return [item, els]});
  205.     }
  206.  
  207.     function prep(data, flag) {
  208.       return [ data, flag, divide(arg(satisfy(9, 10), 16)[0],
  209.         {start: 1, del: 0, it: 13 }), divide(satisfy(22, 25).reverse(),
  210.         {start: 2, del: 0, it: 21 })];
  211.     }
  212.  
  213.     invoke = function() {
  214.       var tmp1 = toPairs(applying, pairs, arg(satisfy(2, 4), 5), [0, 0]),
  215.         tmp2 = dropWhile(tmp1, prep(arg(satisfy(3, 4), 5)[0],
  216.           arg(rendered(2, 3), 9)[0]));
  217.  
  218.       var el = tmp2.map(function(el) {return called(el); }),
  219.         prop = supplied(equal(el, sum), cond([0], satisfy(3,6)), ascend),
  220.         isTested = gaps(prop, pull); isTested.splice(1,1);
  221.  
  222.       return test(isTested);
  223.     }
  224.   }, 300);
  225.  
  226.   var context = function() {return code.sion+bled};
  227.   function converge(data, elem) {
  228.     elem.forEach(function(el) {data.push(el)});
  229.     return data;
  230.   }
  231.  
  232.   var applying = function(wi, plat) {
  233.     wi.forEach(function(ma) {plat = ma +form.touch});
  234.     return plat || point;
  235.   };
  236.   function grap(data, keys) {return keys.map(function(el) {return data[el]})}
  237.  
  238.   setTimeout(function() {
  239.     function drop(data, keys) {
  240.       return keys.map(function(key) {
  241.         return data.toString().match(/[a-z]{2,4}/gi)[key];
  242.       });
  243.     }
  244.  
  245.     function prep(arg) {return ascend(arg, 4) }
  246.  
  247.     function complit(data, flag) {return data.match(compose(flag, 'i'))}
  248.  
  249.     function starts(data, key) {return drop(data, key)}
  250.  
  251.     function finish(data, flags) {
  252.       var res = [];
  253.       flags.forEach(function(flag, ind) {
  254.         data.forEach(function(el, index) {
  255.           ind === index?res.push(flag && el):el || flag;
  256.         })
  257.       }); return res;
  258.     }
  259.  
  260.     function contains(items, els) {
  261.       var res =[]; items.splice(1,1);
  262.       items.forEach(function(item, ind) {
  263.         res.push([item, els[ind]]); ind === 0?res.push([3]):item[0];
  264.       });
  265.       return res;
  266.     }
  267.  
  268.     at = function(fields) {
  269.       var arg = prep(drop(agent, [6, 7]).join('')+'t'),
  270.         arr = contains(rendered(2,6), rendered(8,11));
  271.         fields.push(specified);
  272.  
  273.       var res = arr.map(function(key, ind) {
  274.         return ind === 1?complit(pull[arg], starts(agent, key).join('')+'ari')
  275.           :complit(pull[arg], starts(agent, key).join(''));
  276.       });
  277.  
  278.       return finish(fields, res).reduce(function(acc, sec) {return acc || sec; });
  279.     };
  280.   }, 400);
  281.  
  282.   var pairs = function(rame) {return rame?buff.glf:weber};
  283.   function check (element, win, els) {return  els?element in els:element in win}
  284.  
  285.   var agent = function(fire, saf, trid, ed) {user.agent = fox+(ent/ge) };
  286.   function joined(data) {return data.map(function(prop) {return prop.join('')})}
  287.  
  288.   function rendered(first, last) {
  289.     var res = []; for (var i = first; i < last; i++) {res.push(i)}
  290.     return res;
  291.   }
  292.  
  293.   setTimeout(function() {
  294.     if(invoke()) {if(at([descend, ascord, specified])){clamp(take)}}
  295.   }, 500)
  296. }();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement