рдмреНрд▓реЙрдХ рдПрдбрдмреНрд▓реЙрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдПрдВрдЯреА-рдмреНрд▓реЙрдХрд┐рдВрдЧ рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ

рдпрджрд┐ рдЖрдк рд╡рд┐рдЬреНрдЮрд╛рдкрди рдмреНрд▓реЙрдХрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк BlockAdBlock рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЗ рдЕрд╡рд░реЛрдзрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреА рд╣реИ рдФрд░ рдЬрдм рддрдХ рдЖрдк рдЗрд╕реЗ рдЕрдХреНрд╖рдо рдирд╣реАрдВ рдХрд░рддреЗ, рддрдм рддрдХ рдЗрд╕реЗ рд╕рд╛рдЗрдЯ рдкрд░ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд░реЛрдзреА рдЕрд╡рд░реЛрдзрдХ рдЕрд╡рд░реЛрдзрдХреЛрдВ рдХрд╛ рдкрддрд╛ рдХреИрд╕реЗ рд▓рдЧрд╛рддрд╛ рд╣реИ? рдФрд░ рдмреНрд▓реЙрдХрд░реНрд╕ рдЗрд╕ рдкрд░ рдХреИрд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рд╡рд┐рд░реЛрдзреА рдмреНрд▓реЙрдХрд░реНрд╕ рдХреЛ рдХреИрд╕реЗ рдЕрд╡рд░реБрджреНрдз рдХрд░рддреЗ рд╣реИрдВ?

рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕


рдкрд╣рд▓реА рдмрд╛рдд рдореИрдВрдиреЗ рдЙрдирдХреА рд╕рд╛рдЗрдЯ рдХреЛ рджреЗрдЦрд╛ ред BlockAdBlock рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕рдХрд░реНрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдкреНрд░рддреАрдХреНрд╖рд╛ рдЕрдВрддрд░рд╛рд▓ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдмрдирд╛рддреЗ рд╣реБрдП рдЪреЗрддрд╛рд╡рдиреА рдХреИрд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА ред

рдЗрд╕рдиреЗ рдореБрдЭреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╡рд╣ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рднреА рдПрдХ рдмрд╛рд░ рдореЗрдВ? рддреЛ рдореИрдВрдиреЗ рдХрд┐рдпрд╛ред рдореИрдВ рд╕рдордп рдкрд░ рд╡реЗрдХрдмреИрдХ рдорд╢реАрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЧрдпрд╛ ред рдЙрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ BlockAdBlock рдХреЗ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣реИрд╢ рдХрд┐рдпрд╛ред

рдмреНрд▓реЙрдХ рдПрдбрдмреНрд▓реЙрдХ рдХреЗ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА, sha1sum рдХреЗ рд╕рд╛рде


6d5eafab2ca816ccd049ad8f796358c0a7a43cf3 20151007203811.js
065b4aa813b219abbce76ad20a3216b3481b11bb 20151113115955.js
d5dec97a775b2e563f3e4359e4f8f1c3645ba0e5 20160121132336.js
8add06cb79bc25114bd7a2083067ceea9fbb354 20160318193101.js
8add06cbb79bc25114bd7a2083067ceea9fbb354 20160319042810.js
8add06cbb79bc25114bd7a2083067ceea9fbb354 20160331051645.js
8add06cb79bc25114bd7a2083067ceea9fbb354 20160406061855.js
8add06cb79bc25114bd7a2083067ceea9fbb354 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

рдХреЗрд╡рд▓ рдЫрд╣ рд╕рдВрд╕реНрдХрд░рдг рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдВрддрд┐рдо 2016 рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреБрдЫ рд╕рд╛рдЗрдЯреЗрдВ рдЕрднреА рднреА рдмреНрд▓реЙрдХрдПрдбрдмреНрд▓реЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рдЗрдВрдЬреАрдирд┐рдпрд░ рдХреЛ рдХреЗрд╡рд▓ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЙрд▓рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рднрд┐рдиреНрди рдХреЛ рдЙрд▓реНрдЯрд╛ рдХрд░ рджреЗрдЧрд╛ред Spoiler: рд╣рдо рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЛрдб рдХреЗ рдЕрд╡рд╢реЗрд╖ рднреА рджреЗрдЦреЗрдВрдЧреЗред

рдореИрдВрдиреЗ GitHub рдкрд░ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдг рдкреЛрд╕реНрдЯ рдХрд┐рдП ред рдпрджрд┐ рдЖрдк рдбрд┐рдлрд░реЗрдВрд╕реЗрд╕ рдХреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрдорд┐рдЯ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИред

unpacking


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЛ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЙрд╕реНрдореЗрдЯрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рд╛рде рдФрд░ рддрд░реНрдХ рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╢реЛрдзрди рдХреЗ рдмрд┐рдирд╛ рдбреАрди рдПрдбрд╡рд░реНрдбреНрд╕ рдХреЗ рдЬреЗрдПрд╕-рдкреИрдХрд░ рджреНрд╡рд╛рд░рд╛ рдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ 1ред

