某联webpack解析(js逆向)

网页爬虫之WebPack模块化解密(JS逆向) - 知乎

仅供学习交流,不得用于违法犯罪。

相当于就是说,基本的webpack格式就是一个自执行函数,函数体中,执行传递进来的参数,这个参数可以是数组也可以是字典。

现在我们直接开始进入主题,开始抓包找到数据返回的位置观察是否存在加密参数或者是一些动态cookies之类的。

我们可以发现并不存在这些内容。

只存在一个加密的参数sign,搜索发现数目太多了,直接开始xhr断点调试。找到位置

某联webpack解析(js逆向)_第1张图片

某联webpack解析(js逆向)_第2张图片

找到这个加密的位置,我们先来看一下这个m函数的作用是什么,开始调试,该函数毫无用处。直接写r就行。

某联webpack解析(js逆向)_第3张图片

某联webpack解析(js逆向)_第4张图片

找到s的加密函数

某联webpack解析(js逆向)_第5张图片 

执行完第一步我们会发现这个函数的主要作用是拼接e,所以我们可以不需要这步拼接的过程,直接传递即可

某联webpack解析(js逆向)_第6张图片

那么现在我们继续找这个加密参数中不应该出现的内容。找到这个i

某联webpack解析(js逆向)_第7张图片

某联webpack解析(js逆向)_第8张图片

直接断点调试,进入其中观察内容。

某联webpack解析(js逆向)_第9张图片

进入到这个函数里面,我们观察他的结构=,这个就是一个webpack,

某联webpack解析(js逆向)_第10张图片

所以你现在需要全部赋值下来,然后讲缺少的部分补全。

在外层赋值一个全局变量接收这个值。

某联webpack解析(js逆向)_第11张图片

开始补环境

某联webpack解析(js逆向)_第12张图片

修改成字典然后,开始向里面加内容

某联webpack解析(js逆向)_第13张图片

直接按照错误开始找这些函数补一下环境就可以了。只要缺什么补什么

