{"id":302540,"date":"2020-04-26T21:00:25","date_gmt":"2020-04-26T21:00:25","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=302540"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=302540","title":{"rendered":"\u0420\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 \u0430\u043d\u0442\u0438\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u0440\u0435\u043a\u043b\u0430\u043c\u044b BlockAdBlock"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/499130\/\">\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435\u0441\u044c \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u044b, \u0442\u043e \u043c\u043e\u0433\u043b\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0442\u044c <a href=\"https:\/\/blockadblock.com\/\" rel=\"nofollow\">BlockAdBlock<\/a>. \u042d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0430\u0448 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0438 \u043d\u0435 \u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043d\u0430 \u0441\u0430\u0439\u0442, \u043f\u043e\u043a\u0430 \u0432\u044b \u0435\u0433\u043e \u043d\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435. \u041d\u043e \u043c\u043d\u0435 \u0441\u0442\u0430\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043a\u0430\u043a \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041a\u0430\u043a \u0430\u043d\u0442\u0438\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438? \u0410 \u043a\u0430\u043a \u043d\u0430 \u044d\u0442\u043e \u0440\u0435\u0430\u0433\u0438\u0440\u0443\u044e\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438 \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0442 \u0430\u043d\u0442\u0438\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438?<\/p>\n<h1>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430<\/h1>\n<p>  \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u044f \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u043b \u043d\u0430 <a href=\"https:\/\/blockadblock.com\/configure.php\" rel=\"nofollow\">\u0438\u0445 \u0441\u0430\u0439\u0442<\/a>. BlockAdBlock \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0442\u043e\u0440 \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438: \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0438 \u043a\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435, \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044f \u0440\u0430\u0437\u043d\u044b\u0435 <i>\u0432\u0435\u0440\u0441\u0438\u0438<\/i> \u0441\u043a\u0440\u0438\u043f\u0442\u0430.<\/p>\n<p>  \u042d\u0442\u043e \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u043e \u043c\u0435\u043d\u044f \u043d\u0430 \u043c\u044b\u0441\u043b\u044c \u043e \u0432\u0435\u0440\u0441\u0438\u044f\u0445. \u0410 \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043c\u043e\u0433 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0435 \u043d\u0430 \u043e\u0434\u043d\u0443 \u0432\u0435\u0440\u0441\u0438\u044e, \u0430 \u043d\u0430 <b>\u0432\u0441\u0435<\/b> \u0441\u0440\u0430\u0437\u0443? \u0422\u0430\u043a \u044f \u0438 \u0441\u0434\u0435\u043b\u0430\u043b. \u042f \u0432\u0435\u0440\u043d\u0443\u043b\u0441\u044f \u043d\u0430\u0437\u0430\u0434 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/archive.org\/web\/\" rel=\"nofollow\">Wayback Machine<\/a>. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0430\u0447\u0430\u043b \u0432\u0441\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 BlockAdBlock \u0438 \u0445\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043b \u0438\u0445.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h4>\u0421\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 BlockAdBlock, \u0441 sha1sum<\/h4>\n<p>  <\/p>\n<pre>6d5eafab2ca816ccd049ad8f796358c0a7a43cf3  20151007203811.js 065b4aa813b219abbce76ad20a3216b3481b11bb  20151113115955.js d5dec97a775b2e563f3e4359e4f8f1c3645ba0e5  20160121132336.js 8add06cbb79bc25114bd7a2083067ceea9fbb354  20160318193101.js 8add06cbb79bc25114bd7a2083067ceea9fbb354  20160319042810.js 8add06cbb79bc25114bd7a2083067ceea9fbb354  20160331051645.js 8add06cbb79bc25114bd7a2083067ceea9fbb354  20160406061855.js 8add06cbb79bc25114bd7a2083067ceea9fbb354  20160408025028.js 555637904dc9e4bfc6f08bdcae92f0ba0f443ebf  20160415083215.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20161120215354.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20170525201720.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20170606090847.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20170703211338.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20170707211652.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20170813090718.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20170915094808.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20171005180631.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20171019162109.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20171109101135.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20171127113945.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20171211042454.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20171227031408.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20180202000800.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20180412213253.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20180419060636.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20180530223228.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20180815042610.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20181029233809.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20181122190948.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20181122205748.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20190324081812.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20190420155244.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20190424200651.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20190903121933.js d8986247cad3bbc2dd92c3a2a06ac1540da6b286  20200112084838.js<\/pre>\n<p>  \u0422\u043e\u043b\u044c\u043a\u043e <i>\u0448\u0435\u0441\u0442\u044c<\/i> \u0432\u0435\u0440\u0441\u0438\u0439 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430, \u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0438\u0437 \u043d\u0438\u0445 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a 2016 \u0433\u043e\u0434\u0443, \u0445\u043e\u0442\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0430\u0439\u0442\u044b \u0438 \u0441\u0435\u0439\u0447\u0430\u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 BlockAdBlock. \u042d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0430 \u043f\u043e\u0442\u043e\u043c \u043e\u0442\u0440\u0435\u0432\u0435\u0440\u0441\u0438\u0442\u044c \u0434\u0438\u0444\u0444\u044b. \u0421\u043f\u043e\u0439\u043b\u0435\u0440: \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u0438\u0434\u0435\u0439 \u0438 \u0434\u0430\u0436\u0435 \u043e\u0441\u0442\u0430\u0442\u043a\u0438 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430.<\/p>\n<p>  \u0412\u0441\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u044f <a href=\"https:\/\/github.com\/xy2iii\/BlockAdBlock-reversed\" rel=\"nofollow\">\u0432\u044b\u043b\u043e\u0436\u0438\u043b \u043d\u0430 GitHub<\/a>. \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0434\u0438\u0444\u0444\u044b, \u0442\u043e \u0432 <a href=\"https:\/\/github.com\/xy2iii\/bab-history\" rel=\"nofollow\">\u044d\u0442\u043e\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/a> \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043c\u043c\u0438\u0442 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043d\u043e\u0432\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e. <\/p>\n<h1>\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0430<\/h1>\n<p>  \u041a\u043e\u0434 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043d\u0435 \u043c\u0438\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d, \u0430 \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u043d <a href=\"http:\/\/dean.edwards.name\/packer\/\" rel=\"nofollow\">JS-\u0443\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a\u043e\u043c<\/a> \u043e\u0442 \u0414\u0438\u043d\u0430 \u042d\u0434\u0432\u0430\u0440\u0434\u0441\u0430 \u0441 \u043a\u043e\u0441\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u0438 \u0431\u0435\u0437 \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043b\u043e\u0433\u0438\u043a\u0438<a href=\"#1\"><sup>1<\/sup><\/a><a name=\"1_1\"><\/a>.<\/p>\n<pre><code class=\"javascript\">eval(function(p, a, c, k, e, d) {     e = function(c) {         return (c &lt; a ? '' : e(parseInt(c \/ a))) + ((c = c % a) &gt; 35 ? String.fromCharCode(c + 29) : c.toString(36))     };     if (!''.replace(\/^\/, String)) {         while (c--) {             d[e(c)] = k[c] || e(c)         }         k = [function(e) {             return d[e]         }];         e = function() {             return '\\\\w+'         };         c = 1     };     while (c--) {         if (k[c]) {             p = p.replace(new RegExp('\\\\b' + e(c) + '\\\\b', 'g'), k[c])         }     }     return p }('0.1(&quot;2 3 4 5 6 7 8\\'d. 9, h? a b c d e f g&quot;);i j=\\'a\\'+\\'k\\'+\\'e\\'+\\'l\\'+\\'n\\'+\\'m\\'+\\'e\\';',24,24, 'console|log|This|code|will|get|unpacked|then|eval|Cool||||||||huh|let|you|w|s||o'.split('|'),0,{}))<\/code><\/pre>\n<p>  \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0434\u043b\u044f \u043d\u0430\u0441 \u044d\u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430. \u0421\u043b\u0430\u0431\u043e\u0441\u0442\u044c \u0443\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0435\u0441\u044c \u043a\u043e\u0434 \u043f\u0440\u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0432 <code>eval()<\/code>. \u0415\u0441\u043b\u0438 \u043c\u044b \u0437\u0430\u043c\u0435\u043d\u0438\u043c <code>eval()<\/code> \u043d\u0430 \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 <code>console.log()<\/code>, \u0442\u043e \u0432\u043d\u0435\u0437\u0430\u043f\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432\u0435\u0441\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434, \u0438 \u0443\u043f\u0430\u043a\u043e\u0432\u0449\u0438\u043a \u043f\u043e\u0431\u0435\u0436\u0434\u0451\u043d<a href=\"#2\"><sup>2<\/sup><\/a><a name=\"2_2\"><\/a>.<\/p>\n<p>  \u041f\u0440\u043e\u0434\u0435\u043b\u0430\u0432 \u044d\u0442\u043e \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u0437 \u043d\u0438\u0445 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0442\u0443\u0434\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c.<\/p>\n<h1>v1:&nbsp;? \u2212 \u043d\u043e\u044f\u0431\u0440\u044c 2015 \u0433\u043e\u0434\u0430: \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442<\/h1>\n<p>  <a href=\"https:\/\/github.com\/xy2iii\/BlockAdBlock-reversed\/blob\/master\/v1-reversed.js\" rel=\"nofollow\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/a><\/p>\n<p>  \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f <code>20151007203811.js<\/code>, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u043a\u043e\u043b\u043e \u043d\u043e\u044f\u0431\u0440\u044f 2015 \u0433\u043e\u0434\u0430<a href=\"#3\"><sup>3<\/sup><\/a><a name=\"3_3\"><\/a>. \u0425\u043e\u0442\u044f \u044d\u0442\u0430 \u043f\u0435\u0440\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438, \u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 BlockAdBlock \u0431\u0435\u0437 \u043c\u0443\u0441\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043a\u043e\u043f\u0438\u043b\u0441\u044f \u0441 \u0433\u043e\u0434\u0430\u043c\u0438.<\/p>\n<h3>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/h3>\n<p>  \u0412 \u0442\u0440\u0451\u0445 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445:<\/p>\n<ul>\n<li>BlockAdBlock\u00a0\u2014 \u044d\u0442\u043e \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u0435, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0435\u0435 \u043e\u0431\u044a\u0435\u043a\u0442 \u0441 \u0442\u0440\u0435\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438:<br \/> \n<ul>\n<li><code>bab()<\/code> \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0443 \u0438 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 <code>check<\/code>   <\/li>\n<li><code>check()<\/code> \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043b \u043b\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0443, \u0432\u044b\u0437\u044b\u0432\u0430\u044f <code>arm<\/code>  <\/li>\n<li><code>arm()<\/code> \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u043e\u0432\u0435\u0440\u043b\u0435\u0439<\/li>\n<\/ul>\n<\/li>\n<li>\u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 <code>bab()<\/code> \u0437\u0430\u0442\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438.  <\/li>\n<li>\u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0442\u0440\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0441 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0434\u0430\u044e\u0442\u0441\u044f \u0432 <a href=\"https:\/\/blockadblock.com\/configure.php\" rel=\"nofollow\">\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0442\u043e\u0440\u0435 BlockAdBlock<\/a>.<\/li>\n<\/ul>\n<p>  \u041a\u043e\u0434 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0432\u043e\u043a\u0440\u0443\u0433 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f, \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u043e\u0431\u044a\u0435\u043a\u0442\u0443 \u0441\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c.<\/p>\n<pre><code class=\"javascript\">var randomID = '',     e = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; for (var i = 0; i &lt; 12; i++) randomID +=      e.charAt(Math.floor(Math.random() * e.length)); var setTimeoutDelay = 7; \/\/ Delay after which to call BlockAdBlock window['' + randomID + ''] = ...<\/code><\/pre>\n<p>  \u0410\u0432\u0442\u043e\u0440 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0440\u0430\u043d\u0434\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044e, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043e\u0439\u0442\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0443.<\/p>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043a\u0442 \u0441 \u0442\u0440\u0435\u043c\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438: <code>bab<\/code>, <code>check<\/code> \u0438 <code>arm<\/code>.<\/p>\n<pre><code class=\"javascript\">window['' + randomID + ''] = (function() {     var eid = ...     return {         bab: function(check, passed_eid) {},         check: function(checkPredicate, unused) {},         arm: function() {}     } })();<\/code><\/pre>\n<p>  \u042d\u0442\u043e \u043c\u043e\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f. \u0412\u0441\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043c\u0438\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u044b, \u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u044b.<br \/>  \u0422\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 <code>bab()<\/code> \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 <code>setTimeout()<\/code>.<\/p>\n<pre><code class=\"javascript\">setTimeout('window[\\'\\' + randomID + \\'\\'] \\ .bab(window[\\'\\' + randomID + \\'\\'].check, \\      window[\\'\\' + randomID + \\'\\'].bab_elementid)', setTimeoutDelay * 1000)<\/code><\/pre>\n<p>  <code>bab_elementid<\/code> \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0438 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a\u043e\u0434\u0430. <code>setTimeout<\/code> \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u0441\u0442\u0440\u043e\u043a\u0438.<\/p>\n<p>  \u0423 \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f \u0435\u0441\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435. \u0414\u0432\u0435 \u0438\u0437 \u043d\u0438\u0445 \u0441\u043b\u0443\u0436\u0430\u0442 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435:<\/p>\n<ul>\n<li><code>adblockDetected<\/code> \u0440\u0430\u0432\u0435\u043d 1, \u0435\u0441\u043b\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0440\u0435\u043a\u043b\u0430\u043c\u044b.  <\/li>\n<li><code>nagMode<\/code> \u2014 \u044d\u0442\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438. \u0415\u0441\u043b\u0438 \u043e\u043d \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435, \u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0432\u043e\u0440\u0447\u0438\u0442 \u043d\u0430 \u0432\u0430\u0441 \u043e\u0434\u0438\u043d \u0440\u0430\u0437.<\/li>\n<\/ul>\n<p>  \u0414\u0440\u0443\u0433\u0438\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u0432\u0438\u0434\u043e\u043c \u0438 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432 <a href=\"https:\/\/blockadblock.com\/configure.php\" rel=\"nofollow\">\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0442\u043e\u0440\u0435<\/a>.<\/p>\n<pre><code class=\"javascript\">var eid = ' ad_box', \/\/ Name of the bait.     __u1 = 1, \/\/ Unused.      \/\/ Colors for the blockadblock prompt.     overlayColor = '#EEEEEE',     textColor = '#777777',     buttonBackgroundColor = '#adb8ff',     buttonColor = '#FFFFFF',      __u2 = '', \/\/ Unused.      \/\/ Text to display when the blockadblock prompt is shown.     welcomeText = 'Sorry for the interruption...',     primaryText = 'It looks like you\\'re using an ad blocker. That\\'s okay.  Who doesn\\'t?',     subtextText = 'But without advertising-income, we can\\'t keep making this site awesome.',     buttonText = 'I understand, I have disabled my ad blocker.  Let me in!',      \/\/ If 1, adblock was detected.     adblockDetected = 0,     \/\/ If 1, BlockAdBlock will only nag the visitor once, rather than block access.     nagMode = 0,      \/\/ The blockadblock domain, reversed.     bab_domain = 'moc.kcolbdakcolb';<\/code><\/pre>\n<p>  <code>bab_domain<\/code> \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0437\u0434\u0435\u0441\u044c \u0432 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u043c\u0435\u043d BlockAdBlock.<\/p>\n<h3>bab: \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0431\u0430\u043d\u043d\u0435\u0440\u0430-\u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0438<\/h3>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0435\u0442\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u044b BlockAdBlock \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u00ab\u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0438\u00bb \u0438\u043b\u0438 \u00ab\u043d\u0430\u0436\u0438\u0432\u043a\u0438\u00bb \u0438\u0437 \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0431\u0430\u043d\u043d\u0435\u0440\u044b. \u0417\u0430\u0442\u0435\u043c \u043e\u043d \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043b \u043b\u0438 \u0438\u0445 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a.<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0430: \u0444\u0430\u043b\u044c\u0448\u0438\u0432\u044b\u0439 div, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0442\u0432\u043e\u0440\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u043a\u043b\u0430\u043c\u043e\u0439, \u043d\u043e \u0441\u043a\u0440\u044b\u0442 \u0438\u0437 \u0432\u0438\u0434\u0443.<\/p>\n<pre><code class=\"javascript\">bab: function(check, passed_eid) {     \/\/ Wait for the document to be ready.     if (typeof document.body == 'undefined') {         return     };      var delay = '0.1',          passed_eid = eid ? eid : 'banner_ad',         bait = document.createElement('DIV');              bait.id = passed_eid;     bait.style.position = 'absolute';     bait.style.left = '-999px';     bait.appendChild(document.createTextNode(' '));     document.body.appendChild(bait);     ...<\/code><\/pre>\n<p>  \u0412\u0438\u0434\u0438\u043c\u043e, <code>passed_eid<\/code> \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0438, \u043d\u043e \u043e\u043d \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f, \u0431\u044b\u043b\u0430 \u043b\u0438 \u043d\u0430\u0436\u0438\u0432\u043a\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0430 \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u043c \u0431\u043b\u043e\u043a\u043e\u043c.<\/p>\n<pre><code class=\"javascript\">    ...     setTimeout(function() {         if (bait) {             check((bait.clientHeight == 0), delay);             check((bait.clientWidth == 0), delay);             check((bait.display == 'hidden'), delay);             check((bait.visibility == 'none'), delay);             check((bait.opacity == 0), delay);             check((bait.left &lt; 1000), delay);             check((bait.top &lt; 1000), delay)         } else {             check(true, delay)         }     }, 125) }<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0442\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0443\u0434\u0430\u043b\u0451\u043d (\u0438 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043e\u0432\u0435\u0440\u043b\u0435\u0439).<\/p>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f <code>check<\/code> \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0435\u0441\u043b\u0438 <code>Predicate<\/code> \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>true<\/code>, \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 <code>arm<\/code>.<\/p>\n<pre><code class=\"javascript\">check: function(checkPredicate, unused) {     if ((checkPredicate) &amp;&amp; (adblockDetected == 0)) {         adblockDetected = 1;         window['' + randomID + ''].arm()     } else {} }<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 <code>check<\/code> \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0432\u044b\u0448\u0435, <code>adblockDetected<\/code> \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043d\u0430 \u043f\u0435\u0440\u0432\u0443\u044e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f <code>arm<\/code>.<\/p>\n<h3>\u0420\u0435\u0436\u0438\u043c \u0432\u043e\u0440\u0447\u0430\u043d\u0438\u044f<\/h3>\n<p>  \u0412 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u00ab\u0440\u0435\u0436\u0438\u043c \u0432\u043e\u0440\u0447\u0430\u043d\u0438\u044f\u00bb (nag mode): \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 BlockAdBlock \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0441\u043a\u0430\u0436\u0435\u0442 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0440\u0435\u043a\u043b\u0430\u043c\u044b, \u043d\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0430\u0441 \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u0438. \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043f\u0443\u0442\u0451\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 <code>localStorage<\/code> \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u0438.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0441\u0430\u043c\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442, \u0442\u043e \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u043c\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u043b\u043e\u043a\u0438\u0440\u0430\u0442\u043e\u0440 \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430? \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, BlockAdBlock \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0431\u044b\u043b \u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043d\u0430 \u0440\u0435\u0436\u0438\u043c nag, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0442\u043e \u0435\u0441\u0442\u044c \u0441 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u0430.<\/p>\n<pre><code class=\"javascript\">arm: function() {     if (nagMode == 1) {         var babNag = sessionStorage.getItem('babn');         if (babNag &gt; 0) {             return true \/\/ Stop the script.         } else {             sessionStorage.setItem('babn', (Math.random() + 1) * 1000)         }     };     ...<\/code><\/pre>\n<p>  \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, <code>nagMode<\/code> \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0442\u043e\u0440\u0435, \u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0440\u0430\u0432\u0435\u043d <code>0<\/code>.<\/p>\n<h3>\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 BlockAdBlock, \u0432\u0435\u0440\u0441\u0438\u044f 1<\/h3>\n<p>  \u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u044b: \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043e\u0434\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u0441\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435. \u0421\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u00ab\u043d\u0430\u0436\u0438\u0432\u043a\u0438\u00bb, BlockAdBlock \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u044d\u0442\u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u044b.<\/p>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0437\u0430\u0449\u0438\u0442\u044b BlockAdBlock \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u0435\u043d \u043f\u0440\u043e\u0442\u0438\u0432 \u0432\u0441\u0435\u0445 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u0440\u0435\u043a\u043b\u0430\u043c\u044b, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a uBlock Origin, AdBlock Plus \u0438 Ghostery. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u044d\u0442\u043e\u043c\u0443, \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0444\u0438\u043b\u044c\u0442\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u043a\u0442\u0438\u0432\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u0441\u0430\u0439\u0442\u0430\u0445, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 BlockAdBlock.<\/p>\n<p>  <a href=\"https:\/\/help.eyeo.com\/en\/adblockplus\/how-to-write-filters\" rel=\"nofollow\">\u041f\u0438\u0441\u0430\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440\u044b \u0434\u043b\u044f \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430<\/a> \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0432\u0430\u0442\u043e. \u041d\u0430\u043c \u043d\u0443\u0436\u0435\u043d <a href=\"https:\/\/help.eyeo.com\/en\/adblockplus\/how-to-write-filters#content-filters\" rel=\"nofollow\">\u0444\u0438\u043b\u044c\u0442\u0440 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0430\u0436\u0438\u0432\u043a\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 <code>banner_ad<\/code>, \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0451\u043c <a href=\"https:\/\/help.eyeo.com\/en\/adblockplus\/how-to-write-filters#elemhide_basic\" rel=\"nofollow\">\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0441\u043a\u0440\u044b\u0442\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432<\/a> \u0441 \u043f\u043e\u043c\u0435\u0442\u043a\u043e\u0439 <code>#@#<\/code> \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 <code>#<\/code> \u0441 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u043c <code>banner_ad<\/code> \u0438 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u043c \u0435\u0433\u043e \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432 \u043d\u0430\u0448\u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430.<\/p>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<pre><code class=\"javascript\">localhost#@# #banner_ad<\/code><\/pre>\n<p>  \u0423 \u043c\u0435\u043d\u044f \u0442\u0443\u0442 localhost \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0441\u0432\u043e\u0438\u043c URL.<\/p>\n<p>  \u042d\u0442\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0434\u0435\u0437\u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442 BlockAdBlock. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u043c, \u043d\u043e \u043e\u043d\u043e \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 <a href=\"https:\/\/github.com\/reek\/anti-adblock-killer\/blob\/master\/anti-adblock-killer-filters.txt#L150\" rel=\"nofollow\">\u0441\u043f\u0438\u0441\u043a\u0435 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432 Anti-AdBlock-Killer<\/a>.<\/p>\n<h1>\u0412\u0435\u0440\u0441\u0438\u044f 2 (\u043d\u043e\u044f\u0431\u0440\u044c 2015 \u2212 \u044f\u043d\u0432\u0430\u0440\u044c 2016): \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u0439<\/h1>\n<p>  <a href=\"https:\/\/github.com\/xy2iii\/BlockAdBlock-reversed\/blob\/master\/v2-reversed.js\" rel=\"nofollow\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/a><br \/>  <a href=\"https:\/\/github.com\/xy2iii\/bab-history\/commit\/302e415b5d8d86d1749c6ea5d4b3a1d6fc995eb9#diff-f9901228d7dadbc695e79f98b44125e6\" rel=\"nofollow\">\u0420\u0430\u0437\u043d\u0438\u0446\u0430 v1\/v2<\/a><\/p>\n<h3>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0438: \u043c\u0435\u043d\u044c\u0448\u0435 \u0431\u0430\u0433\u043e\u0432<\/h3>\n<p>  \u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0438 \u0435\u0441\u0442\u044c \u0442\u043e\u043d\u043a\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430: \u0443 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e div \u043d\u0435\u0442 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f div \u0441 \u0432\u044b\u0441\u043e\u0442\u043e\u0439 0 \u0438 \u0448\u0438\u0440\u0438\u043d\u043e\u0439 0. \u041f\u043e\u0437\u0436\u0435 \u043a\u043e\u0434 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u0443\u0434\u0430\u043b\u0451\u043d \u043b\u0438 div, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u0435\u0433\u043e \u0432\u044b\u0441\u043e\u0442\u0443 \u0438 \u0448\u0438\u0440\u0438\u043d\u0443. \u041d\u043e \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0435\u0433\u043e \u0431\u044b\u043b\u0430 \u043d\u0443\u043b\u0435\u0432\u0430\u044f \u0432\u044b\u0441\u043e\u0442\u0430, \u0442\u043e BlockAdBlock \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b \u0432\u0441\u0435\u0433\u0434\u0430 <a href=\"#4\"><sup>4<\/sup><\/a><a name=\"4_4\"><\/a>.<\/p>\n<p>  \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0443\u0441\u0442\u043e\u0433\u043e div.<\/p>\n<pre><code class=\"javascript\">bab: function(...) {     bait = document.createElement('DIV');     ...     bait.appendChild(document.createTextNode('\u00c2 '));<\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0439 div \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c.<\/p>\n<h3>\u041e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0431\u0430\u043d\u043d\u0435\u0440\u044b<\/h3>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u043c\u0435\u0442\u043e\u0434\u0435 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0441\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c \u043d\u0430 <code>doubleclick.net<\/code>. \u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u044b \u0431\u0443\u0434\u0443\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0434\u0443\u043c\u0430\u044f, \u0447\u0442\u043e \u044d\u0442\u043e \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u044b\u0439 \u0431\u0430\u043d\u043d\u0435\u0440. \u041d\u043e \u044d\u0442\u043e \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0432 \u043d\u0430\u0448\u0435\u043c \u0444\u0438\u043b\u044c\u0442\u0440\u0435.<\/p>\n<pre><code class=\"javascript\">bab: function(...) {     bait = document.createElement('DIV');     bait.innerHTML = '&lt;img src=&quot;http:\/\/doubleclick.net\/' + randomStr() + '.jpg&quot;&gt;';     ...<\/code><\/pre>\n<p>  <code>randomStr()<\/code> \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b.<\/p>\n<p>  \u0414\u0440\u0443\u0433\u0438\u043c \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u043c \u043e\u0442\u043b\u0438\u0447\u0438\u0435\u043c \u0441\u0442\u0430\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 <code>setInterval<\/code> \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043b\u0438 \u0442\u0440\u0438\u0433\u0433\u0435\u0440. \u041e\u043d \u0437\u0430\u043d\u043e\u0432\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043b\u0438 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0431\u0430\u043d\u043d\u0435\u0440 \u0438 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0451\u043d \u043b\u0438 \u0435\u0433\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442 <code>src<\/code>, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0438.<\/p>\n<p>  \u041d\u043e\u0432\u044b\u0439 <code>setInterval<\/code> \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"javascript\">    ...     checkCallback = setInterval(function() {         if (bait) {             check((bait.clientHeight == 0), delay);             check((bait.clientWidth == 0), delay);             check((bait.display == 'hidden'), delay);             check((bait.visibility == 'none'), delay);             check((bait.opacity == 0), delay);             try {                 check((document.getElementById('banner_ad').innerHTML.indexOf('click') == -1), delay)             } catch (e) {}         } else {             check(true, delay)         }     }, 1000<\/code><\/pre>\n<p>  \u041f\u043e\u0447\u0435\u043c\u0443 <code>indexof ('click')<\/code>? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f <code>src=&quot;doubleclick.net\/abcdefg.jpg&quot;<\/code> \u0438 \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u0441\u044f \u043b\u0438 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u0441\u0442\u0440\u043e\u043a\u0438 <code>click<\/code>.<\/p>\n<h1>\u0412\u0435\u0440\u0441\u0438\u044f 3 (\u043d\u043e\u044f\u0431\u0440\u044c 2015 \u2212 \u043c\u0430\u0440\u0442 2016): \u043e\u0431\u043e\u0431\u0449\u0451\u043d\u043d\u0430\u044f \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0430<\/h1>\n<p>  <a href=\"https:\/\/github.com\/xy2iii\/BlockAdBlock-reversed\/blob\/master\/v3-reversed.js\" rel=\"nofollow\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/a><br \/>  <a href=\"https:\/\/github.com\/xy2iii\/bab-history\/commit\/0cf84eb57a702a78e29d8cf69022a94ad521284b#diff-f9901228d7dadbc695e79f98b44125e6\" rel=\"nofollow\">\u0420\u0430\u0437\u043d\u0438\u0446\u0430 v2\/v3<\/a><\/p>\n<h3>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0438: \u0440\u0430\u043d\u0434\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b<\/h3>\n<p>  \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438, \u0445\u043e\u0442\u044f \u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435,\u00a0\u2014 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u043d\u0434\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0438. \u041d\u043e\u0432\u044b\u0439 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0430\u043d\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b.<\/p>\n<p>  \u0414\u043b\u0438\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442 \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u0437\u043d\u0430\u043d\u0438\u0435 \u043f\u0440\u0435\u0434\u043c\u0435\u0442\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438.<\/p>\n<pre><code class=\"javascript\">var baitIDs = [   &quot;ad-left&quot;,   &quot;adBannerWrap&quot;,   &quot;ad-frame&quot;,   &quot;ad-header&quot;,   &quot;ad-img&quot;,   &quot;ad-inner&quot;,   &quot;ad-label&quot;,   &quot;ad-lb&quot;,   &quot;ad-footer&quot;,   &quot;ad-container&quot;,   &quot;ad-container-1&quot;,   &quot;ad-container-2&quot;,   &quot;Ad300x145&quot;,   &quot;Ad300x250&quot;,   &quot;Ad728x90&quot;,   &quot;AdArea&quot;,   &quot;AdFrame1&quot;,   &quot;AdFrame2&quot;,   &quot;AdFrame3&quot;,   &quot;AdFrame4&quot;,   &quot;AdLayer1&quot;,   &quot;AdLayer2&quot;,   &quot;Ads_google_01&quot;,   &quot;Ads_google_02&quot;,   &quot;Ads_google_03&quot;,   &quot;Ads_google_04&quot;,   &quot;DivAd&quot;,   &quot;DivAd1&quot;,   &quot;DivAd2&quot;,   &quot;DivAd3&quot;,   &quot;DivAdA&quot;,   &quot;DivAdB&quot;,   &quot;DivAdC&quot;,   &quot;AdImage&quot;,   &quot;AdDiv&quot;,   &quot;AdBox160&quot;,   &quot;AdContainer&quot;,   &quot;glinkswrapper&quot;,   &quot;adTeaser&quot;,   &quot;banner_ad&quot;,   &quot;adBanner&quot;,   &quot;adbanner&quot;,   &quot;adAd&quot;,   &quot;bannerad&quot;,   &quot; ad_box&quot;,   &quot; ad_channel&quot;,   &quot; adserver&quot;,   &quot; bannerid&quot;,   &quot;adslot&quot;,   &quot;popupad&quot;,   &quot;adsense&quot;,   &quot;google_ad&quot;,   &quot;outbrain-paid&quot;,   &quot;sponsored_link&quot; ];<\/code><\/pre>\n<p>  <\/p>\n<h4>\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432<\/h4>\n<p>  <\/p>\n<pre><code class=\"javascript\">    randomBaitID = baitIDs[ Math.floor(Math.random() * baitIDs.length) ],     ...     var passed_eid = randomBaitID;     bait = document.createElement('DIV');         bait.id = passed_eid;<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u043e c\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435, \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0431\u0443\u0434\u0435\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f.<\/p>\n<h3>\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 BlockAdBlock, \u0432\u0435\u0440\u0441\u0438\u0438 \u0441 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0434\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439<\/h3>\n<p>  BlockAdBlock \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u0443\u0435\u0442 \u0441\u043b\u0435\u043f\u043e\u0435 \u043f\u044f\u0442\u043d\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u0440\u0435\u043a\u043b\u0430\u043c\u044b: \u0435\u0441\u043b\u0438 \u0444\u0438\u043b\u044c\u0442\u0440 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442 \u0432\u0441\u0435 \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b, \u0442\u043e \u043e\u043d \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442 \u0438 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, BlockAdBlock <b>\u0437\u0430\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0440\u0435\u043a\u043b\u0430\u043c\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0435\u0431\u044f \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c<\/b>.<\/p>\n<p>  \u0412 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u0445 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442 BlockAdBlock. \u041d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0438\u043c\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 BlockAdBlock, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0440\u0430\u043d\u0434\u043e\u043c\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435.<\/p>\n<p>  uBlock Origin \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0439 <code>eval<\/code>, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e <code>eval<\/code>, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u0443\u0434\u0435\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u043c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043c BlockAdBlock. \u0412 JS \u043d\u0430 \u0442\u0430\u043a\u043e\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u043e\u0431\u044a\u0435\u043a\u0442 <code>Proxy<\/code>: \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0438 \u043c\u0435\u0442\u043e\u0434 \u0432 \u043b\u044e\u0431\u043e\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0435.<\/p>\n<p>  \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438, \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u044f \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443 BlockAdBlock \u0447\u0435\u0440\u0435\u0437 <code>eval<\/code>, \u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0435\u0451 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u0443\u0435\u043c \u0442\u043e\u0447\u043a\u0443 \u0432\u0445\u043e\u0434\u0430: \u0432\u044b\u0437\u043e\u0432 <code>setTimeout<\/code>. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 <code>setTimeout<\/code> \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u043e\u0439, \u0430 \u043d\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439, \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u044d\u0442\u0443 \u0441\u0442\u0440\u043e\u043a\u0443.<\/p>\n<p>  \u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432 uBlock Origin (<a href=\"https:\/\/github.com\/gorhill\/uBlock\/blob\/master\/src\/web_accessible_resources\/nobab.js\" rel=\"nofollow\">\u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/a>):<\/p>\n<pre><code class=\"javascript\">const signatures = [     [ 'blockadblock' ],     [ 'babasbm' ],     [ \/getItem\\('babn'\\)\/ ],     [         'getElementById',         'String.fromCharCode',         'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',         'charAt',         'DOMContentLoaded',         'AdBlock',         'addEventListener',         'doScroll',         'fromCharCode',         '&lt;&lt;2|r&gt;&gt;4',         'sessionStorage',         'clientWidth',         'localStorage',         'Math',         'random'     ], ]; const check = function(s) {     \/\/ check for signature  };<\/code><\/pre>\n<p>  \u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u0434\u043f\u0438\u0441\u0435\u0439: \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u043a\u043e\u0434\u0430. \u0424\u0443\u043d\u043a\u0446\u0438\u044f <code>check<\/code> \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u043f\u043e\u0441\u043b\u0435 <code>eval<\/code> \u043d\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u044d\u0442\u0438\u043c \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u043c.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/JavaScript\/Reference\/Global_Objects\/Proxy\" rel=\"nofollow\">\u043f\u0440\u043e\u043a\u0441\u0438\u0440\u0443\u0435\u043c<\/a> \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>eval<\/code> \u0438 <code>setTimeout<\/code>.<\/p>\n<pre><code class=\"javascript\">window.eval = new Proxy(window.eval, {     apply: function(target, thisArg, args) {         const a = args[0];         if ( typeof a !== 'string' || !check(a) ) {             return target.apply(thisArg, args);         }          \/\/ BAB detected: clean up.         if ( document.body ) {             document.body.style.removeProperty('visibility');         }         let el = document.getElementById('babasbmsgx');         if ( el ) {             el.parentNode.removeChild(el);         }     } }); window.setTimeout = new Proxy(window.setTimeout, {     apply: function(target, thisArg, args) {         const a = args[0];         \/\/ Check that the passed string is not the BAB entrypoint.         if (             typeof a !== 'string' ||             \/\\.bab_elementid.$\/.test(a) === false         ) {             return target.apply(thisArg, args);         }     } });<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0442\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <a href=\"https:\/\/github.com\/gorhill\/uBlock\/wiki\/Static-filter-syntax#scriptlet-injection\" rel=\"nofollow\">\u0441\u043a\u0440\u0438\u043f\u0442\u043b\u0435\u0442<\/a>, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u043c, \u0444\u0438\u043b\u044c\u0442\u0440 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f:<\/p>\n<pre><code class=\"javascript\">localhost## +js(nobab)<\/code><\/pre>\n<p>  \u041e\u043d \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0430 \u0432\u0441\u0435\u0445 \u0441\u0430\u0439\u0442\u0430\u0445 \u0438\u0437 \u0441\u043e\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043a\u0440\u0438\u043f\u0442\u0430.<\/p>\n<h1>\u0412\u0435\u0440\u0441\u0438\u044f 4 (\u044f\u043d\u0432\u0430\u0440\u044c 2016 \u2212 \u0430\u043f\u0440\u0435\u043b\u044c 2016): \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/h1>\n<p>  <a href=\"https:\/\/github.com\/xy2iii\/BlockAdBlock-reversed\/blob\/master\/v4-reversed.js\" rel=\"nofollow\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/a><br \/>  <a href=\"https:\/\/github.com\/xy2iii\/bab-history\/commit\/a497819b713fa94ef7fa202c8fc1e9578cffe784#diff-f9901228d7dadbc695e79f98b44125e6\" rel=\"nofollow\">\u0420\u0430\u0437\u043d\u0438\u0446\u0430 v3\/v4<\/a><\/p>\n<p>  \u041e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0430\u043d\u0442\u0438\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d \u0432 \u044f\u043d\u0432\u0430\u0440\u0435 2016 \u0433\u043e\u0434\u0430, \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e <a href=\"https:\/\/github.com\/uBlockOrigin\/uAssets\/blob\/91f936dbaeaa681fab4d9259a818458db2200e74\/assets\/ublock\/resources.txt#L493\" rel=\"nofollow\">\u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043a\u043e\u043c\u043c\u0438\u0442\u043e\u0432 uBlock Origin<\/a>, \u0438 \u043a\u043e\u043d\u0446\u0435\u043f\u0442\u0443\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f. BlockAdBlock \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043f\u044b\u0442\u0430\u043b\u0441\u044f \u043e\u0431\u043e\u0439\u0442\u0438 \u044d\u0442\u043e\u0442 \u0444\u0438\u043b\u044c\u0442\u0440, \u0438\u0437\u043c\u0435\u043d\u0438\u0432 \u0441\u0432\u043e\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443. \u0412\u043c\u0435\u0441\u0442\u043e \u044d\u0442\u043e\u0433\u043e \u043e\u043d \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043d\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0418 \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 BlockAdBlock, \u0442\u043e \u0432\u0438\u0434\u0438\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0443\u044e \u0432\u043a\u043b\u0430\u0434\u043a\u0443: \u00ab\u0412\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043c\u043e\u0449\u044c \u0430\u043d\u0442\u0438\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438?\u00bb<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/rs\/0m\/ea\/rs0meawjau7ljt0-m6viiwoo4cq.png\"><\/p>\n<p>  \u0425\u043e\u0442\u044f \u044d\u0442\u0438 \u0437\u0430\u0449\u0438\u0442\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u043a\u043b\u0430\u0434\u043a\u0443, \u043e\u043d\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0432\u043e \u0432\u0441\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c\u0438. \u0412 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0434\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u0430:<\/p>\n<ul>\n<li><code>aDefOne<\/code>, \u00ab\u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 AdSense\u00bb  <\/li>\n<li><code>aDefTwo<\/code>, \u00ab\u043e\u0441\u043e\u0431\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0437\u0430\u0449\u0438\u0442\u044b\u00bb<\/li>\n<\/ul>\n<p>  <\/p>\n<h3>\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438<\/h3>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u043e\u043f\u0440\u043e\u0449\u0430\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438, \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u0435\u0449\u0451 \u043a\u043e\u0435-\u0447\u0442\u043e. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430 \u043c\u043e\u0451 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u043b\u0435\u043a\u043b\u0430 \u043e\u0434\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f:<\/p>\n<p>  \u041e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0439 <code>console.log()<\/code> \u043f\u0440\u044f\u043c\u043e \u0432 \u043a\u043e\u0434\u0435!<\/p>\n<pre><code class=\"javascript\">function consolelog(e) {     \/\/ &quot;Dev mode&quot; check: developpers of BAB must set window.consolelog to 1.     if (window.consolelog == 1) {         console.log(e)     } };<\/code><\/pre>\n<p>  \u042d\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 <code>consolelog<\/code>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>window.consolelog = 1<\/code>.<\/p>\n<p>  \u041a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0415\u0441\u043b\u0438 \u0431\u044b \u044f \u043d\u0435 \u043e\u0442\u0440\u0435\u0432\u0435\u0440\u0441\u0438\u043b \u0432\u0441\u0435 \u0432\u0435\u0440\u0441\u0438\u0438, \u0442\u043e \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u0431\u044b \u0438\u0445 \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u043b. \u041e\u043d\u0438 \u0434\u0430\u044e\u0442 \u0446\u0435\u043d\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u043e\u0434.<\/p>\n<h3>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430: AdSense<\/h3>\n<p>  \u0412\u0441\u0435 \u044d\u0442\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0437\u0430\u0449\u0438\u0442\u044b \u0437\u0430\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 <code>check<\/code>, \u0430 \u043d\u0435 \u0432 <code>arm<\/code>, \u043a\u0430\u043a \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0430\u0434 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u043c \u043d\u0430\u0447\u0430\u043b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u043d\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0439 \u0441 \u043a\u043e\u0434\u043e\u0432\u043e\u0439 \u0431\u0430\u0437\u043e\u0439.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0430\u043a\u0442\u0438\u0432\u0435\u043d AdSense, \u0442\u043e \u043c\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439. \u0415\u0441\u043b\u0438 \u043e\u043d\u0438 \u0438\u0441\u0447\u0435\u0437\u043b\u0438 \u0438\u0437-\u0437\u0430 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430, \u0442\u043e \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442\u0441\u044f BlockAdBlock.<\/p>\n<pre><code class=\"javascript\">function check() {     ...     var q = 'ins.adsbygoogle',         \/\/ Selects all Google ads in the document.         adsbygoogleQuery = document.querySelector(q);      if ((adsbygoogleQuery) &amp;&amp; (adblockDetected == 0)) {         \/\/ Ads are not blocked, since the bait ad is still there,         \/\/ and adblockDetected hasn't been set         if (aDefOne == 'yes') {             consolelog('case2: standard bait says ads are NOT blocked.');             var adsbygoogle = '\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js';             if (scriptExists(adsbygoogle)) {                 consolelog('case2: And Adsense pre-exists.');                 if (adsbygoogleQuery.innerHTML.replace(\/\\s\/g, '').length == 0) {                     \/\/ The ad's content was cleared, so...                     consolelog('case2: Ads are blocked.');                     window['' + randomID + ''].arm()                 }             }         };         adblockDetected = 1     }     ...<\/code><\/pre>\n<p>  <code>scriptExists<\/code> \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u0432\u0441\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c URL. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0441\u043a\u0440\u0438\u043f\u0442\u0430 AdSense<a href=\"#5\"><sup>5<\/sup><\/a><a name=\"5_5\"><\/a>.<\/p>\n<p>  URL-\u0430\u0434\u0440\u0435\u0441 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435. \u041f\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0435 URL \u0443\u0441\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0434\u043e 15 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.<\/p>\n<pre><code class=\"javascript\">function scriptExists(href) {     if (href) href = href.substr(href.length - 15);     var scripts = document.getElementsByTagName('script');     for (var i = scripts.length; i--;) {         var src = String(scripts[i].src);         if (src) src = src.substr(src.length - 15);         if (src === href) return true     };     return false };<\/code><\/pre>\n<p>  <\/p>\n<h3>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430: \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442<\/h3>\n<p>  \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043f\u0435\u0440\u0432\u043e\u0433\u043e, \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u043e\u0433\u043e\u0432\u043e\u0440\u043a\u043e\u0439: \u00ab\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u0432\u0430\u0448\u0438\u043c \u0441\u0430\u0439\u0442\u043e\u043c\u00bb. <\/p>\n<p>  \u042d\u0442\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043d\u0435\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 AdSense. \u0412\u043e\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430 <code>check<\/code>:<\/p>\n<pre><code class=\"javascript\">check: function(checkPredicate, unused) {     if ((checkPredicate) &amp;&amp; (adblockDetected == 0)) {         \/\/ Adblocker detected, arm     } else {         var q = 'ins.adsbygoogle',             adsbygoogleQuery = document.querySelector(q);          if ((adsbygoogleQuery) &amp;&amp; (adblockDetected == 0)) {             if (aDefOne == 'yes') {                 \/\/ Special defense one: AdSense defense (see above)             };         } else {             if (adblockDetected == 0) {                 if (aDefTwo == 'yes') {                     \/\/ Special defense two: Special element defense                 }             }         }     }<\/code><\/pre>\n<p>  \u041c\u0435\u0442\u043e\u0434 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442, \u0447\u0442\u043e \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u044b \u0441\u0430\u0439\u0442\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e AdSense: \u0435\u0441\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 AdSense \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a.<\/p>\n<p>  \u0417\u0430\u0447\u0435\u043c \u0431\u044b\u043b\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435? \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 AdSense. \u0415\u0441\u043b\u0438 \u043e\u043d \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f, \u0442\u043e, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043b \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 BlockAdBlock. \u041d\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u0440\u0442\u0438\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0430\u0439\u0442\u044b, \u043e\u0442\u0441\u044e\u0434\u0430 \u0438 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435.<\/p>\n<p>  \u0415\u0441\u043b\u0438 AdSense \u043d\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0441\u044f, \u0442\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043e\u0432\u0435\u0440\u043b\u0435\u0439.<\/p>\n<pre><code class=\"javascript\">if (aDefTwo == 'yes') {     \/* Add Google ad code to head.         If it errors, the adblocker must have blocked the connection. *\/     var googleAdCode = '\/\/static.doubleclick.net\/instream\/ad_status.js';     consolelog('case3: standard bait says ads are NOT blocked. Maybe ???\\       No Adsense is found. Attempting to add Google ad code to head...');     var script = document.createElement('script');     script.setAttribute('type', 'text\/javascript');     script.setAttribute('src', googleAdCode);     script.onerror = function() {         window['' + randomID + ''].arm()     };     adblockDetected = 1;     if (!scriptExists(googleAdCode)) {         document.getElementsByTagName('head')[0].appendChild(script)     };     adsbygoogleQuery = 0;     window['' + randomID + ''].check = function() {         return     } }<\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u0441\u0431\u043e\u0435 \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 <code>onerror<\/code>, \u043a\u0430\u043a \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u0440\u0435\u043a\u043b\u0430\u043c\u044b.<\/p>\n<p>  \u0418 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u0440\u0435\u043a\u043b\u0430\u043c\u044b \u043f\u043e\u0434\u0434\u0430\u044e\u0442\u0441\u044f \u043d\u0430 \u044d\u0442\u043e \u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441. \u041d\u043e \u0435\u0441\u0442\u044c \u043e\u0434\u0438\u043d \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0435\u0449\u0451 \u043d\u0435 \u0443\u043f\u043e\u043c\u0438\u043d\u0430\u043b. \u041f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e <a href=\"https:\/\/brave.com\/\" rel=\"nofollow\">\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 Brave<\/a>.<\/p>\n<h3>\u041e\u0442\u0432\u0435\u0442 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 Brave<\/h3>\n<p>  \u0414\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043c\u044b \u0438\u0437\u0443\u0447\u0430\u043b\u0438, \u043a\u0430\u043a \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0430\u043d\u0442\u0438\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0432 uBlock Origin. \u0418 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u0444\u0438\u043b\u044c\u0442\u0440 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430, \u0433\u0434\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d BlockAdBlock. \u0411\u0440\u0430\u0443\u0437\u0435\u0440 Brave \u0432\u043f\u0435\u0447\u0430\u0442\u043b\u044f\u0435\u0442 \u0442\u0435\u043c, \u0447\u0442\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u0438 \u043e\u0431\u0445\u043e\u0434\u0438\u0442 BlockAdBlock \u0432\u0441\u0435\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u0431\u0435\u0437 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u043d \u043f\u043e\u0434\u0434\u0435\u043b\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0430 \u0441\u0435\u0442\u0435\u0432\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435<a href=\"#6\"><sup>6<\/sup><\/a><a name=\"6_6\"><\/a>.<\/p>\n<p>  \u0412\u043c\u0435\u0441\u0442\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 <code>ad_status.js<\/code> \u043e\u043d \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0435\u0433\u043e, \u043d\u043e <b>\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0440\u0435\u043a\u043b\u0430\u043c\u0443 Google Ads \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c 0 \u0431\u0430\u0439\u0442<\/b>. \u042d\u0442\u043e\u0442 \u0445\u0438\u0442\u0440\u044b\u0439 \u0442\u0440\u044e\u043a \u0434\u0443\u0440\u0430\u0447\u0438\u0442 BlockAdBlock, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e <code>onerror<\/code> \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 \u0442\u0435\u0440\u043f\u0438\u0442 \u043d\u0435\u0443\u0434\u0430\u0447\u0443.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/2e\/45\/s7\/2e45s7wv2nv9licuzwesiao2tkm.png\"><\/div>\n<h1>\u0412\u0435\u0440\u0441\u0438\u044f 5 (\u043c\u0430\u0440\u0442 2016 \u2212 \u043d\u043e\u044f\u0431\u0440\u044c 2016)<\/h1>\n<p>  <a href=\"https:\/\/github.com\/xy2iii\/BlockAdBlock-reversed\/blob\/master\/v5-reversed.js\" rel=\"nofollow\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/a><br \/>  <a href=\"https:\/\/github.com\/xy2iii\/bab-history\/commit\/b20d45201125767d63f5718b44a47082847e49bf#diff-f9901228d7dadbc695e79f98b44125e6\" rel=\"nofollow\">\u0420\u0430\u0437\u043d\u0438\u0446\u0430 v4\/v5<\/a><\/p>\n<h3>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430: \u0441\u043f\u0430\u043c \u0444\u0430\u0432\u0438\u043a\u043e\u043d\u0430\u043c\u0438<\/h3>\n<p>  \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0442\u043e\u0440\u0443\u044e \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u0443\u044e \u0437\u0430\u0449\u0438\u0442\u0443 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b\u0438, \u0445\u043e\u0442\u044f \u043e\u043d\u0430 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u0433\u043e \u0436\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430: \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u043c. \u041d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u043c\u0435\u0441\u0442\u043e AdSense \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0442\u0441\u044f \u0444\u0430\u0432\u0438\u043a\u043e\u043d\u044b.<\/p>\n<p>  Brave \u0443\u043a\u043b\u043e\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0442 \u044d\u0442\u043e\u0439 \u0430\u0442\u0430\u043a\u0438 \u043f\u0440\u0435\u0436\u043d\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c. \u041e\u043d \u043d\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f 1\u00d71.<\/p>\n<pre><code class=\"javascript\">if (aDefTwo == 'yes') {     if (! window['' + randomID + ''].ranAlready) {\/         var favicons = [             &quot;\/\/www.google.com\/adsense\/start\/images\/favicon.ico&quot;,             &quot;\/\/www.gstatic.com\/adx\/doubleclick.ico&quot;,             &quot;\/\/advertising.yahoo.com\/favicon.ico&quot;,             &quot;\/\/ads.twitter.com\/favicon.ico&quot;,             &quot;\/\/www.doubleclickbygoogle.com\/favicon.ico&quot;             ],             len = favicons.length,             img = favicons[Math.floor(Math.random() * len)],         ...         baitImages(Math.floor(Math.random() * 2) + 1); \/\/ creates bait images         var m = new Image();         m.onerror = function() {             baitImages(Math.floor(Math.random() * 2) + 1);             c.src = imgCopy;             baitImages(Math.floor(Math.random() * 2) + 1)         };         c.onerror = function() {             adblockDetected = 1;             baitImages(Math.floor(Math.random() * 3) + 1);             window['' + randomID + ''].arm()         };         m.src = img;         baitImages(Math.floor(Math.random() * 3) + 1);         window['' + randomID + ''].ranAlready = true     }; }<\/code><\/pre>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f <code>baitImages<\/code> \u043c\u043e\u0436\u0435\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0447\u0430\u0441\u0442\u043e, \u0441\u043e \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043e\u0439\u0442\u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438.<\/p>\n<h1>\u0412\u0435\u0440\u0441\u0438\u044f 6 (\u0430\u043f\u0440\u0435\u043b\u044c 2016 \u2212 \u043d\u043e\u044f\u0431\u0440\u044c 2016): \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430 Brave<\/h1>\n<p>  <a href=\"https:\/\/github.com\/xy2iii\/BlockAdBlock-reversed\/blob\/master\/v6-reversed.js\" rel=\"nofollow\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/a><br \/>  <a href=\"https:\/\/github.com\/xy2iii\/bab-history\/commit\/6ab4ad4272cfcd131013702e144476abf2d5101e#diff-f9901228d7dadbc695e79f98b44125e6\" rel=\"nofollow\">\u0420\u0430\u0437\u043d\u0438\u0446\u0430 v5\/v6<\/a><\/p>\n<p>  \u041c\u0435\u0442\u043e\u0434\u044b BlockAdBlock, \u0445\u043e\u0442\u044f \u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043b\u043e\u0436\u043d\u0435\u0435 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435. \u041d\u043e \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043d\u0435\u043f\u043e\u0431\u0435\u0436\u0434\u0451\u043d\u043d\u044b\u0439 \u0432\u0440\u0430\u0433: \u0431\u0440\u0430\u0443\u0437\u0435\u0440 Brave.<\/p>\n<h3>\u041f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u0430\u044f \u0437\u0430\u0449\u0438\u0442\u0430: \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0444\u0430\u0432\u0438\u043a\u043e\u043d\u0430<\/h3>\n<p>  \u041f\u043e\u0447\u0435\u043c\u0443 BlockAdBlock \u043f\u0435\u0440\u0435\u0448\u0451\u043b \u0441 \u043f\u043e\u043f\u044b\u0442\u043a\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 (\u0444\u0430\u0432\u0438\u043a\u043e\u043d\u043e\u0432)? \u041e\u0442\u0432\u0435\u0442 \u2014 \u0432 \u043a\u043e\u0434\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0432 \u0437\u0430\u0449\u0438\u0442\u0443 \u0447\u0435\u0440\u0435\u0437 \u0441\u043f\u0430\u043c \u0444\u0430\u0432\u0438\u043a\u043e\u043d\u0430\u043c\u0438, \u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0442\u0438\u0432 \u0437\u0430\u0449\u0438\u0442\u044b Brave.<\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043e\u0442\u0432\u0435\u0442\u0430 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"javascript\">if (aDefTwo == 'yes') {     baitImages(Math.floor(Math.random() * 3) + 1);     \/\/ earlier favicon code...     var m = new Image();     if ((aDefThree % 3) == 0) {         m.onload = function() {             if ((m.width &lt; 8) &amp;&amp; (m.width &gt; 0)) {                 window['' + randomID + ''].arm()             }         }     }; }<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0432\u0438\u043a\u043e\u043d\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 8\u00d78, \u0442\u043e \u044d\u0442\u043e, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e, \u043f\u043e\u0434\u0434\u0435\u043b\u043a\u0430 \u043e\u0442 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 Brave.<\/p>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u0451\u043c\u0430 BlockAdBlock \u043e\u0431\u0445\u043e\u0434\u0438\u0442 \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u043a\u0443 Brave \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434 (\u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e, \u043a\u0430\u043a uBlock Origin, \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0442 \u0435\u0433\u043e \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c).<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0432 \u043a\u043e\u043d\u0446\u0435 \u043d\u043e\u044f\u0431\u0440\u044f 2016 \u0433\u043e\u0434\u0430, BlockAdBlock \u0438\u0441\u0447\u0435\u0437 \u0438\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430. \u0425\u043e\u0442\u044f \u0438\u0445 \u00ab\u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0437\u0430\u0449\u0438\u0442\u044b\u00bb \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442, \u043e\u043d\u0438 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0431\u044b\u043b\u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u042d\u0442\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043f\u043e\u0441\u0442 \u0432 \u0442\u0432\u0438\u0442\u0442\u0435\u0440\u0435 \u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0433\u0434\u0435-\u0442\u043e \u0432 \u043a\u043e\u043d\u0446\u0435 2017 \u0433\u043e\u0434\u0430.<\/p>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435 BlockAdBlock \u0436\u0438\u0432\u0451\u0442. \u0425\u043e\u0442\u044f \u0432 \u043d\u0430\u0448\u0438 \u0434\u043d\u0438 \u0435\u0433\u043e \u0442\u0440\u0438\u0432\u0438\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u044d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0430\u0439\u0442\u044b.<\/p>\n<h1>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h1>\n<p>  \u041a\u0442\u043e \u043f\u043e\u0431\u0435\u0434\u0438\u0442 \u0432 \u0433\u043e\u043d\u043a\u0435 \u0432\u043e\u043e\u0440\u0443\u0436\u0435\u043d\u0438\u0439 \u043c\u0435\u0436\u0434\u0443 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u044b \u0438 \u0430\u043d\u0442\u0438\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432? \u0422\u043e\u043b\u044c\u043a\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u043a\u0430\u0436\u0435\u0442. \u041f\u043e \u043c\u0435\u0440\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u0433\u043e\u043d\u043a\u0438 \u0432\u043e\u043e\u0440\u0443\u0436\u0435\u043d\u0438\u0439 \u0430\u043d\u0442\u0438\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0451 \u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u043e\u0449\u0440\u0451\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u044f BlockAdBlock.<\/p>\n<p>  \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0443 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u043c\u043e\u0449\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u0441\u043f\u0438\u0441\u043a\u0438 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u0441\u0442\u0443\u043f \u043a JavaScript. \u0421 \u0442\u0430\u043a\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0434\u0438\u043d \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u043f\u043e\u043d\u044f\u043b, \u043a\u0430\u043a \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u044c \u0432\u0440\u0430\u0433\u0430\u00a0\u2014 \u0438 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432 \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u0441\u0430\u0439\u0442\u0430\u043c\u0438.<\/p>\n<p>  \u0410\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u044f \u044d\u0432\u043e\u043b\u044e\u0446\u0438\u044e BlockAdBlock, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u043e\u0432 \u0440\u0435\u043a\u043b\u0430\u043c\u044b, \u043d\u0430\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u0443 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0432\u043e\u0439\u043d\u044b \u043c\u0435\u0436\u0434\u0443 BlockAdBlock \u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043c\u044b \u0443\u0437\u043d\u0430\u043b\u0438, \u043a\u0430\u043a\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0432 \u0431\u043e\u0435\u0432\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u0445.<\/p>\n<p>  \u041c\u043e\u0439 \u043a\u043e\u0434 \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430 <a href=\"https:\/\/github.com\/xy2iii\/BlockAdBlock-reversed\" rel=\"nofollow\">\u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u043d\u0430 GitHub<\/a>. \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0432\u0430\u043c \u0437\u0430 \u0447\u0442\u0435\u043d\u0438\u0435.<\/p>\n<hr>\n<p>  <a name=\"1\"><\/a>1. \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u043d\u0438\u0436\u0435 \u043f\u0440\u0438\u043c\u0435\u0440 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c JS, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u043a\u043e\u0434. \u0415\u0441\u043b\u0438 \u0432\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0435\u0433\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0440\u0430\u0431\u043e\u0442\u0430, <a href=\"https:\/\/github.com\/evanw\/packer\/blob\/master\/packer.js\" rel=\"nofollow\">\u0432\u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/a>. \ufe0e<a href=\"#1_1\">[\u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f]<\/a><\/p>\n<p>  <a name=\"2\"><\/a>2. \u041d\u0435 \u0432\u0435\u0440\u0438\u0442\u0435? \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c <code>eval<\/code> \u043d\u0430 <code>console.log<\/code> \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0435.<br \/>  <a href=\"#2_2\">[\u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f]<\/a><\/p>\n<p>  <a name=\"3\"><\/a>3. \u041c\u0435\u0442\u043a\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442 <code>201510<\/code>, \u0442\u0430\u043a \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u043a\u0442\u044f\u0431\u0440\u044c. \u041d\u043e \u043c\u044b \u043d\u0435 \u0437\u043d\u0430\u0435\u043c, \u043a\u043e\u0433\u0434\u0430 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442. \u0412\u0441\u0451, \u0447\u0442\u043e \u043c\u044b \u0437\u043d\u0430\u0435\u043c:<\/p>\n<ul>\n<li>2015-10 \u0431\u044b\u043b\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430 \u043e\u0434\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f: <code>20151007203811.js<\/code>  <\/li>\n<li>2015-11 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f: <code>20151113115955.js<\/code><\/li>\n<\/ul>\n<p>  \u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u043c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0441\u043a\u0440\u0438\u043f\u0442 \u043c\u043e\u0433\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u0430 \u0434\u0435\u043d\u044c \u0434\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u043c\u0435\u0442\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u044f \u043a\u043e\u043d\u0441\u0435\u0440\u0432\u0430\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0436\u0443 \u043a \u0434\u0430\u0442\u0438\u0440\u043e\u0432\u043a\u0435. \ufe0e<a href=\"#3_3\">[\u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f]<\/a><\/p>\n<p>  <a name=\"4\"><\/a>4. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043e\u0448\u0438\u0431\u043a\u0438 \u0431\u044b\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u044b \u0442\u0435\u0441\u0442\u044b \u0434\u043b\u044f v1. \ufe0e<a href=\"#4_4\">[\u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f]<\/a><\/p>\n<p>  <a name=\"5\"><\/a>5. \u0421\u043f\u0430\u0441\u0438\u0431\u043e McStroyer \u043d\u0430 Reddit, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0442\u0438\u043b \u043d\u0430 \u044d\u0442\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435. \ufe0e<a href=\"#5_5\">[\u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f]<\/a><\/p>\n<p>  <a name=\"6\"><\/a>6. \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 \u0440\u0435\u043a\u043b\u0430\u043c\u044b Brave \u043e\u0442\u043a\u0440\u044b\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<ul>\n<li>\u041c\u0435\u0442\u043e\u0434 <a href=\"https:\/\/github.com\/brave\/brave-core\/blob\/master\/components\/brave_shields\/browser\/ad_block_base_service.cc#L37\" rel=\"nofollow\">ResourceTypeToString<\/a> \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442, \u043a\u0430\u043a\u043e\u0439 \u0438\u043c\u0435\u043d\u043d\u043e \u0440\u0435\u0441\u0443\u0440\u0441 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f.  <\/li>\n<li>\u0411\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0440\u0435\u043a\u043b\u0430\u043c\u044b Brave \u0432 <a href=\"https:\/\/github.com\/brave\/brave-core\/blob\/master\/components\/brave_shields\/browser\/ad_block_base_service.cc#L120\" rel=\"nofollow\">ShouldStartRequest<\/a> \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442, <a href=\"https:\/\/github.com\/brave\/brave-core\/blob\/master\/components\/brave_shields\/browser\/ad_block_base_service.cc#L137\" rel=\"nofollow\">\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043b\u0438 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u0443 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438<\/a>.  <\/li>\n<li>\u0415\u0441\u043b\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442, \u0442\u043e \u043e\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 <a href=\"https:\/\/github.com\/brave\/brave-core\/blob\/88d1bbf718795ae4ddbfe8eb9104c1a06abd52e4\/browser\/net\/brave_ad_block_tp_network_delegate_helper.cc#L88\" rel=\"nofollow\">\u043f\u043e\u0434\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441<\/a>, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u043d\u043d\u0435\u043c \u0442\u0438\u043f\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u0430, \u0438 \u0440\u0430\u043f\u043e\u0440\u0442\u0443\u0435\u0442 \u043e\u0431 \u00ab\u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c\u00bb \u0437\u0430\u043f\u0440\u043e\u0441\u0435.<\/li>\n<\/ul>\n<p>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e <a href=\"https:\/\/fmarier.org\/\" rel=\"nofollow\">\u0424\u0440\u0430\u043d\u0441\u0443\u0430 \u041c\u0430\u0440\u044c\u0435<\/a> \u0437\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043d\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 Brave. \ufe0e<a href=\"#6_6\">[\u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f]<\/a><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/499130\/\"> https:\/\/habr.com\/ru\/post\/499130\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/499130\/\">\u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435\u0441\u044c \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430\u043c\u0438 \u0440\u0435\u043a\u043b\u0430\u043c\u044b, \u0442\u043e \u043c\u043e\u0433\u043b\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0442\u044c <a href=\"https:\/\/blockadblock.com\/\" rel=\"nofollow\">BlockAdBlock<\/a>. \u042d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0430\u0448 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0438 \u043d\u0435 \u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043d\u0430 \u0441\u0430\u0439\u0442, \u043f\u043e\u043a\u0430 \u0432\u044b \u0435\u0433\u043e \u043d\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435. \u041d\u043e \u043c\u043d\u0435 \u0441\u0442\u0430\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u043a\u0430\u043a \u043e\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041a\u0430\u043a \u0430\u043d\u0442\u0438\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438? \u0410 \u043a\u0430\u043a \u043d\u0430 \u044d\u0442\u043e \u0440\u0435\u0430\u0433\u0438\u0440\u0443\u044e\u0442 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438 \u0438 \u043a\u0430\u043a \u043e\u043d\u0438 \u0431\u043b\u043e\u043a\u0438\u0440\u0443\u044e\u0442 \u0430\u043d\u0442\u0438\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0438?<\/p>\n<h1>\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430<\/h1>\n<p>  \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u044f \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u043b \u043d\u0430 <a href=\"https:\/\/blockadblock.com\/configure.php\" rel=\"nofollow\">\u0438\u0445 \u0441\u0430\u0439\u0442<\/a>. BlockAdBlock \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0442\u043e\u0440 \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438: \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0438 \u043a\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435, \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044f \u0440\u0430\u0437\u043d\u044b\u0435 <i>\u0432\u0435\u0440\u0441\u0438\u0438<\/i> \u0441\u043a\u0440\u0438\u043f\u0442\u0430.<\/p>\n<p>  \u042d\u0442\u043e \u043d\u0430\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u043e \u043c\u0435\u043d\u044f \u043d\u0430 \u043c\u044b\u0441\u043b\u044c \u043e \u0432\u0435\u0440\u0441\u0438\u044f\u0445. \u0410 \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043c\u043e\u0433 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0435 \u043d\u0430 \u043e\u0434\u043d\u0443 \u0432\u0435\u0440\u0441\u0438\u044e, \u0430 \u043d\u0430 <b>\u0432\u0441\u0435<\/b> \u0441\u0440\u0430\u0437\u0443? \u0422\u0430\u043a \u044f \u0438 \u0441\u0434\u0435\u043b\u0430\u043b. \u042f \u0432\u0435\u0440\u043d\u0443\u043b\u0441\u044f \u043d\u0430\u0437\u0430\u0434 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e <a href=\"https:\/\/archive.org\/web\/\" rel=\"nofollow\">Wayback Machine<\/a>. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u043a\u0430\u0447\u0430\u043b \u0432\u0441\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 BlockAdBlock \u0438 \u0445\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043b \u0438\u0445.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-302540","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/302540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=302540"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/302540\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=302540"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=302540"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=302540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}