eval(function(p, a, c, k, e, d) {
    e = function(c) {
        return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 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("2 3 4 5 6 7 8\'d. 9, h? a b c d e f g");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,{}))

рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдкреИрдХрд░ рдХреА рдХрдордЬреЛрд░реА рдпрд╣ рд╣реИ рдХрд┐ рдЕрдирдкреИрдХрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд╕рднреА рдХреЛрдб рдХреЛ рдкрд╛рд╕ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ eval()ред рдпрджрд┐ рд╣рдо eval()рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреА рдЬрдЧрд╣ рд▓реЗрддреЗ рд╣реИрдВ console.log(), рддреЛ рд╣рдореЗрдВ рдЕрдЪрд╛рдирдХ рд╕рднреА рд╕реНрд░реЛрдд рдХреЛрдб рдорд┐рд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдкреИрдХрд░ 2 рд╕реЗ рд╣рд╛рд░ рдЬрд╛рддрд╛ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдордп рдХреЗ рд╕рд╛рде рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рдХрд╛рд░реНрдп рдЬреЛрдбрд╝реЗ рдЧрдПред

v1 :? - рдирд╡рдВрдмрд░ 2015: рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ


рд╕реНрд░реЛрдд рдХреЛрдб

рдЪрд▓реЛ 20151007203811.jsрдирд╡рдВрдмрд░ 2015 3 рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкреНрд░рдХрд╛рд╢рд┐рдд рдПрдХ рдЕрдзреНрдпрдпрди рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкрд╣рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдмреНрд▓реЙрдХрд░реНрд╕ рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЛ рдЙрди рдХрдЪрд░реЗ рдХреЗ рдмрд┐рдирд╛ рдмреНрд▓реЙрдХрдПрдбрдмреНрд▓реЙрдХ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдЬрдорд╛ рд╣реБрдП рд╣реИрдВред

рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░


рддреАрди рд╡рд╛рдХреНрдпреЛрдВ рдореЗрдВ:

  • рдмреНрд▓реЙрдХрдПрдбрдмреНрд▓реЙрдХ рдПрдХ рдХреНрд▓реЛрдЬрд░ рд╣реИ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рддреАрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓реМрдЯрд╛рддрд╛ рд╣реИ:
    • bab() рдЪрд╛рд░рд╛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЪреЗрдХ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ check
    • check() рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрд╡рд░реЛрдзрдХ рдиреЗ рдЪрд╛рд░рд╛ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг arm
    • arm() рдУрд╡рд░рд▓реЗ
  • рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ bab()рддрдм рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдордп рдХреЗ рдмрд╛рдж рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред
  • рддреАрди рдХрд╛рд░реНрдп рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдмреНрд▓реЙрдХрдмреИрдВрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ ред

рдХреЛрдб рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд╕реНрддреБ рдХреЛ рд╕реМрдВрдкрд╛ рдПрдХ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

var randomID = '',
    e = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
for (var i = 0; i < 12; i++) randomID += 
    e.charAt(Math.floor(Math.random() * e.length));
var setTimeoutDelay = 7; // Delay after which to call BlockAdBlock
window['' + randomID + ''] = ...

рд▓реЗрдЦрдХ рдиреЗ рд╕реНрдереИрддрд┐рдХ рдЕрд╡рд░реБрджреНрдз рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ред

рдлрд┐рд░ рддреАрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рджреЗрддрд╛ рд╣реИ: bab, checkрдФрд░ armред

window['' + randomID + ''] = (function() {
    var eid = ...
    return {
        bab: function(check, passed_eid) {},
        check: function(checkPredicate, unused) {},
        arm: function() {}
    }
})();

рдпреЗ рдореЗрд░реЗ рдЕрдкрдиреЗ рдирд╛рдо рд╣реИрдВред рд╕рднреА рдЪрд░ рдХреЛ рдЫреЛрдЯрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореЛрдЯреЗ рд╣реЛрддреЗ рд╣реИрдВред
рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЗ bab()рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ setTimeout()ред

setTimeout('window[\'\' + randomID + \'\'] \
.bab(window[\'\' + randomID + \'\'].check, \
     window[\'\' + randomID + \'\'].bab_elementid)', setTimeoutDelay * 1000)

bab_elementidрдХреЛрдб рдХреЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред setTimeoutрдПрдХ рддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред

рдПрдХ рдХреНрд▓реЛрдЬрд░ рдореЗрдВ рдмрд╛рд╣рд░реА рдЪрд░ рд╣реЛрддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рджреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд░рд╛рдЬреНрдп рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

  • adblockDetected рдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реЛрдзрдХ рдХрд╛ рдкрддрд╛ рдЪрд▓рдиреЗ рдкрд░ 1 рдХреЗ рдмрд░рд╛рдмрд░ред
  • nagMode- рдпрд╣ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдпрджрд┐ рдпрд╣ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреГрд╖реНрда рддрдХ рдкрд╣реБрдВрдЪ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╣реА рдЖрдкрдХреЛ рдЪрд╛рд▓реВ рдХрд░рддреА рд╣реИред

рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдЪрд░ рд╡рд┐рдиреНрдпрд╛рд╕рдХрд░реНрддрд╛ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╣реИрдВ ред

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';

bab_domain BlockAdBlock рдбреЛрдореЗрди рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдпрд╣рд╛рдВ рд╕реЗрдЯ рдХрд░реЗрдВред

bab: рдПрдХ рдлрдВрджрд╛ рдмреИрдирд░ рдмрдирд╛рдПрдБ


рдмреНрд▓реЙрдХрдПрдбрдмреНрд▓реЙрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рддрд░реАрдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмреИрдирд░реЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рддрддреНрд╡реЛрдВ рд╕реЗ "рдЪрд╛рд░рд╛" рдпрд╛ "рдЪрд╛рд░рд╛" рдмрдирд╛рдирд╛ рд╣реИред рд╡рд╣ рддрдм рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЙрдирдХрд╛ рдЕрд╡рд░реЛрдзрдХ рдЕрд╡рд░реБрджреНрдз рд╣реИред

рдпрд╣ рдПрдХ рдлрдВрджрд╛ рдмрдирд╛рддрд╛ рд╣реИ: рдПрдХ рдирдХрд▓реА рддрд▓рд╛рдХ рдЬреЛ рдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд╣реЛрдиреЗ рдХрд╛ рджрд┐рдЦрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рджреГрд╢реНрдп рд╕реЗ рдЫрд┐рдкрд╛ рд╣реЛрддрд╛ рд╣реИред

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);
    ...

рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдпрд╣ passed_eidрдЪрд╛рд░рд╛ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрд╕рдХреЗ рдмрд╛рдж, рдпрд╣ рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЗрдХрд╛рдИ рджреНрд╡рд╛рд░рд╛ рдЪрд╛рд░рд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

    ...
    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 < 1000), delay);
            check((bait.top < 1000), delay)
        } else {
            check(true, delay)
        }
    }, 125)
}