var scream;
var window = globalThis
!function(e) {
    function r(r) {
        for (var n, u, c = r[0], f = r[1], i = r[2], d = 0, p = []; d < c.length; d++)
            u = c[d],
            Object.prototype.hasOwnProperty.call(o, u) && o[u] && p.push(o[u][0]),
            o[u] = 0;
        for (n in f)
            Object.prototype.hasOwnProperty.call(f, n) && (e[n] = f[n]);
        for (l && l(r); p.length; )
            p.shift()();
        return a.push.apply(a, i || []),
        t()
    }
    function t() {
        for (var e, r = 0; r < a.length; r++) {
            for (var t = a[r], n = !0, c = 1; c < t.length; c++) {
                var f = t[c];
                0 !== o[f] && (n = !1)
            }
            n && (a.splice(r--, 1),
            e = u(u.s = t[0]))
        }
        return e
    }
    var n = {}
      , o = {
        1: 0
    }
      , a = [];
    function u(r) {
        if (n[r])
            return n[r].exports;
        var t = n[r] = {
            i: r,
            l: !1,
            exports: {}
        }
          , o = !0;
        try {
            e[r].call(t.exports, t, t.exports, u),
            o = !1
        } finally {
            o && delete n[r]
        }
        return t.l = !0,
        t.exports
    }
    u.e = function(e) {
        var r = []
          , t = o[e];
        if (0 !== t)
            if (t)
                r.push(t[2]);
            else {
                var n = new Promise((function(r, n) {
                    t = o[e] = [r, n]
                }
                ));
                r.push(t[2] = n);
                var a, c = document.createElement("script");
                c.charset = "utf-8",
                c.timeout = 120,
                u.nc && c.setAttribute("nonce", u.nc),
                c.src = function(e) {
                    return u.p + "static/chunks/" + ({
                        23: "04d189cf4a5c03e45ad56c0ad3960fd59ac8e3c9",
                        26: "d6e1aeb5"
                    }[e] || e) + "." + {
                        23: "90e3296f730493c0820b",
                        26: "3aa25519bed7d003a003",
                        67: "d99f6d09316bf2d6d43c",
                        68: "432728b53c3ce71a7fe9",
                        69: "ff5fdc634016d6d26d50",
                        70: "a0660bc4fb5fbbaa81f6",
                        71: "6e98a8f0e8e0756eb5c2"
                    }[e] + ".js"
                }(e);
                var f = new Error;
                a = function(r) {
                    c.onerror = c.onload = null,
                    clearTimeout(i);
                    var t = o[e];
                    if (0 !== t) {
                        if (t) {
                            var n = r && ("load" === r.type ? "missing" : r.type)
                              , a = r && r.target && r.target.src;
                            f.message = "Loading chunk " + e + " failed.\n(" + n + ": " + a + ")",
                            f.name = "ChunkLoadError",
                            f.type = n,
                            f.request = a,
                            t[1](f)
                        }
                        o[e] = void 0
                    }
                }
                ;
                var i = setTimeout((function() {
                    a({
                        type: "timeout",
                        target: c
                    })
                }
                ), 12e4);
                c.onerror = c.onload = a,
                document.head.appendChild(c)
            }
        return Promise.all(r)
    }
    ,
    u.m = e,
    u.c = n,
    u.d = function(e, r, t) {
        u.o(e, r) || Object.defineProperty(e, r, {
            enumerable: !0,
            get: t
        })
    }
    ,
    u.r = function(e) {
        "undefined" !== typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
            value: "Module"
        }),
        Object.defineProperty(e, "__esModule", {
            value: !0
        })
    }
    ,
    u.t = function(e, r) {
        if (1 & r && (e = u(e)),
        8 & r)
            return e;
        if (4 & r && "object" === typeof e && e && e.__esModule)
            return e;
        var t = Object.create(null);
        if (u.r(t),
        Object.defineProperty(t, "default", {
            enumerable: !0,
            value: e
        }),
        2 & r && "string" != typeof e)
            for (var n in e)
                u.d(t, n, function(r) {
                    return e[r]
                }
                .bind(null, n));
        return t
    }
    ,
    u.n = function(e) {
        var r = e && e.__esModule ? function() {
            return e.default
        }
        : function() {
            return e
        }
        ;
        return u.d(r, "a", r),
        r
    }
    ,
    u.o = function(e, r) {
        return Object.prototype.hasOwnProperty.call(e, r)
    }
    ,
    u.p = "",
    u.oe = function(e) {
        throw console.error(e),
        e
    }
    ;
    var c = window.webpackJsonp = window.webpackJsonp || []
      , f = c.push.bind(c);
    c.push = r,
    c = c.slice();
    for (var i = 0; i < c.length; i++)
        r(c[i]);
    var l = f;
    t()
    scream = u;
}({
    KjvB: function (e, t, n) {
        var r = new (n("c4+4"))
            , o = "undefined" !== typeof window ? window : self
            , i = o.crypto || o.msCrypto || {}
            , u = i.subtle || i.webkitSubtle;
        function a(e) {
            return r.digest(e)
        }
        try {
            u.digest({
                name: "sha-1"
            }, new Uint8Array).catch((function () {
                u = !1
            }
            ))
        } catch (s) {
            u = !1
        }
        e.exports = function (e, t) {
            u ? ("string" === typeof e && (e = function (e) {
                for (var t = e.length, n = new Uint8Array(t), r = 0; r < t; r++)
                    n[r] = e.charCodeAt(r);
                return n
            }(e)),
                u.digest({
                    name: "sha-1"
                }, e).then((function (e) {
                    t(function (e) {
                        for (var t = e.length, n = [], r = 0; r < t; r++) {
                            var o = e[r];
                            n.push((o >>> 4).toString(16)),
                                n.push((15 & o).toString(16))
                        }
                        return n.join("")
                    }(new Uint8Array(e)))
                }
                ), (function (n) {
                    t(a(e))
                }
                ))) : setTimeout(t, 0, a(e))
        }
            ,
            e.exports.sync = a
    }
    , aCH8: function (e, t, n) {
        !function () {
            var t = n("ANhw")
                , r = n("mmNF").utf8
                , o = n("g0l/")
                , i = n("mmNF").bin
                , u = function (e, n) {
                    e.constructor == String ? e = n && "binary" === n.encoding ? i.stringToBytes(e) : r.stringToBytes(e) : o(e) ? e = Array.prototype.slice.call(e, 0) : Array.isArray(e) || (e = e.toString());
                    for (var a = t.bytesToWords(e), s = 8 * e.length, c = 1732584193, f = -271733879, p = -1732584194, l = 271733878, d = 0; d < a.length; d++)
                        a[d] = 16711935 & (a[d] << 8 | a[d] >>> 24) | 4278255360 & (a[d] << 24 | a[d] >>> 8);
                    a[s >>> 5] |= 128 << s % 32,
                        a[14 + (s + 64 >>> 9 << 4)] = s;
                    var h = u._ff
                        , y = u._gg
                        , v = u._hh
                        , m = u._ii;
                    for (d = 0; d < a.length; d += 16) {
                        var g = c
                            , b = f
                            , w = p
                            , x = l;
                        c = h(c, f, p, l, a[d + 0], 7, -680876936),
                            l = h(l, c, f, p, a[d + 1], 12, -389564586),
                            p = h(p, l, c, f, a[d + 2], 17, 606105819),
                            f = h(f, p, l, c, a[d + 3], 22, -1044525330),
                            c = h(c, f, p, l, a[d + 4], 7, -176418897),
                            l = h(l, c, f, p, a[d + 5], 12, 1200080426),
                            p = h(p, l, c, f, a[d + 6], 17, -1473231341),
                            f = h(f, p, l, c, a[d + 7], 22, -45705983),
                            c = h(c, f, p, l, a[d + 8], 7, 1770035416),
                            l = h(l, c, f, p, a[d + 9], 12, -1958414417),
                            p = h(p, l, c, f, a[d + 10], 17, -42063),
                            f = h(f, p, l, c, a[d + 11], 22, -1990404162),
                            c = h(c, f, p, l, a[d + 12], 7, 1804603682),
                            l = h(l, c, f, p, a[d + 13], 12, -40341101),
                            p = h(p, l, c, f, a[d + 14], 17, -1502002290),
                            c = y(c, f = h(f, p, l, c, a[d + 15], 22, 1236535329), p, l, a[d + 1], 5, -165796510),
                            l = y(l, c, f, p, a[d + 6], 9, -1069501632),
                            p = y(p, l, c, f, a[d + 11], 14, 643717713),
                            f = y(f, p, l, c, a[d + 0], 20, -373897302),
                            c = y(c, f, p, l, a[d + 5], 5, -701558691),
                            l = y(l, c, f, p, a[d + 10], 9, 38016083),
                            p = y(p, l, c, f, a[d + 15], 14, -660478335),
                            f = y(f, p, l, c, a[d + 4], 20, -405537848),
                            c = y(c, f, p, l, a[d + 9], 5, 568446438),
                            l = y(l, c, f, p, a[d + 14], 9, -1019803690),
                            p = y(p, l, c, f, a[d + 3], 14, -187363961),
                            f = y(f, p, l, c, a[d + 8], 20, 1163531501),
                            c = y(c, f, p, l, a[d + 13], 5, -1444681467),
                            l = y(l, c, f, p, a[d + 2], 9, -51403784),
                            p = y(p, l, c, f, a[d + 7], 14, 1735328473),
                            c = v(c, f = y(f, p, l, c, a[d + 12], 20, -1926607734), p, l, a[d + 5], 4, -378558),
                            l = v(l, c, f, p, a[d + 8], 11, -2022574463),
                            p = v(p, l, c, f, a[d + 11], 16, 1839030562),
                            f = v(f, p, l, c, a[d + 14], 23, -35309556),
                            c = v(c, f, p, l, a[d + 1], 4, -1530992060),
                            l = v(l, c, f, p, a[d + 4], 11, 1272893353),
                            p = v(p, l, c, f, a[d + 7], 16, -155497632),
                            f = v(f, p, l, c, a[d + 10], 23, -1094730640),
                            c = v(c, f, p, l, a[d + 13], 4, 681279174),
                            l = v(l, c, f, p, a[d + 0], 11, -358537222),
                            p = v(p, l, c, f, a[d + 3], 16, -722521979),
                            f = v(f, p, l, c, a[d + 6], 23, 76029189),
                            c = v(c, f, p, l, a[d + 9], 4, -640364487),
                            l = v(l, c, f, p, a[d + 12], 11, -421815835),
                            p = v(p, l, c, f, a[d + 15], 16, 530742520),
                            c = m(c, f = v(f, p, l, c, a[d + 2], 23, -995338651), p, l, a[d + 0], 6, -198630844),
                            l = m(l, c, f, p, a[d + 7], 10, 1126891415),
                            p = m(p, l, c, f, a[d + 14], 15, -1416354905),
                            f = m(f, p, l, c, a[d + 5], 21, -57434055),
                            c = m(c, f, p, l, a[d + 12], 6, 1700485571),
                            l = m(l, c, f, p, a[d + 3], 10, -1894986606),
                            p = m(p, l, c, f, a[d + 10], 15, -1051523),
                            f = m(f, p, l, c, a[d + 1], 21, -2054922799),
                            c = m(c, f, p, l, a[d + 8], 6, 1873313359),
                            l = m(l, c, f, p, a[d + 15], 10, -30611744),
                            p = m(p, l, c, f, a[d + 6], 15, -1560198380),
                            f = m(f, p, l, c, a[d + 13], 21, 1309151649),
                            c = m(c, f, p, l, a[d + 4], 6, -145523070),
                            l = m(l, c, f, p, a[d + 11], 10, -1120210379),
                            p = m(p, l, c, f, a[d + 2], 15, 718787259),
                            f = m(f, p, l, c, a[d + 9], 21, -343485551),
                            c = c + g >>> 0,
                            f = f + b >>> 0,
                            p = p + w >>> 0,
                            l = l + x >>> 0
                    }
                    return t.endian([c, f, p, l])
                };
            u._ff = function (e, t, n, r, o, i, u) {
                var a = e + (t & n | ~t & r) + (o >>> 0) + u;
                return (a << i | a >>> 32 - i) + t
            }
                ,
                u._gg = function (e, t, n, r, o, i, u) {
                    var a = e + (t & r | n & ~r) + (o >>> 0) + u;
                    return (a << i | a >>> 32 - i) + t
                }
                ,
                u._hh = function (e, t, n, r, o, i, u) {
                    var a = e + (t ^ n ^ r) + (o >>> 0) + u;
                    return (a << i | a >>> 32 - i) + t
                }
                ,
                u._ii = function (e, t, n, r, o, i, u) {
                    var a = e + (n ^ (t | ~r)) + (o >>> 0) + u;
                    return (a << i | a >>> 32 - i) + t
                }
                ,
                u._blocksize = 16,
                u._digestsize = 16,
                e.exports = function (e, n) {
                    if (void 0 === e || null === e)
                        throw new Error("Illegal argument " + e);
                    var r = t.wordsToBytes(u(e, n));
                    return n && n.asBytes ? r : n && n.asString ? i.bytesToString(r) : t.bytesToHex(r)
                }
        }()
    },
    "c4+4": function (e, t, n) {
        var r;
        "undefined" !== typeof self && self,
            r = function () {
                return function (e) {
                    var t = {};
                    function n(r) {
                        if (t[r])
                            return t[r].exports;
                        var o = t[r] = {
                            i: r,
                            l: !1,
                            exports: {}
                        };
                        return e[r].call(o.exports, o, o.exports, n),
                            o.l = !0,
                            o.exports
                    }
                    return n.m = e,
                        n.c = t,
                        n.d = function (e, t, r) {
                            n.o(e, t) || Object.defineProperty(e, t, {
                                configurable: !1,
                                enumerable: !0,
                                get: r
                            })
                        }
                        ,
                        n.n = function (e) {
                            var t = e && e.__esModule ? function () {
                                return e.default
                            }
                                : function () {
                                    return e
                                }
                                ;
                            return n.d(t, "a", t),
                                t
                        }
                        ,
                        n.o = function (e, t) {
                            return Object.prototype.hasOwnProperty.call(e, t)
                        }
                        ,
                        n.p = "",
                        n(n.s = 3)
                }([function (e, t, n) {
                    var r = n(5)
                        , o = n(1)
                        , i = o.toHex
                        , u = o.ceilHeapSize
                        , a = n(6)
                        , s = function (e) {
                            for (e += 9; e % 64 > 0; e += 1)
                                ;
                            return e
                        }
                        , c = function (e, t) {
                            var n = new Int32Array(e, t + 320, 5)
                                , r = new Int32Array(5)
                                , o = new DataView(r.buffer);
                            return o.setInt32(0, n[0], !1),
                                o.setInt32(4, n[1], !1),
                                o.setInt32(8, n[2], !1),
                                o.setInt32(12, n[3], !1),
                                o.setInt32(16, n[4], !1),
                                r
                        }
                        , f = function () {
                            function e(t) {
                                if (function (e, t) {
                                    if (!(e instanceof t))
                                        throw new TypeError("Cannot call a class as a function")
                                }(this, e),
                                    (t = t || 65536) % 64 > 0)
                                    throw new Error("Chunk size must be a multiple of 128 bit");
                                this._offset = 0,
                                    this._maxChunkLen = t,
                                    this._padMaxChunkLen = s(t),
                                    this._heap = new ArrayBuffer(u(this._padMaxChunkLen + 320 + 20)),
                                    this._h32 = new Int32Array(this._heap),
                                    this._h8 = new Int8Array(this._heap),
                                    this._core = new r({
                                        Int32Array: Int32Array
                                    }, {}, this._heap)
                            }
                            return e.prototype._initState = function (e, t) {
                                this._offset = 0;
                                var n = new Int32Array(e, t + 320, 5);
                                n[0] = 1732584193,
                                    n[1] = -271733879,
                                    n[2] = -1732584194,
                                    n[3] = 271733878,
                                    n[4] = -1009589776
                            }
                                ,
                                e.prototype._padChunk = function (e, t) {
                                    var n = s(e)
                                        , r = new Int32Array(this._heap, 0, n >> 2);
                                    return function (e, t) {
                                        var n = new Uint8Array(e.buffer)
                                            , r = t % 4
                                            , o = t - r;
                                        switch (r) {
                                            case 0:
                                                n[o + 3] = 0;
                                            case 1:
                                                n[o + 2] = 0;
                                            case 2:
                                                n[o + 1] = 0;
                                            case 3:
                                                n[o + 0] = 0
                                        }
                                        for (var i = 1 + (t >> 2); i < e.length; i++)
                                            e[i] = 0
                                    }(r, e),
                                        function (e, t, n) {
                                            e[t >> 2] |= 128 << 24 - (t % 4 << 3),
                                                e[14 + (2 + (t >> 2) & -16)] = n / (1 << 29) | 0,
                                                e[15 + (2 + (t >> 2) & -16)] = n << 3
                                        }(r, e, t),
                                        n
                                }
                                ,
                                e.prototype._write = function (e, t, n, r) {
                                    a(e, this._h8, this._h32, t, n, r || 0)
                                }
                                ,
                                e.prototype._coreCall = function (e, t, n, r, o) {
                                    var i = n;
                                    this._write(e, t, n),
                                        o && (i = this._padChunk(n, r)),
                                        this._core.hash(i, this._padMaxChunkLen)
                                }
                                ,
                                e.prototype.rawDigest = function (e) {
                                    var t = e.byteLength || e.length || e.size || 0;
                                    this._initState(this._heap, this._padMaxChunkLen);
                                    var n = 0
                                        , r = this._maxChunkLen;
                                    for (n = 0; t > n + r; n += r)
                                        this._coreCall(e, n, r, t, !1);
                                    return this._coreCall(e, n, t - n, t, !0),
                                        c(this._heap, this._padMaxChunkLen)
                                }
                                ,
                                e.prototype.digest = function (e) {
                                    return i(this.rawDigest(e).buffer)
                                }
                                ,
                                e.prototype.digestFromString = function (e) {
                                    return this.digest(e)
                                }
                                ,
                                e.prototype.digestFromBuffer = function (e) {
                                    return this.digest(e)
                                }
                                ,
                                e.prototype.digestFromArrayBuffer = function (e) {
                                    return this.digest(e)
                                }
                                ,
                                e.prototype.resetState = function () {
                                    return this._initState(this._heap, this._padMaxChunkLen),
                                        this
                                }
                                ,
                                e.prototype.append = function (e) {
                                    var t = 0
                                        , n = e.byteLength || e.length || e.size || 0
                                        , r = this._offset % this._maxChunkLen
                                        , o = void 0;
                                    for (this._offset += n; t < n;)
                                        o = Math.min(n - t, this._maxChunkLen - r),
                                            this._write(e, t, o, r),
                                            t += o,
                                            (r += o) === this._maxChunkLen && (this._core.hash(this._maxChunkLen, this._padMaxChunkLen),
                                                r = 0);
                                    return this
                                }
                                ,
                                e.prototype.getState = function () {
                                    var e = void 0;
                                    if (this._offset % this._maxChunkLen)
                                        e = this._heap.slice(0);
                                    else {
                                        var t = new Int32Array(this._heap, this._padMaxChunkLen + 320, 5);
                                        e = t.buffer.slice(t.byteOffset, t.byteOffset + t.byteLength)
                                    }
                                    return {
                                        offset: this._offset,
                                        heap: e
                                    }
                                }
                                ,
                                e.prototype.setState = function (e) {
                                    return this._offset = e.offset,
                                        20 === e.heap.byteLength ? new Int32Array(this._heap, this._padMaxChunkLen + 320, 5).set(new Int32Array(e.heap)) : this._h32.set(new Int32Array(e.heap)),
                                        this
                                }
                                ,
                                e.prototype.rawEnd = function () {
                                    var e = this._offset
                                        , t = e % this._maxChunkLen
                                        , n = this._padChunk(t, e);
                                    this._core.hash(n, this._padMaxChunkLen);
                                    var r = c(this._heap, this._padMaxChunkLen);
                                    return this._initState(this._heap, this._padMaxChunkLen),
                                        r
                                }
                                ,
                                e.prototype.end = function () {
                                    return i(this.rawEnd().buffer)
                                }
                                ,
                                e
                        }();
                    e.exports = f,
                        e.exports._core = r
                }
                    , function (e, t) {
                        for (var n = new Array(256), r = 0; r < 256; r++)
                            n[r] = (r < 16 ? "0" : "") + r.toString(16);
                        e.exports.toHex = function (e) {
                            for (var t = new Uint8Array(e), r = new Array(e.byteLength), o = 0; o < r.length; o++)
                                r[o] = n[t[o]];
                            return r.join("")
                        }
                            ,
                            e.exports.ceilHeapSize = function (e) {
                                var t = 0;
                                if (e <= 65536)
                                    return 65536;
                                if (e < 16777216)
                                    for (t = 1; t < e; t <<= 1)
                                        ;
                                else
                                    for (t = 16777216; t < e; t += 16777216)
                                        ;
                                return t
                            }
                            ,
                            e.exports.isDedicatedWorkerScope = function (e) {
                                var t = "WorkerGlobalScope" in e && e instanceof e.WorkerGlobalScope
                                    , n = "SharedWorkerGlobalScope" in e && e instanceof e.SharedWorkerGlobalScope
                                    , r = "ServiceWorkerGlobalScope" in e && e instanceof e.ServiceWorkerGlobalScope;
                                return t && !n && !r
                            }
                    }
                    , function (e, t, n) {
                        e.exports = function () {
                            var e = n(0)
                                , t = function (e, n, r, o, i) {
                                    var u = new self.FileReader;
                                    u.onloadend = function () {
                                        if (u.error)
                                            return i(u.error);
                                        var a = u.result;
                                        n += u.result.byteLength;
                                        try {
                                            e.append(a)
                                        } catch (s) {
                                            return void i(s)
                                        }
                                        n < o.size ? t(e, n, r, o, i) : i(null, e.end())
                                    }
                                        ,
                                        u.readAsArrayBuffer(o.slice(n, n + r))
                                }
                                , r = !0;
                            return self.onmessage = function (n) {
                                if (r) {
                                    var o = n.data.data
                                        , i = n.data.file
                                        , u = n.data.id;
                                    if ("undefined" !== typeof u && (i || o)) {
                                        var a = n.data.blockSize || 4194304
                                            , s = new e(a);
                                        s.resetState();
                                        var c = function (e, t) {
                                            e ? self.postMessage({
                                                id: u,
                                                error: e.name
                                            }) : self.postMessage({
                                                id: u,
                                                hash: t
                                            })
                                        };
                                        o && function (e, t, n) {
                                            try {
                                                n(null, e.digest(t))
                                            } catch (r) {
                                                return n(r)
                                            }
                                        }(s, o, c),
                                            i && t(s, 0, a, i, c)
                                    }
                                }
                            }
                                ,
                                function () {
                                    r = !1
                                }
                        }
                    }
                    , function (e, t, n) {
                        var r = n(4)
                            , o = n(0)
                            , i = n(7)
                            , u = n(2)
                            , a = n(1).isDedicatedWorkerScope
                            , s = "undefined" !== typeof self && a(self);
                        o.disableWorkerBehaviour = s ? u() : function () { }
                            ,
                            o.createWorker = function () {
                                var e = r(2)
                                    , t = e.terminate;
                                return e.terminate = function () {
                                    URL.revokeObjectURL(e.objectURL),
                                        t.call(e)
                                }
                                    ,
                                    e
                            }
                            ,
                            o.createHash = i,
                            e.exports = o
                    }
                    , function (e, t, n) {
                        function r(e) {
                            var t = {};
                            function n(r) {
                                if (t[r])
                                    return t[r].exports;
                                var o = t[r] = {
                                    i: r,
                                    l: !1,
                                    exports: {}
                                };
                                return e[r].call(o.exports, o, o.exports, n),
                                    o.l = !0,
                                    o.exports
                            }
                            n.m = e,
                                n.c = t,
                                n.i = function (e) {
                                    return e
                                }
                                ,
                                n.d = function (e, t, r) {
                                    n.o(e, t) || Object.defineProperty(e, t, {
                                        configurable: !1,
                                        enumerable: !0,
                                        get: r
                                    })
                                }
                                ,
                                n.r = function (e) {
                                    Object.defineProperty(e, "__esModule", {
                                        value: !0
                                    })
                                }
                                ,
                                n.n = function (e) {
                                    var t = e && e.__esModule ? function () {
                                        return e.default
                                    }
                                        : function () {
                                            return e
                                        }
                                        ;
                                    return n.d(t, "a", t),
                                        t
                                }
                                ,
                                n.o = function (e, t) {
                                    return Object.prototype.hasOwnProperty.call(e, t)
                                }
                                ,
                                n.p = "/",
                                n.oe = function (e) {
                                    throw console.error(e),
                                    e
                                }
                                ;
                            var r = n(n.s = ENTRY_MODULE);
                            return r.default || r
                        }
                        var o = "[\\.|\\-|\\+|\\w|/|@]+"
                            , i = "\\((/\\*.*?\\*/)?s?.*?(" + o + ").*?\\)";
                        function u(e) {
                            return (e + "").replace(/[.?*+^$[\]\\(){}|-]/g, "\\$&")
                        }
                        function a(e, t, r) {
                            var a = {};
                            a[r] = [];
                            var s = t.toString()
                                , c = s.match(/^function\s?\(\w+,\s*\w+,\s*(\w+)\)/);
                            if (!c)
                                return a;
                            for (var f, p = c[1], l = new RegExp("(\\\\n|\\W)" + u(p) + i, "g"); f = l.exec(s);)
                                "dll-reference" !== f[3] && a[r].push(f[3]);
                            for (l = new RegExp("\\(" + u(p) + '\\("(dll-reference\\s(' + o + '))"\\)\\)' + i, "g"); f = l.exec(s);)
                                e[f[2]] || (a[r].push(f[1]),
                                    e[f[2]] = n(f[1]).m),
                                    a[f[2]] = a[f[2]] || [],
                                    a[f[2]].push(f[4]);
                            return a
                        }
                        function s(e) {
                            return Object.keys(e).reduce((function (t, n) {
                                return t || e[n].length > 0
                            }
                            ), !1)
                        }
                        e.exports = function (e, t) {
                            t = t || {};
                            var o = {
                                main: n.m
                            }
                                , i = t.all ? {
                                    main: Object.keys(o)
                                } : function (e, t) {
                                    for (var n = {
                                        main: [t]
                                    }, r = {
                                        main: []
                                    }, o = {
                                        main: {}
                                    }; s(n);)
                                        for (var i = Object.keys(n), u = 0; u < i.length; u++) {
                                            var c = i[u]
                                                , f = n[c].pop();
                                            if (o[c] = o[c] || {},
                                                !o[c][f] && e[c][f]) {
                                                o[c][f] = !0,
                                                    r[c] = r[c] || [],
                                                    r[c].push(f);
                                                for (var p = a(e, e[c][f], c), l = Object.keys(p), d = 0; d < l.length; d++)
                                                    n[l[d]] = n[l[d]] || [],
                                                        n[l[d]] = n[l[d]].concat(p[l[d]])
                                            }
                                        }
                                    return r
                                }(o, e)
                                , u = "";
                            Object.keys(i).filter((function (e) {
                                return "main" !== e
                            }
                            )).forEach((function (e) {
                                for (var t = 0; i[e][t];)
                                    t++;
                                i[e].push(t),
                                    o[e][t] = "(function(module, exports, __webpack_require__) { module.exports = __webpack_require__; })",
                                    u = u + "var " + e + " = (" + r.toString().replace("ENTRY_MODULE", JSON.stringify(t)) + ")({" + i[e].map((function (t) {
                                        return JSON.stringify(t) + ": " + o[e][t].toString()
                                    }
                                    )).join(",") + "});\n"
                            }
                            )),
                                u = u + "(" + r.toString().replace("ENTRY_MODULE", JSON.stringify(e)) + ")({" + i.main.map((function (e) {
                                    return JSON.stringify(e) + ": " + o.main[e].toString()
                                }
                                )).join(",") + "})(self);";
                            var c = new window.Blob([u], {
                                type: "text/javascript"
                            });
                            if (t.bare)
                                return c;
                            var f = (window.URL || window.webkitURL || window.mozURL || window.msURL).createObjectURL(c)
                                , p = new window.Worker(f);
                            return p.objectURL = f,
                                p
                        }
                    }
                    , function (e, t) {
                        e.exports = function (e, t, n) {
                            "use asm";
                            var r = new e.Int32Array(n);
                            function o(e, t) {
                                e = e | 0;
                                t = t | 0;
                                var n = 0
                                    , o = 0
                                    , i = 0
                                    , u = 0
                                    , a = 0
                                    , s = 0
                                    , c = 0
                                    , f = 0
                                    , p = 0
                                    , l = 0
                                    , d = 0
                                    , h = 0
                                    , y = 0
                                    , v = 0;
                                i = r[t + 320 >> 2] | 0;
                                a = r[t + 324 >> 2] | 0;
                                c = r[t + 328 >> 2] | 0;
                                p = r[t + 332 >> 2] | 0;
                                d = r[t + 336 >> 2] | 0;
                                for (n = 0; (n | 0) < (e | 0); n = n + 64 | 0) {
                                    u = i;
                                    s = a;
                                    f = c;
                                    l = p;
                                    h = d;
                                    for (o = 0; (o | 0) < 64; o = o + 4 | 0) {
                                        v = r[n + o >> 2] | 0;
                                        y = ((i << 5 | i >>> 27) + (a & c | ~a & p) | 0) + ((v + d | 0) + 1518500249 | 0) | 0;
                                        d = p;
                                        p = c;
                                        c = a << 30 | a >>> 2;
                                        a = i;
                                        i = y;
                                        r[e + o >> 2] = v
                                    }
                                    for (o = e + 64 | 0; (o | 0) < (e + 80 | 0); o = o + 4 | 0) {
                                        v = (r[o - 12 >> 2] ^ r[o - 32 >> 2] ^ r[o - 56 >> 2] ^ r[o - 64 >> 2]) << 1 | (r[o - 12 >> 2] ^ r[o - 32 >> 2] ^ r[o - 56 >> 2] ^ r[o - 64 >> 2]) >>> 31;
                                        y = ((i << 5 | i >>> 27) + (a & c | ~a & p) | 0) + ((v + d | 0) + 1518500249 | 0) | 0;
                                        d = p;
                                        p = c;
                                        c = a << 30 | a >>> 2;
                                        a = i;
                                        i = y;
                                        r[o >> 2] = v
                                    }
                                    for (o = e + 80 | 0; (o | 0) < (e + 160 | 0); o = o + 4 | 0) {
                                        v = (r[o - 12 >> 2] ^ r[o - 32 >> 2] ^ r[o - 56 >> 2] ^ r[o - 64 >> 2]) << 1 | (r[o - 12 >> 2] ^ r[o - 32 >> 2] ^ r[o - 56 >> 2] ^ r[o - 64 >> 2]) >>> 31;
                                        y = ((i << 5 | i >>> 27) + (a ^ c ^ p) | 0) + ((v + d | 0) + 1859775393 | 0) | 0;
                                        d = p;
                                        p = c;
                                        c = a << 30 | a >>> 2;
                                        a = i;
                                        i = y;
                                        r[o >> 2] = v
                                    }
                                    for (o = e + 160 | 0; (o | 0) < (e + 240 | 0); o = o + 4 | 0) {
                                        v = (r[o - 12 >> 2] ^ r[o - 32 >> 2] ^ r[o - 56 >> 2] ^ r[o - 64 >> 2]) << 1 | (r[o - 12 >> 2] ^ r[o - 32 >> 2] ^ r[o - 56 >> 2] ^ r[o - 64 >> 2]) >>> 31;
                                        y = ((i << 5 | i >>> 27) + (a & c | a & p | c & p) | 0) + ((v + d | 0) - 1894007588 | 0) | 0;
                                        d = p;
                                        p = c;
                                        c = a << 30 | a >>> 2;
                                        a = i;
                                        i = y;
                                        r[o >> 2] = v
                                    }
                                    for (o = e + 240 | 0; (o | 0) < (e + 320 | 0); o = o + 4 | 0) {
                                        v = (r[o - 12 >> 2] ^ r[o - 32 >> 2] ^ r[o - 56 >> 2] ^ r[o - 64 >> 2]) << 1 | (r[o - 12 >> 2] ^ r[o - 32 >> 2] ^ r[o - 56 >> 2] ^ r[o - 64 >> 2]) >>> 31;
                                        y = ((i << 5 | i >>> 27) + (a ^ c ^ p) | 0) + ((v + d | 0) - 899497514 | 0) | 0;
                                        d = p;
                                        p = c;
                                        c = a << 30 | a >>> 2;
                                        a = i;
                                        i = y;
                                        r[o >> 2] = v
                                    }
                                    i = i + u | 0;
                                    a = a + s | 0;
                                    c = c + f | 0;
                                    p = p + l | 0;
                                    d = d + h | 0
                                }
                                r[t + 320 >> 2] = i;
                                r[t + 324 >> 2] = a;
                                r[t + 328 >> 2] = c;
                                r[t + 332 >> 2] = p;
                                r[t + 336 >> 2] = d
                            }
                            return {
                                hash: o
                            }
                        }
                    }
                    , function (e, t) {
                        var n = this
                            , r = void 0;
                        "undefined" !== typeof self && "undefined" !== typeof self.FileReaderSync && (r = new self.FileReaderSync);
                        var o = function (e, t, n, r, o, i) {
                            var u = void 0
                                , a = i % 4
                                , s = (o + a) % 4
                                , c = o - s;
                            switch (a) {
                                case 0:
                                    t[i] = e[r + 3];
                                case 1:
                                    t[i + 1 - (a << 1) | 0] = e[r + 2];
                                case 2:
                                    t[i + 2 - (a << 1) | 0] = e[r + 1];
                                case 3:
                                    t[i + 3 - (a << 1) | 0] = e[r]
                            }
                            if (!(o < s + (4 - a))) {
                                for (u = 4 - a; u < c; u = u + 4 | 0)
                                    n[i + u >> 2 | 0] = e[r + u] << 24 | e[r + u + 1] << 16 | e[r + u + 2] << 8 | e[r + u + 3];
                                switch (s) {
                                    case 3:
                                        t[i + c + 1 | 0] = e[r + c + 2];
                                    case 2:
                                        t[i + c + 2 | 0] = e[r + c + 1];
                                    case 1:
                                        t[i + c + 3 | 0] = e[r + c]
                                }
                            }
                        };
                        e.exports = function (e, t, i, u, a, s) {
                            if ("string" === typeof e)
                                return function (e, t, n, r, o, i) {
                                    var u = void 0
                                        , a = i % 4
                                        , s = (o + a) % 4
                                        , c = o - s;
                                    switch (a) {
                                        case 0:
                                            t[i] = e.charCodeAt(r + 3);
                                        case 1:
                                            t[i + 1 - (a << 1) | 0] = e.charCodeAt(r + 2);
                                        case 2:
                                            t[i + 2 - (a << 1) | 0] = e.charCodeAt(r + 1);
                                        case 3:
                                            t[i + 3 - (a << 1) | 0] = e.charCodeAt(r)
                                    }
                                    if (!(o < s + (4 - a))) {
                                        for (u = 4 - a; u < c; u = u + 4 | 0)
                                            n[i + u >> 2] = e.charCodeAt(r + u) << 24 | e.charCodeAt(r + u + 1) << 16 | e.charCodeAt(r + u + 2) << 8 | e.charCodeAt(r + u + 3);
                                        switch (s) {
                                            case 3:
                                                t[i + c + 1 | 0] = e.charCodeAt(r + c + 2);
                                            case 2:
                                                t[i + c + 2 | 0] = e.charCodeAt(r + c + 1);
                                            case 1:
                                                t[i + c + 3 | 0] = e.charCodeAt(r + c)
                                        }
                                    }
                                }(e, t, i, u, a, s);
                            if (e instanceof Array)
                                return o(e, t, i, u, a, s);
                            if (n && n.Buffer && n.Buffer.isBuffer(e))
                                return o(e, t, i, u, a, s);
                            if (e instanceof ArrayBuffer)
                                return o(new Uint8Array(e), t, i, u, a, s);
                            if (e.buffer instanceof ArrayBuffer)
                                return o(new Uint8Array(e.buffer, e.byteOffset, e.byteLength), t, i, u, a, s);
                            if (e instanceof Blob)
                                return function (e, t, n, o, i, u) {
                                    var a = void 0
                                        , s = u % 4
                                        , c = (i + s) % 4
                                        , f = i - c
                                        , p = new Uint8Array(r.readAsArrayBuffer(e.slice(o, o + i)));
                                    switch (s) {
                                        case 0:
                                            t[u] = p[3];
                                        case 1:
                                            t[u + 1 - (s << 1) | 0] = p[2];
                                        case 2:
                                            t[u + 2 - (s << 1) | 0] = p[1];
                                        case 3:
                                            t[u + 3 - (s << 1) | 0] = p[0]
                                    }
                                    if (!(i < c + (4 - s))) {
                                        for (a = 4 - s; a < f; a = a + 4 | 0)
                                            n[u + a >> 2 | 0] = p[a] << 24 | p[a + 1] << 16 | p[a + 2] << 8 | p[a + 3];
                                        switch (c) {
                                            case 3:
                                                t[u + f + 1 | 0] = p[f + 2];
                                            case 2:
                                                t[u + f + 2 | 0] = p[f + 1];
                                            case 1:
                                                t[u + f + 3 | 0] = p[f]
                                        }
                                    }
                                }(e, t, i, u, a, s);
                            throw new Error("Unsupported data type.")
                        }
                    }
                    , function (e, t, n) {
                        var r = function () {
                            function e(e, t) {
                                for (var n = 0; n < t.length; n++) {
                                    var r = t[n];
                                    r.enumerable = r.enumerable || !1,
                                        r.configurable = !0,
                                        "value" in r && (r.writable = !0),
                                        Object.defineProperty(e, r.key, r)
                                }
                            }
                            return function (t, n, r) {
                                return n && e(t.prototype, n),
                                    r && e(t, r),
                                    t
                            }
                        }()
                            , o = n(0)
                            , i = n(1).toHex
                            , u = function () {
                                function e() {
                                    !function (e, t) {
                                        if (!(e instanceof t))
                                            throw new TypeError("Cannot call a class as a function")
                                    }(this, e),
                                        this._rusha = new o,
                                        this._rusha.resetState()
                                }
                                return e.prototype.update = function (e) {
                                    return this._rusha.append(e),
                                        this
                                }
                                    ,
                                    e.prototype.digest = function (e) {
                                        var t = this._rusha.rawEnd().buffer;
                                        if (!e)
                                            return t;
                                        if ("hex" === e)
                                            return i(t);
                                        throw new Error("unsupported digest encoding")
                                    }
                                    ,
                                    r(e, [{
                                        key: "state",
                                        get: function () {
                                            return this._rusha.getState()
                                        },
                                        set: function (e) {
                                            this._rusha.setState(e)
                                        }
                                    }]),
                                    e
                            }();
                        e.exports = function () {
                            return new u
                        }
                    }
                ])
            }
            ,
            e.exports = r()
    }
    , ANhw: function (e, t) {
        !function () {
            var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
                , n = {
                    rotl: function (e, t) {
                        return e << t | e >>> 32 - t
                    },
                    rotr: function (e, t) {
                        return e << 32 - t | e >>> t
                    },
                    endian: function (e) {
                        if (e.constructor == Number)
                            return 16711935 & n.rotl(e, 8) | 4278255360 & n.rotl(e, 24);
                        for (var t = 0; t < e.length; t++)
                            e[t] = n.endian(e[t]);
                        return e
                    },
                    randomBytes: function (e) {
                        for (var t = []; e > 0; e--)
                            t.push(Math.floor(256 * Math.random()));
                        return t
                    },
                    bytesToWords: function (e) {
                        for (var t = [], n = 0, r = 0; n < e.length; n++,
                            r += 8)
                            t[r >>> 5] |= e[n] << 24 - r % 32;
                        return t
                    },
                    wordsToBytes: function (e) {
                        for (var t = [], n = 0; n < 32 * e.length; n += 8)
                            t.push(e[n >>> 5] >>> 24 - n % 32 & 255);
                        return t
                    },
                    bytesToHex: function (e) {
                        for (var t = [], n = 0; n < e.length; n++)
                            t.push((e[n] >>> 4).toString(16)),
                                t.push((15 & e[n]).toString(16));
                        return t.join("")
                    },
                    hexToBytes: function (e) {
                        for (var t = [], n = 0; n < e.length; n += 2)
                            t.push(parseInt(e.substr(n, 2), 16));
                        return t
                    },
                    bytesToBase64: function (e) {
                        for (var n = [], r = 0; r < e.length; r += 3)
                            for (var o = e[r] << 16 | e[r + 1] << 8 | e[r + 2], i = 0; i < 4; i++)
                                8 * r + 6 * i <= 8 * e.length ? n.push(t.charAt(o >>> 6 * (3 - i) & 63)) : n.push("=");
                        return n.join("")
                    },
                    base64ToBytes: function (e) {
                        e = e.replace(/[^A-Z0-9+\/]/gi, "");
                        for (var n = [], r = 0, o = 0; r < e.length; o = ++r % 4)
                            0 != o && n.push((t.indexOf(e.charAt(r - 1)) & Math.pow(2, -2 * o + 8) - 1) << 2 * o | t.indexOf(e.charAt(r)) >>> 6 - 2 * o);
                        return n
                    }
                };
            e.exports = n
        }()
    }, mmNF: function (e, t) {
        var n = {
            utf8: {
                stringToBytes: function (e) {
                    return n.bin.stringToBytes(unescape(encodeURIComponent(e)))
                },
                bytesToString: function (e) {
                    return decodeURIComponent(escape(n.bin.bytesToString(e)))
                }
            },
            bin: {
                stringToBytes: function (e) {
                    for (var t = [], n = 0; n < e.length; n++)
                        t.push(255 & e.charCodeAt(n));
                    return t
                },
                bytesToString: function (e) {
                    for (var t = [], n = 0; n < e.length; n++)
                        t.push(String.fromCharCode(e[n]));
                    return t.join("")
                }
            }
        };
        e.exports = n
    }, "g0l/": function (e, t) {
        function n(e) {
            return !!e.constructor && "function" === typeof e.constructor.isBuffer && e.constructor.isBuffer(e)
        }
        e.exports = function (e) {
            return null != e && (n(e) || function (e) {
                return "function" === typeof e.readFloatLE && "function" === typeof e.slice && n(e.slice(0, 0))
            }(e) || !!e._isBuffer)
        }
    }
});


var i = scream("KjvB")
var u = scream("aCH8")

t = "app=CailianpressWeb&os=web&sv=7.7.5"
t = i.sync(t)
t = u(t)
console.log(t)

你可能感兴趣的:(python爬虫,js逆向,爬虫,js逆向,webpack逆向)