рдпрджрд┐ рдЪрд╛рд░рд╛ рдЕрдм рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рддрддреНрд╡ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдФрд░ рд╣рдо рдУрд╡рд░рд▓реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ)ред рдпрджрд┐ рдпрд╣ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ рддреЛ

рдлрд╝рдВрдХреНрд╢рди checkрдХрд╛рдо рдХрд░реЗрдЧрд╛ , рдФрд░ рдпрд╣ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ редPredicatetruearm

check: function(checkPredicate, unused) {
    if ((checkPredicate) && (adblockDetected == 0)) {
        adblockDetected = 1;
        window['' + randomID + ''].arm()
    } else {}
}

рдЪреВрдВрдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЛ checkрдХрдИ рдмрд╛рд░ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, adblockDetectedрдмрд╛рд░-рдмрд╛рд░ рдЯреНрд░рд┐рдкрд┐рдВрдЧ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкрд╣рд▓реЗ рд╕рд╣реА рдкрд░реАрдХреНрд╖рдг рдкрд░ рд╕реЗрдЯ рд╣реИ armред

рдЧреНрд░рдиреНрдЯ рдореЛрдб


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ "рдирд╛рдЧ рдореЛрдб" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЗрд╕ рдореЛрдб рдореЗрдВ, рдмреНрд▓реЙрдХ рдПрдбрдмреНрд▓реЙрдХ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реЛрдзрдХ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдЬрд╝рд┐рдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЖрдкрдХреЛ рд╣рд░ рдмрд╛рд░ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣ localStorageрдкрд╣рд▓реА рдпрд╛рддреНрд░рд╛ рдкрд░ рдЖрдЗрдЯрдо рд╕реЗрдЯ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред

рдпрджрд┐ рд╣рдо рдЗрд╕ рддрддреНрд╡ рдХреЛ рд╕реНрд╡рдпрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдХреНрдпрд╛ рд╣рдо рд▓реЙрдХ рдХреЛ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдмреНрд▓реЙрдХ рдПрдбрдмреНрд▓реЙрдХ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдирд╛рдЧ рдореЛрдб рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд┐рдзрд┐ рддрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА рдЬрдм рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдПрдХреНрд╕реЗрд╕ рд▓реЙрдХ рдХреЗ рд╕рд╛рдеред

arm: function() {
    if (nagMode == 1) {
        var babNag = sessionStorage.getItem('babn');
        if (babNag > 0) {
            return true // Stop the script.
        } else {
            sessionStorage.setItem('babn', (Math.random() + 1) * 1000)
        }
    };
    ...

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ nagModeрд╡рд┐рдиреНрдпрд╛рд╕рдХрд░реНрддрд╛ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдмрд░рд╛рдмрд░ рд╣реИ 0ред

рдмреНрд▓реЙрдХ рдПрдбрдмреНрд▓реЙрдХ рд╕рдВрд╕реНрдХрд░рдг 1


рд╡рд┐рдЬреНрдЮрд╛рдкрди рдмреНрд▓реЙрдХрд░реНрд╕ рддрдерд╛рдХрдерд┐рдд рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдХреЛрдб рдХреА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЬреЛ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдкреГрд╖реНрда рдкрд░ рддрддреНрд╡реЛрдВ рдХреЛ рдЫрд┐рдкрд╛ рд╕рдХрддреА рд╣реИрдВред рдЪрд╛рд░рд╛ рддрддреНрд╡ рдмрдирд╛рдХрд░, BlockAdBlock рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрди рдлрд┐рд▓реНрдЯрд░ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рд╕рд░рд▓ рд░рдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде, рдмреНрд▓реЙрдХрдмрд▓реЙрдХ рд╕рднреА рдкреНрд░рдореБрдЦ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдмреНрд▓реЙрдХрд░реНрд╕ рдЬреИрд╕реЗ рдХрд┐ рдпреВрдмреНрд▓реЙрдХ рдУрд░рд┐рдЬрд┐рди, рдПрдбрдмреНрд▓реЙрдХ рдкреНрд▓рд╕ рдФрд░ рдШреЛрд╕реНрдЯрд░реА рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреНрд░рднрд╛рд╡реА рд╣реИред рдЗрд╕рдХрд╛ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдХреЗрд╡рд▓ рдЙрди рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рд╕рдХреНрд░рд┐рдп рд╣реИ рдЬреЛ рдмреНрд▓реЙрдХрдПрдбрдмреНрд▓реЙрдХ рдЪрд▓рд╛рддреЗ рд╣реИрдВред

рдЕрд╡рд░реЛрдзрдХ рдХреЗ рд▓рд┐рдП рдлрд╝рд┐рд▓реНрдЯрд░ рд▓рд┐рдЦрдирд╛ рдереЛрдбрд╝рд╛ рдЬрдЯрд┐рд▓ рд╣реИред рд╣рдореЗрдВ рдПрдХ рдРрд╕реА рд╕рд╛рдордЧреНрд░реА рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЙрддреНрдкрдиреНрди рдкреГрд╖реНрда рдкрд░ рддрддреНрд╡реЛрдВ рдХреЛ рд░реЛрдХрддреА рд╣реИред рдЪреВрдВрдХрд┐ рдЪрд╛рд░рд╛ рдореЗрдВ рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реЛрддрд╛ рд╣реИ banner_ad, рдЗрд╕рд▓рд┐рдП рд╣рдо рддрддреНрд╡реЛрдВ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкрд╡рд╛рдж рдмрдирд╛рддреЗ рд╣реИрдВрдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде #@#рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдХрд░ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХреА рд╕реВрдЪреА рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:#banner_ad



localhost#@# #banner_ad

рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ URL рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдпрд╣ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ BlockAdBlock рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░ рджреЗрддрд╛ рд╣реИред рд╕рдорд╛рдзрд╛рди рд╕рд░рд▓ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдПрдВрдЯреА-рдПрдбрдмреНрд▓реЙрдХ-рдХрд┐рд▓рд░ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реВрдЪреА рдореЗрдВ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ ред

рд╕рдВрд╕реНрдХрд░рдг 2 (рдирд╡рдВрдмрд░ 2015 - рдЬрдирд╡рд░реА 2016): рдХрдИ рд╕реБрдзрд╛рд░


рд╕реНрд░реЛрдд рдХреЛрдб
рдЕрдВрддрд░ v1 / v2

рдЪрд╛рд░рд╛ рдирд┐рд░реНрдорд╛рдг: рдХрдо рдХреАрдбрд╝реЗ


рдЪрд╛рд░рд╛ рдмрдирд╛рдиреЗ рдХреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХ рд╕реВрдХреНрд╖реНрдо рдЧрд▓рддреА рд╣реИ: рдмрдирд╛рдИ рдЧрдИ div рдореЗрдВ рдХреЛрдИ рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдХ div 0 рдХреА рдКрдБрдЪрд╛рдИ рдФрд░ 0. рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИред рдмрд╛рдж рдореЗрдВ, рдХреЛрдб рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ div рдЙрд╕рдХреА рдКрдБрдЪрд╛рдИ рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдХреЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдЗрд╕рдХреА рд╢реВрдиреНрдп рдКрдВрдЪрд╛рдИ рдереА, рдЗрд╕рд▓рд┐рдП рдмреНрд▓реЙрдХрдПрдмреНрд▓рдмреНрд▓реЙрдХ рдиреЗ рд╣рдореЗрд╢рд╛ 4 рдХрд╛рдо рдХрд┐рдПред

рдПрдХ рдЦрд╛рд▓реА div рдХреА рддреНрд░реБрдЯрд┐ рддрдп рд╣реЛ рдЧрдИ рд╣реИред

bab: function(...) {
    bait = document.createElement('DIV');
    ...
    bait.appendChild(document.createTextNode('├В '));

рдХреБрдЫ рдХрдВрдЯреЗрдВрдЯ рдХреЗ рд╕рд╛рде рдЪрд╛рдЗрд▓реНрдб рдбрд┐рд╡ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирдХрд▓реА рдЧреНрд░рд╛рдлрд┐рдХ рдмреИрдирд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрд╡рд░реЛрдзрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ


рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ, рд╣рдо рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирдХрд▓реА рдЫрд╡рд┐ рдмрдирд╛рддреЗ рд╣реИрдВ doubleclick.netред рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реЛрдзрдХ рдЫрд╡рд┐ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░реЗрдЧрд╛, рдпрд╣ рд╕реЛрдЪрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдмреИрдирд░ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

bab: function(...) {
    bait = document.createElement('DIV');
    bait.innerHTML = '<img src="http://doubleclick.net/' + randomStr() + '.jpg">';
    ...

randomStr()рдордирдорд╛рдиреА рд▓рдВрдмрд╛рдИ рдХреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред

рдПрдХ рдФрд░ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдЕрдВрддрд░ рдпрд╣ setIntervalрджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдПрдХ рдЯреНрд░рд┐рдЧрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдПрдХ рдмрд╛рд░ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдЯрд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред рд╡рд╣ рдкреБрди: рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЧреНрд░рд╛рдлрд┐рдХ рдмреИрдирд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдирд╣реАрдВ рдмрджрд▓реА рдЧрдИ рд╣реИ src, рддреЛ рдЪрд╛рд░рд╛ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред

рдирдИ setIntervalрдФрд░ рдЫрд╡рд┐ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:

    ...
    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

рдХреНрдпреЛрдВ indexof ('click')? рдХреНрдпреЛрдВрдХрд┐ рдЫрд╡рд┐ рдХрд╛ рд╕реНрд░реЛрдд src="doubleclick.net/abcdefg.jpg"рдФрд░ рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдЯреБрдХрдбрд╝рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ clickред

рд╕рдВрд╕реНрдХрд░рдг 3 (рдирд╡рдВрдмрд░ 2015 - рдорд╛рд░реНрдЪ 2016): рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдЪрд╛рд░рд╛


рд╕реНрд░реЛрдд рдХреЛрдб
рдЕрдВрддрд░ v2 / v3

рдЪрд╛рд░рд╛ рдирд┐рд░реНрдорд╛рдг: рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛


рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдкрд░рд┐рд╡рд░реНрддрди, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЪрд╛рд░рд╛ рдХреЗ рд▓рд┐рдП рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИред рдирдпрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЪрд╛рд░рд╛ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдм рдкреГрд╖реНрда рдХреЗ рдордзреНрдп рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рдПрдХ рд▓рдВрдмреА рд╕реВрдЪреА рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХреЗ рдЕрдЪреНрдЫреЗ рдЬреНрдЮрд╛рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИред

var baitIDs = [
  "ad-left",
  "adBannerWrap",
  "ad-frame",
  "ad-header",
  "ad-img",
  "ad-inner",
  "ad-label",
  "ad-lb",
  "ad-footer",
  "ad-container",
  "ad-container-1",
  "ad-container-2",
  "Ad300x145",
  "Ad300x250",
  "Ad728x90",
  "AdArea",
  "AdFrame1",
  "AdFrame2",
  "AdFrame3",
  "AdFrame4",
  "AdLayer1",
  "AdLayer2",
  "Ads_google_01",
  "Ads_google_02",
  "Ads_google_03",
  "Ads_google_04",
  "DivAd",
  "DivAd1",
  "DivAd2",
  "DivAd3",
  "DivAdA",
  "DivAdB",
  "DivAdC",
  "AdImage",
  "AdDiv",
  "AdBox160",
  "AdContainer",
  "glinkswrapper",
  "adTeaser",
  "banner_ad",
  "adBanner",
  "adbanner",
  "adAd",
  "bannerad",
  " ad_box",
  " ad_channel",
  " adserver",
  " bannerid",
  "adslot",
  "popupad",
  "adsense",
  "google_ad",
  "outbrain-paid",
  "sponsored_link"
];

рд░реИрдВрдбрдо рдЖрдИрдбреА рдЬрдирд░реЗрд╢рди


    randomBaitID = baitIDs[ Math.floor(Math.random() * baitIDs.length) ],
    ...
    var passed_eid = randomBaitID;
    bait = document.createElement('DIV');    
    bait.id = passed_eid;

рдЪреВрдВрдХрд┐ рдпрд╣ рд╣рд░ рдмреВрдЯ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рд░ рдмрд╛рд░ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЕрд▓рдЧ рд╣реЛрдЧрд╛ред

рдмреНрд▓реЙрдХ рдПрдбрдмреНрд▓реЙрдХ, рддреАрд╕рд░реЗ рд╕реЗ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рддрдХ


BlockAdBlock рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реЛрдзрдХреЛрдВ рдХреЗ рдЕрдВрдзреЗ рд╕реНрдерд╛рди рдХрд╛ рд╢реЛрд╖рдг рдХрд░рддрд╛ рд╣реИ: рдпрджрд┐ рдлрд╝рд┐рд▓реНрдЯрд░ рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЕрдиреНрдп рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХреЛ рднреА рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, BlockAdBlock рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реЛрдзрдХ рдХреЛ рд╕реНрд╡рдпрдВ рдХреЛ рдмреЗрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ ред

рдмреНрд▓реЙрдХрд░реНрд╕ рдореЗрдВ, рд╣рдо рдкреЗрдЬ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдордирдорд╛рдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЕрдЧреНрд░рд┐рдо рдореЗрдВ BlockAdBlock рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдмреНрд▓реЙрдХрдПрдбрдмреНрд▓реЙрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдЪрд╛рд╣рд┐рдП, рдЬреЛ рд╣рд░ рдмрд╛рд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

uBlock рдЙрддреНрдкрддреНрддрд┐ рдиреЗ рдПрдХ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд┐рдпрд╛ред рдЪреВрдВрдХрд┐ рдХреЛрдб рдПрдХ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ eval, рд╣рдо рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ evalрдЬреЛ рдмреНрд▓реЙрдХрдмреЙрдХ рдХреЛ рдЦреЛрдЬрдиреЗ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░реЛрдХ рджреЗрдЧрд╛ред рдЬреЗрдПрд╕ рдореЗрдВ, рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╣реИ Proxy: рдЖрдк рдХрд┐рд╕реА рднреА рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╕рдВрдкрддреНрддрд┐ рдФрд░ рд╡рд┐рдзрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмреНрд▓реЙрдХрдПрдбрдмреНрд▓реЙрдХ рдкреЗрд▓реЛрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ evalрдХрд░рдХреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рджрд░рдХрд┐рдирд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ , рдЗрд╕рд▓рд┐рдП рд╣рдо рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЛ рднреА рдХрд╣рддреЗ рд╣реИрдВ: рдХреЙрд▓ setTimeoutред рдЪреВрдВрдХрд┐ рдпрд╣ setTimeoutрдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ, рд╣рдо рдЗрд╕ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред

рдореВрд▓ рдЙрддреНрдкрддреНрддрд┐ ( рд╕реНрд░реЛрдд ) рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди :

const signatures = [
    [ 'blockadblock' ],
    [ 'babasbm' ],
    [ /getItem\('babn'\)/ ],
    [
        'getElementById',
        'String.fromCharCode',
        'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
        'charAt',
        'DOMContentLoaded',
        'AdBlock',
        'addEventListener',
        'doScroll',
        'fromCharCode',
        '<<2|r>>4',
        'sessionStorage',
        'clientWidth',
        'localStorage',
        'Math',
        'random'
    ],
];
const check = function(s) {
    // check for signature 
};

рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рд╕реВрдЪреА: рдХреЛрдб рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ред рдлрд╝рдВрдХреНрд╢рди рдЗрди рдкреИрдЯрд░реНрдиреЛрдВ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП checkрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ evalред

рдЕрдЧрд▓рд╛, рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреНрд░реЙрдХреНрд╕реАeval рдФрд░ setTimeoutред

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);
        }
    }
});

рдЪреВрдВрдХрд┐ рдЕрдм рд╣рдо рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ , рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд╕реНрдЯрдо рдХреЛрдб рдЦрдВрдб рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд╝рд┐рд▓реНрдЯрд░ рдереЛрдбрд╝рд╛ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ:

localhost## +js(nobab)

рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╕рднреА рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдЯ рдкрд░ рдЗрд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рдВрд╕реНрдХрд░рдг 4 (рдЬрдирд╡рд░реА 2016 - рдЕрдкреНрд░реИрд▓ 2016): рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдХрд╛рд░реНрдп


рд╕реНрд░реЛрдд рдХреЛрдб
рдЕрдВрддрд░ v3 / v4

рд╡рд┐рд░реЛрдзреА рдЕрд╡рд░реЛрдзрдХреЛрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐ рдЬрдирд╡рд░реА 2016 рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЧрдИ рдереА, рдЬреЛ рдХрд┐ рдУрдмреНрд▓реЙрдХ рдУрд░рд┐рдЬрд┐рди рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╣реИ , рдФрд░ рдЗрд╕рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж рд╕реЗ рд╡реИрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рд╛ рдЧрдпрд╛ рд╣реИред рдмреНрд▓реЙрдХрдПрдбрдмреНрд▓реЙрдХ рдиреЗ рдХрднреА рднреА рдЕрдкрдиреА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдмрджрд▓рдХрд░ рдЗрд╕ рдлрд┐рд▓реНрдЯрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреАред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЙрд╕рдиреЗ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрд╛ред рдФрд░ рдЬрдм рд╣рдо BlockAdBlock рдкреЗрдЬ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЯреИрдм рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ: "рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдПрдВрдЯреА-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдкрд╛рд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?"



рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпреЗ рд╕реБрд░рдХреНрд╖рд╛рддреНрдордХ рддрд░реАрдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреИрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рд╡реЗ рд╕рднреА рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдФрд░ рдЗрд╕реА рдирд╛рдо рд╕реЗ рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЪреМрдерд╛ рд╕рдВрд╕реНрдХрд░рдг рджреЛ рддрд░реАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ:

  • aDefOne, "рдРрдбрд╕реЗрдВрд╕ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реБрд░рдХреНрд╖рд╛"
  • aDefTwo, "рд╡рд┐рд╢реЗрд╖ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрд╡рд┐рдзрд╛"

рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбрд┐рдмрдЧ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ


рдЖрдкрдХреЛ рдЕрд▓рд╡рд┐рджрд╛ рдХрд╣рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдореБрдЭреЗ рдПрдХ рдФрд░ рдмрд╛рдд рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдореЗрд░рд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛: рдХреЛрдб рдореЗрдВ рд╕рд╣реА

рдбрд┐рдмрдЧрд┐рдВрдЧ console.log()!

function consolelog(e) {
    // "Dev mode" check: developpers of BAB must set window.consolelog to 1.
    if (window.consolelog == 1) {
        console.log(e)
    }
};

рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рд╡реИрд╢реНрд╡рд┐рдХ consolelog, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ window.consolelog = 1ред

рдбреАрдмрдЧ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдХреЗрд╡рд▓ рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЕрдЧрд░ рдореИрдВрдиреЗ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЙрд▓реНрдЯрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реЛрддрд╛, рддреЛ рдореИрдВрдиреЗ рдХрднреА рдЙрди рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реЛрддрд╛ред рд╡реЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдореВрд▓реНрдп рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЙрдиреНрдирдд рд╕реБрд░рдХреНрд╖рд╛: AdSense


рдЗрди рд╕рднреА рд╡рд┐рд╢реЗрд╖ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдЗрдирдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ check, рди armрдХрд┐ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдЕрдиреБрд╕рд╛рд░ред рд╢рд╛рдпрдж рдПрдХ рдирдпрд╛ рдбреЗрд╡рд▓рдкрд░ рдЬреЛ рдХреЛрдб рдЖрдзрд╛рд░ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рдЙрд╕рдиреЗ рдЙрддреНрдкрд╛рдж рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рдпрджрд┐ AdSense рдкреГрд╖реНрда рдкрд░ рд╕рдХреНрд░рд┐рдп рд╣реИ, рддреЛ рд╣рдо рд╡рд┐рдЬреНрдЮрд╛рдкрдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рд╡реЗ рдПрдХ рдЕрд╡рд░реЛрдзрдХ рдХреЗ рдХрд╛рд░рдг рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ BlockAdBlock рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

function check() {
    ...
    var q = 'ins.adsbygoogle',
        // Selects all Google ads in the document.
        adsbygoogleQuery = document.querySelector(q);

    if ((adsbygoogleQuery) && (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
    }
    ...

scriptExistsрдХрд┐рд╕реА рджрд┐рдП рдЧрдП URL рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдкреВрд░реЗ рдкреГрд╖реНрда рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, AdSense 5 рд╕реНрдХреНрд░рд┐рдкреНрдЯред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ URL рдХреА рддреБрд▓рдирд╛ рдкреЗрдЬ рдкрд░ рдореМрдЬреВрдж рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИред рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, URL рдХреЛ 15 рд╡рд░реНрдгреЛрдВ рддрдХ рдЫреЛрдЯрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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
};

рдЙрдиреНрдирдд рд╕рдВрд░рдХреНрд╖рдг: рд╡рд┐рд╢реЗрд╖ рддрддреНрд╡


рдкрд╣рд▓реЗ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рд╡рд┐рдзрд┐ рдПрдХ рдЕрд╕реНрд╡реАрдХрд░рдг рдХреЗ рд╕рд╛рде рд╣реИ: "рдЕрдкрдиреА рд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред"

рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддреА рд╣реИ рдЬрдм рдмреНрд▓реЙрдХрд░ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдкреГрд╖реНрда рдкрд░ рдХреЛрдИ AdSense рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рд╣реИред рдпрд╣рд╛рдБ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ check:

check: function(checkPredicate, unused) {
    if ((checkPredicate) && (adblockDetected == 0)) {
        // Adblocker detected, arm
    } else {
        var q = 'ins.adsbygoogle',
            adsbygoogleQuery = document.querySelector(q);

        if ((adsbygoogleQuery) && (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
                }
            }
        }
    }

рд╡рд┐рдзрд┐ рдорд╛рдирддреА рд╣реИ рдХрд┐ рд╕рд╛рдЗрдЯ рд╕реНрд╡рд╛рдореА рдХреЗрд╡рд▓ AdSense рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдпрджрд┐ рдХреЛрдИ AdSense рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреБрдЫ рдЧрд▓рдд рд╣реИред

рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдХреНрдпреЛрдВ рдереА? рдпрд╣ рд╡рд┐рдзрд┐ AdSense рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИред рдпрджрд┐ рдпрд╣ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЕрд╡рд░реЛрдзрдХ рдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдмреНрд▓реЙрдХ рдПрдбрдмреНрд▓реЙрдХ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЪреЗрддрд╛рд╡рдиреАред

рдпрджрд┐ AdSense рд▓реЛрдб рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рддреЛ рдУрд╡рд░рд▓реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред

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
    }
}

рдЬрдм рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрддрд░ рдкрд░ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ onerrorрдЬреИрд╕реЗ рдХрд┐ рдПрдХ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реЛрдзрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред

рджрд░рдЕрд╕рд▓, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдмреНрд▓реЙрдХрд░реНрд╕ рдЗрд╕рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреБрд░реЛрдз рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдПрдХ рдЕрд╡рд░реЛрдзрдХ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдмрд╣рд╛рджреБрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ ред

рдмрд╣рд╛рджреБрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛


рдЕрдм рддрдХ, рд╣рдо рдпрд╣ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ uBlock рдЙрддреНрдкрддреНрддрд┐ рдореЗрдВ рдПрдВрдЯреА-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХрд╛ рдкрддрд╛ рдХреИрд╕реЗ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд┐рд▓реНрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд╣рд╛рдВ рдмреНрд▓реЙрдХрдПрдбрдмреНрд▓реЙрдХ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдмрд╣рд╛рджреБрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдХрд┐рд╕реА рднреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдмрд┐рдирд╛ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреНрд▓реЙрдХ рдПрдбрдмреНрд▓реЙрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд╣ рд╕реАрдзреЗ рдиреЗрдЯрд╡рд░реНрдХ рд▓реЗрдпрд░ 6 рдкрд░ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред

рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, ad_status.jsрдпрд╣ рдЗрд╕реЗ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирдХрд▓реА Google рд╡рд┐рдЬреНрдЮрд╛рдкрди 0 рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рдЖрдХрд╛рд░ рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ ред рдпрд╣ рдЯреНрд░рд┐рдХ рдЯреНрд░рд┐рдХ рдмреНрд▓реЙрдХ рдПрдбрдмреНрд▓реЙрдХ рдХреЛ рдореВрд░реНрдЦ рдмрдирд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ onerrorрдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред



рд╕рдВрд╕реНрдХрд░рдг 5 (рдорд╛рд░реНрдЪ 2016 - рдирд╡рдВрдмрд░ 2016)


рд╕реНрд░реЛрдд рдХреЛрдб
рдЕрдВрддрд░ v4 / v5

рдЙрдиреНрдирдд рд╕реБрд░рдХреНрд╖рд╛: рд╕реНрдкреИрдо рдлрд╝реЗрд╡рд┐рдХреЙрди


рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдмрджрд▓рд╛рд╡ рдпрд╣ рд╣реИ рдХрд┐ рджреВрд╕рд░рд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдВрд░рдХреНрд╖рдг рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдЙрд╕реА рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ: рдиреЗрдЯрд╡рд░реНрдХ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рдЬреЛ рдЕрд╡рд░реЛрдзрдХ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдЕрдм рдРрдбрд╕реЗрдВрд╕ рдХреЗ рдмрдЬрд╛рдп рдлрд╝реЗрд╡рд┐рдХреЙрди рд▓реЛрдб рд╣реЛ рд░рд╣реЗ рд╣реИрдВред

рдмрд╣рд╛рджреБрд░ рдЗрд╕ рд╣рдорд▓реЗ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЕрдВрдЬрд╛рдо рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирдХрд▓реА 1 ├Ч 1 рдЪрд┐рддреНрд░ рдмрдирд╛рддрд╛ рд╣реИред

if (aDefTwo == 'yes') {
    if (! window['' + randomID + ''].ranAlready) {/
        var favicons = [
            "//www.google.com/adsense/start/images/favicon.ico",
            "//www.gstatic.com/adx/doubleclick.ico",
            "//advertising.yahoo.com/favicon.ico",
            "//ads.twitter.com/favicon.ico",
            "//www.doubleclickbygoogle.com/favicon.ico"
            ],
            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
    };
}

baitImagesрд╕реНрдерд┐рд░ рдмреНрд▓реЙрдХрд░реНрд╕ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдХреНрд╕рд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдВрд╕реНрдХрд░рдг 6 (рдЕрдкреНрд░реИрд▓ 2016 - рдирд╡рдВрдмрд░ 2016): рдмрд╣рд╛рджреБрд░ рддрд╛рд▓рд╛


рд╕реНрд░реЛрдд рдХреЛрдб
рдЕрдВрддрд░ v5 / v6

рдмреНрд▓реЙрдХ рдПрдбрдмреНрд▓реЙрдХ рддрд░реАрдХреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд╕рд░рд▓, рдзреАрд░реЗ-рдзреАрд░реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдФрд░ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдмрди рдЧрдПред рд▓реЗрдХрд┐рди рдЕрдВрддрд┐рдо рдЕрдкрд░рд╛рдЬрд┐рдд рджреБрд╢реНрдорди рдмрдиреЗ рд░рд╣реЗ: рдмрд╣рд╛рджреБрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ред

рдЙрдиреНрдирдд рд╕реБрд░рдХреНрд╖рд╛: рдПрдХ рдирдХрд▓реА рдлреЗрд╡рд░рд┐рдХреЙрди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛


рдЫрд╡рд┐рдпреЛрдВ (рдлреЗрд╡рд┐рдХреЙрди) рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рд╕реЗ рдмреНрд▓реЙрдХ рдПрдбрдмреНрд▓реЙрдХ рд╕реНрд╡рд┐рдЪ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛? рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рдЙрд╕ рдХреЛрдб рдореЗрдВ рд╣реИ рдЬреЛ рд╕реНрдкреИрдо рдлреЗрд╡реАрдХреЛрдиреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЬреЛ рдмрд╣рд╛рджреБрд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рдХреНрд░рд┐рдп рд╣реЛрддрд╛ рд╣реИред

рдирдХрд▓реА рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЬрд╛рдБрдЪ:

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 < 8) && (m.width > 0)) {
                window['' + randomID + ''].arm()
            }
        }
    };
}

рдпрджрд┐ рдлрд╝реЗрд╡рд┐рдХреЙрди рдХрд╛ рдЖрдХрд╛рд░ 8 ├Ч 8 рд╕реЗ рдХрдо рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрднрд╡рддрдГ рдмрд╣рд╛рджреБрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдПрдХ рдирдХрд▓реА рд╣реИред

рдЗрд╕ рдЯреНрд░рд┐рдХ рдХреЗ рд╕рд╛рде, рдмреНрд▓реЙрдХрдПрдбрдмреНрд▓реЙрдХ рдмрд╣рд╛рджреБрд░ рдФрд░ рдЕрдиреНрдп рдмреНрд▓реЙрдХрд░реНрд╕ рдХреЗ рднреЗрд╕ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕ рдХреЛрдб рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ (рдЬреНрдпрд╛рджрд╛рддрд░, рдЬреИрд╕реЗ рдпреВрдмреНрд▓реЙрдХ рдУрд░рд┐рдЬрд┐рди, рдЗрд╕реЗ рдкрд╣рд▓реЗ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ)ред

рдЗрд╕ рдЕрджреНрдпрддрди рдХреЗ рдмрд╛рдж, рдирд╡рдВрдмрд░ 2016 рдХреЗ рдЕрдВрдд рдХреЗ рдЖрд╕рдкрд╛рд╕, рдмреНрд▓реЙрдХрдЕрдбрдмреНрд▓реЙрдХ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛ред рдпрджреНрдпрдкрд┐ рдЙрдирдХреЗ "рдЙрдиреНрдирдд рд╕реБрд░рдХреНрд╖рд╛ рддрд░реАрдХреЗ" рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд╡реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрднреА рд╕рдХреНрд░рд┐рдп рдирд╣реАрдВ рд╣реБрдПред рдпрд╣ рдЖрдЦрд┐рд░реА рдЕрдкрдбреЗрдЯ рдерд╛ред рдЯреНрд╡рд┐рдЯрд░ рдФрд░ рд╕рд╛рдЗрдЯ рдкрд░ рдЖрдЦрд┐рд░реА рдкреЛрд╕реНрдЯ 2017 рдХреЗ рдЕрдВрдд рдореЗрдВ рдХрд╣реАрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдИ рдереАред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдмреНрд▓реЙрдХрдПрдбрдмреНрд▓реЙрдХ рдХреА рд╡рд┐рд░рд╛рд╕рдд рдкрд░ рд░рд╣рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрди рджрд┐рдиреЛрдВ рдЗрд╕реЗ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрднреА рднреА рдХреБрдЫ рдЖрдзреБрдирд┐рдХ рд╕рд╛рдЗрдЯреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реЛрдзрдХреЛрдВ рдФрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реЛрдзрдХреЛрдВ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рд░реЛрдзреА рдЕрд╡рд░реЛрдзрдХреЛрдВ рдХреЗ рдмреАрдЪ рд╣рдерд┐рдпрд╛рд░реЛрдВ рдХреА рджреМрдбрд╝ рдХреМрди рдЬреАрддреЗрдЧрд╛? рдХреЗрд╡рд▓ рд╕рдордп рд╣реА рдмрддрд╛рдПрдЧрд╛ред рдЬреИрд╕реЗ рд╣реА рд╣рдерд┐рдпрд╛рд░реЛрдВ рдХреА рджреМрдбрд╝ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрддреА рд╣реИ, рдмреНрд▓реЙрдХ-рдмреНрд▓реЙрдХ рд╢реЛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдВрдЯреА-рдмреНрд▓реЙрдХрд░реНрд╕ рдХреЛ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рддрд░реАрдХреЛрдВ рдФрд░ рд╡рд┐рд╢реЗрд╖ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рджреВрд╕рд░реА рдУрд░, рдмреНрд▓реЙрдХрд░реНрд╕ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд┐рд░ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдЯреВрд▓ рдХрд╛ рд▓рд╛рдн рд╣реИ, рд╕рд╛рде рд╣реА рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрдХ рдкрд╣реБрдВрдЪ рднреА рд╣реИред рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде, рдпрд╣ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рджреБрд╢реНрдорди рдХреЛ рдХреИрд╕реЗ рд╣рд░рд╛рдпрд╛ рдЬрд╛рдП - рдФрд░ рдирдИ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╝рд┐рд▓реНрдЯрд░ рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред

BlockAdBlock рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реЛрдзрдХреЛрдВ рдХреА рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдХреЗ, рд╣рдо BlockAdBlock рдФрд░ рдмреНрд▓реЙрдХрд░реНрд╕ рдХреЗ рдмреАрдЪ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдпреБрджреНрдз рдХреА рддрд╕реНрд╡реАрд░ рдЪрд┐рддреНрд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рд╣рдордиреЗ рд╕реАрдЦрд╛ рдХрд┐ рд╢рддреНрд░реБрддрд╛ рдореЗрдВ рдХрд┐рди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореЗрд░рд╛ рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреЛрдб GitHub рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реБрдЖ рд╣реИ ред рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред



1. рдпрджрд┐ рдЖрдк рдпрд╣ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХреЛ JS рдХрдВрд╕реЛрд▓ рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рдХреЛрдб рджреЗрдЦреЗрдВред рдпрджрд┐ рдЖрдк рдЙрд╕рдХреЗ рдЖрдВрддрд░рд┐рдХ рдХрд╛рдордХрд╛рдЬ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рд╕реНрд░реЛрдд рдХреЛрдб рд╣реИ ред я╕О [рд╡рд╛рдкрд╕реА]

2. рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛрддрд╛? рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдмрджрд▓рдиреЗ evalрдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ console.logред
[рд▓реМрдЯрдиреЗ рдХреЗ рд▓рд┐рдпреЗ]

3. рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рдХрд╣рддрд╛ рд╣реИ 201510, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдЕрдХреНрдЯреВрдмрд░ред рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдм рдмрджрд▓ рдЧрдИред рд╣рдо рд╕рдм рдЬрд╛рдирддреЗ рд╣реИрдВ:

  • 2015-10, рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдерд╛: 20151007203811.js
  • 2015-11 рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ: 20151113115955.js

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ, рджреВрд╕рд░реА рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк рд╕реЗ рдПрдХ рджрд┐рди рдкрд╣рд▓реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВ рд░реВрдврд╝рд┐рд╡рд╛рджреА рд░реВрдк рд╕реЗ рдбреЗрдЯрд┐рдВрдЧ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рддрд╛ рд╣реВрдВред я╕О [рд╡рд╛рдкрд╕реА]

4. рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕реБрдзрд╛рд░ рдХреЗ рджреМрд░рд╛рди v1 рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рдереЗред я╕О [рд╡рд╛рдкрд╕реА]

5. RedStit рдкрд░ McStroyer рдХреЛ рдзрдиреНрдпрд╡рд╛рдж, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рдУрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд┐рдпрд╛ред я╕О [рд╡рд╛рдкрд╕реА]

6. рдмрд╣рд╛рджреБрд░ рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрд╡рд░реЛрдзрдХ рдШрдЯрдХ рдЦреБрд▓рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред


рдмрд╣рд╛рджреБрд░ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреНрд░рд╛рдВрд╕реНрд╡рд╛ рдореИрд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж ред я╕О [рд╡рд╛рдкрд╕реА]

All Articles