【2021-03-17】JS逆向之某实时票房榜数据解密


前言

目标地址:aHR0cHM6Ly93d3cuZW5kYXRhLmNvbS5jbi9Cb3hPZmZpY2UvaW5kZXguaHRtbA==


一、页面分析

进入网页,这四个xhr随便点一个,看到数据是加密~(就喜欢搞这种数据加密的,多半涉及到DES、AES、Base64加密类型)

在这里插入图片描述


二、参数解析

直接走栈,可以看到明显的加密位置,下断点再发请求
在这里插入图片描述

进到webInstace.shell这个方法里,可以看出是明显的DES加密,然后JS做了OB混淆,这里解下混淆后大概1400行左右,然后补点环境就可以用了

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、源码分享

var _grsa_JS = _grsa_JS || function (_0x1ced32, _0x5ecf19) {
    
    
    var _0x58dcba = Object["create"] || function () {
    
    
            function _0x4a0f25() {
    
    
            }

            return function (_0x427b60) {
    
    
                _0x4a0f25["prototype"] = _0x427b60;
                _0x427b60 = new _0x4a0f25();
                _0x4a0f25["prototype"] = null;
                return _0x427b60;
            };
        }(),
        _0x5a867b = {
    
    },
        _0xd07f = _0x5a867b["lib"] = {
    
    },
        _0x778d4 = _0xd07f["Base"] = function () {
    
    
            if (false) {
    
    
                return "string" == typeof a ? c["parse"](a, this) : a;
            } else {
    
    
                return {
    
    
                    "extend": function (_0x5114ee) {
    
    
                        var _0x2cbd04 = _0x58dcba(this);

                        _0x5114ee && _0x2cbd04["mixIn"](_0x5114ee);
                        _0x2cbd04["hasOwnProperty"]("init") && this["init"] !== _0x2cbd04["init"] || (_0x2cbd04["init"] = function () {
    
    
                            _0x2cbd04["$super"]["init"]["apply"](this, arguments);
                        });
                        _0x2cbd04["init"]["prototype"] = _0x2cbd04;
                        _0x2cbd04["$super"] = this;
                        return _0x2cbd04;
                    },
                    "create": function () {
    
    
                        var _0x6b5022 = this["extend"]();

                        _0x6b5022["init"]["apply"](_0x6b5022, arguments);

                        return _0x6b5022;
                    },
                    "init": function () {
    
    
                    },
                    "mixIn": function (_0x349825) {
    
    
                        for (var _0x3e79bb in _0x349825) _0x349825["hasOwnProperty"](_0x3e79bb) && (this[_0x3e79bb] = _0x349825[_0x3e79bb]);

                        _0x349825["hasOwnProperty"]("toString") && (this["toString"] = _0x349825["toString"]);
                    },
                    "clone": function () {
    
    
                        if (false) {
    
    
                            if (null == _0x5ecf19 || 16 >= _0x5ecf19["length"]) return _0x5ecf19;

                            var _0x1722c1 = parseInt(_0x5ecf19[_0x5ecf19["length"] - 1], 16) + 9,
                                _0x574f34 = parseInt(_0x5ecf19[_0x1722c1], 16);

                            _0x5ecf19 = _0x1ced32(_0x5ecf19, _0x1722c1, 1);
                            _0x1722c1 = _0x5ecf19["substr"](_0x574f34, 8);
                            _0x5ecf19 = _0x2a3b98["axoMS"](_0x1ced32, _0x5ecf19, _0x574f34, 8);
                            _0x574f34 = _grsa_JS["enc"]["Utf8"]["parse"](_0x1722c1);
                            _0x1722c1 = _grsa_JS["enc"]["Utf8"]["parse"](_0x1722c1);
                            _0x1722c1 = _grsa_JS["DES"]["decrypt"]({
    
    
                                "ciphertext": _grsa_JS["enc"]["Hex"]["parse"](_0x5ecf19)
                            }, _0x574f34, {
    
    
                                "iv": _0x1722c1,
                                "mode": _grsa_JS["mode"]["ECB"],
                                "padding": _grsa_JS["pad"]["Pkcs7"]
                            })["toString"](_grsa_JS["enc"]["Utf8"]);
                            return _0x1722c1["substring"](0, _0x1722c1["lastIndexOf"]("}") + 1);
                        } else {
    
    
                            return this["init"]["prototype"]["extend"](this);
                        }
                    }
                };
            }
        }(),
        _0x42db83 = _0xd07f["WordArray"] = _0x778d4["extend"]({
    
    
            "init": function (_0x49ae33, _0x58dec8) {
    
    
                if (false) {
    
    
                    return this["create"](this["_ENC_XFORM_MODE"], e, _0x49ae33);
                } else {
    
    
                    _0x49ae33 = this["words"] = _0x49ae33 || [];
                    this["sigBytes"] = _0x58dec8 != _0x5ecf19 ? _0x58dec8 : 4 * _0x49ae33["length"];
                }
            },
            "toString": function (_0x51da73) {
    
    
                var _0x5c8cf3 = {
    
    
                    'IvKYR': function _0x338413(_0x5d5bf6, _0x86028e) {
    
    
                        return _0x5d5bf6 !== _0x86028e;
                    },
                    'BBCWk': 'BvJ',
                    'Iebjt': "DsJ",
                    'RPhzM': function _0x4e87f8(_0x378b91, _0x2bfd4b) {
    
    
                        return _0x378b91 || _0x2bfd4b;
                    },
                    'UyItr': function _0x7cd6c0(_0x3b8a27, _0x418527) {
    
    
                        return _0x3b8a27 + _0x418527;
                    }
                };
                if (true) {
    
    
                    return _0x5c8cf3["RPhzM"](_0x51da73, _0x22820b)["stringify"](this);
                } else {
    
    
                    var _0x42c2b0 = this["_cipher"],
                        _0x36595d = _0x42c2b0["blockSize"];

                    _0x51da73["call"](this, e, c, _0x36595d);

                    _0x42c2b0["encryptBlock"](e, c);

                    this["_prevBlock"] = e["slice"](c, c + _0x36595d);
                }
            },
            "concat": function (_0x32c969) {
    
    
                var _0x3658b0 = this["words"],
                    _0x357cdf = _0x32c969["words"],
                    _0x4fb742 = this["sigBytes"];
                _0x32c969 = _0x32c969["sigBytes"];
                this["clamp"]();
                if (_0x4fb742 % 4) for (var _0x3be658 = 0; _0x3be658 < _0x32c969; _0x3be658++) _0x3658b0[_0x4fb742 + _0x3be658 >>> 2] |= (_0x357cdf[_0x3be658 >>> 2] >>> 24 - _0x3be658 % 4 * 8 & 255) << 24 - (_0x4fb742 + _0x3be658) % 4 * 8; else for (_0x3be658 = 0; _0x3be658 < _0x32c969; _0x3be658 += 4) _0x3658b0[_0x4fb742 + _0x3be658 >>> 2] = _0x357cdf[_0x3be658 >>> 2];
                this["sigBytes"] += _0x32c969;
                return this;
            },
            "clamp": function () {
    
    
                var _0x4eb231 = this["words"],
                    _0x5670dd = this["sigBytes"];
                _0x4eb231[_0x5670dd >>> 2] &= 4294967295 << 32 - _0x5670dd % 4 * 8;
                _0x4eb231["length"] = _0x1ced32["ceil"](_0x5670dd / 4);
            },
            "clone": function () {
    
    
                if (true) {
    
    
                    var _0x60f041 = _0x778d4["clone"]["call"](this);

                    _0x60f041["words"] = this["words"]["slice"](0);
                    return _0x60f041;
                } else {
    
    
                }
            },
            "random": function (_0x4b0b9b) {
    
    
                for (var _0xb5c7b5 = [], _0x1a1ec4 = function (_0x2c1022) {
    
    
                    if (false) {
    
    
                    } else {
    
    
                        var _0x4b0b9b = 987654321;
                        return function () {
    
    
                            _0x4b0b9b = 36969 * (_0x4b0b9b & 65535) + (_0x4b0b9b >> 16) & 4294967295;
                            _0x2c1022 = 18000 * (_0x2c1022 & 65535) + (_0x2c1022 >> 16) & 4294967295;
                            return (((_0x4b0b9b << 16) + _0x2c1022 & 4294967295) / 4294967296 + 0.5) * (0.5 < _0x1ced32["random"]() ? 1 : -1);
                        };
                    }
                }, _0x3ff329 = 0, _0x57c70a; _0x3ff329 < _0x4b0b9b; _0x3ff329 += 4) {
    
    
                    var _0x52c097 = _0x1a1ec4(4294967296 * (_0x57c70a || _0x1ced32["random"]()));

                    _0x57c70a = 987654071 * _0x52c097();

                    _0xb5c7b5["push"](4294967296 * _0x52c097() | 0);
                }

                return new _0x42db83["init"](_0xb5c7b5, _0x4b0b9b);
            }
        }),
        _0x3a2aff = _0x5a867b["enc"] = {
    
    },
        _0x22820b = _0x3a2aff["Hex"] = {
    
    
            "stringify": function (_0x400b3e) {
    
    
                var _0x266909 = _0x400b3e["words"];
                _0x400b3e = _0x400b3e["sigBytes"];

                for (var _0x250c19 = [], _0x3c1671 = 0; _0x3c1671 < _0x400b3e; _0x3c1671++) {
    
    
                    if (true) {
    
    
                        var _0x232f76 = _0x266909[_0x3c1671 >>> 2] >>> 24 - _0x3c1671 % 4 * 8 & 255;

                        _0x250c19["push"]((_0x232f76 >>> 4)["toString"](16));

                        _0x250c19["push"]((_0x232f76 & 15)["toString"](16));
                    } else {
    
    
                        var _0x4c50e0 = _0x778d4["clone"]["call"](this);

                        _0x4c50e0["_data"] = this["_data"]["clone"]();
                        return _0x4c50e0;
                    }
                }

                return _0x250c19["join"]("");
            },
            "parse": function (_0x270e0c) {
    
    
                for (var _0x3bf1da = _0x270e0c["length"], _0x12b4d8 = [], _0x364df1 = 0; _0x364df1 < _0x3bf1da; _0x364df1 += 2) _0x12b4d8[_0x364df1 >>> 3] |= parseInt(_0x270e0c["substr"](_0x364df1, 2), 16) << 24 - _0x364df1 % 8 * 4;

                return new _0x42db83["init"](_0x12b4d8, _0x3bf1da / 2);
            }
        },
        _0x2f6559 = _0x3a2aff["Latin1"] = {
    
    
            "stringify": function (_0x20831c) {
    
    
                var _0x52cad4 = _0x20831c["words"];
                _0x20831c = _0x20831c["sigBytes"];

                for (var _0x311a7d = [], _0x413c1b = 0; _0x413c1b < _0x20831c; _0x413c1b++) _0x311a7d["push"](String["fromCharCode"](_0x52cad4[_0x413c1b >>> 2] >>> 24 - _0x413c1b % 4 * 8 & 255));

                return _0x311a7d["join"]("");
            },
            "parse": function (_0x44dd71) {
    
    
                for (var _0x19d224 = _0x44dd71["length"], _0x13af5d = [], _0x49f931 = 0; _0x49f931 < _0x19d224; _0x49f931++) _0x13af5d[_0x49f931 >>> 2] |= (_0x44dd71["charCodeAt"](_0x49f931) & 255) << 24 - _0x49f931 % 4 * 8;

                return new _0x42db83["init"](_0x13af5d, _0x19d224);
            }
        },
        _0x45d92b = _0x3a2aff["Utf8"] = {
    
    
            "stringify": function (_0x48de31) {
    
    
                if (true) {
    
    
                    try {
    
    
                        return decodeURIComponent(escape(_0x2f6559["stringify"](_0x48de31)));
                    } catch (_0x4f599b) {
    
    
                        throw Error("Malformed UTF-8 data");
                    }
                } else {
    
    
                    this["_des1"]["encryptBlock"](_0x5ecf19, _0x48de31);
                    this["_des2"]["decryptBlock"](_0x5ecf19, _0x48de31);
                    this["_des3"]["encryptBlock"](_0x5ecf19, _0x48de31);
                }
            },
            "parse": function (_0x5e8c18) {
    
    
                if (true) {
    
    
                    return _0x2f6559["parse"](unescape(encodeURIComponent(_0x5e8c18)));
                } else {
    
    
                    _0x11a472 = this["cfg"]["extend"](_0x11a472);
                    c = this["_parse"](c, _0x11a472["format"]);
                    _0x5ecf19 = _0x11a472["kdf"]["execute"](_0x5ecf19, b["keySize"], b["ivSize"], c["salt"]);
                    _0x5ecf19["iv"] = _0x5ecf19["iv"];
                    return _0x5e8c18["decrypt"]["call"](this, b, c, _0x5ecf19["key"], _0x11a472);
                }
            }
        },
        _0x593e29 = _0xd07f["BufferedBlockAlgorithm"] = _0x778d4["extend"]({
    
    
            "reset": function () {
    
    
                this["_data"] = new _0x42db83["init"]();
                this["_nDataBytes"] = 0;
            },
            "_append": function (_0x43a43e) {
    
    
                if (false) {
    
    
                    return this["Encryptor"]["create"](_0x43a43e, c);
                } else {
    
    
                    "string" == typeof _0x43a43e && (_0x43a43e = _0x45d92b["parse"](_0x43a43e));
                    this["_data"]["concat"](_0x43a43e);
                    this["_nDataBytes"] += _0x43a43e["sigBytes"];
                }
            },
            "_process": function (_0x537d5b) {
    
    
                var _0x3d8739 = this["_data"],
                    _0x5ae543 = _0x3d8739["words"],
                    _0x5291b9 = _0x3d8739["sigBytes"],
                    _0x50d51c = this["blockSize"],
                    _0x1dd20c = _0x5291b9 / (4 * _0x50d51c),
                    _0x1dd20c = _0x537d5b ? _0x1ced32["ceil"](_0x1dd20c) : _0x1ced32["max"]((_0x1dd20c | 0) - this["_minBufferSize"], 0);

                _0x537d5b = _0x1dd20c * _0x50d51c;
                _0x5291b9 = _0x1ced32["min"](4 * _0x537d5b, _0x5291b9);

                if (_0x537d5b) {
    
    
                    if (true) {
    
    
                        for (var _0x5ecf19 = 0; _0x5ecf19 < _0x537d5b; _0x5ecf19 += _0x50d51c) this["_doProcessBlock"](_0x5ae543, _0x5ecf19);

                        _0x5ecf19 = _0x5ae543["splice"](0, _0x537d5b);
                        _0x3d8739["sigBytes"] -= _0x5291b9;
                    } else {
    
    
                        this["_cipher"]["decryptBlock"](_0x5ecf19, _0x58dcba);
                    }
                }

                return new _0x42db83["init"](_0x5ecf19, _0x5291b9);
            },
            "clone": function () {
    
    
                var _0x35386b = _0x778d4["clone"]["call"](this);

                _0x35386b["_data"] = this["_data"]["clone"]();
                return _0x35386b;
            },
            "_minBufferSize": 0
        });

    _0xd07f["Hasher"] = _0x593e29["extend"]({
    
    
        "cfg": _0x778d4["extend"](),
        "init": function (_0x4e8ae6) {
    
    
            if (true) {
    
    
                this["cfg"] = this["cfg"]["extend"](_0x4e8ae6);
                this["reset"]();
            } else {
    
    
                var _0x3cb938 = (this["_lBlock"] >>> _0x5ecf19 ^ this["_rBlock"]) & _0x4e8ae6;

                this["_rBlock"] ^= _0x3cb938;
                this["_lBlock"] ^= _0x3cb938 << _0x5ecf19;
            }
        },
        "reset": function () {
    
    
            if (false) {
    
    
                for (var _0x54ca9b = 0; _0x54ca9b < a; _0x54ca9b += f) this["_doProcessBlock"](e, _0x54ca9b);

                _0x54ca9b = e["splice"](0, a);
                b["sigBytes"] -= c;
            } else {
    
    
                _0x593e29["reset"]["call"](this);

                this["_doReset"]();
            }
        },
        "update": function (_0x1692cf) {
    
    
            this["_append"](_0x1692cf);
            this["_process"]();
            return this;
        },
        "finalize": function (_0x432f16) {
    
    
            _0x432f16 && this["_append"](_0x432f16);
            return this["_doFinalize"]();
        },
        "blockSize": 16,
        "_createHelper": function (_0x22ca39) {
    
    
            if (true) {
    
    
                return function (_0x18d13e, _0xa2ddf4) {
    
    
                    if (false) {
    
    
                        _0x22ca39 && this["_append"](_0x22ca39);
                        return this["_doFinalize"]();
                    } else {
    
    
                        return new _0x22ca39["init"](_0xa2ddf4)["finalize"](_0x18d13e);
                    }
                };
            } else {
    
    
                this["cfg"] = this["cfg"]["extend"](_0x22ca39);
                this["reset"]();
            }
        },
        "_createHmacHelper": function (_0x288e39) {
    
    
            if (false) {
    
    
                return function (_0x36c7fa, _0x2ab5cc) {
    
    
                    return new _0x11a472["HMAC"]["init"](_0x288e39, _0x2ab5cc)["finalize"](_0x36c7fa);
                };
            } else {
    
    
                return function (_0x351340, _0x338ae9) {
    
    
                    if (true) {
    
    
                        return new _0x11a472["HMAC"]["init"](_0x288e39, _0x338ae9)["finalize"](_0x351340);
                    } else {
    
    
                        var _0x5c0b62 = 987654321;
                        return function () {
    
    
                            _0x5c0b62 = 36969 * (_0x5c0b62 & 65535) + (_0x5c0b62 >> 16) & 4294967295;
                            _0x338ae9 = 18000 * (_0x338ae9 & 65535) + (_0x338ae9 >> 16) & 4294967295;
                            return (((_0x5c0b62 << 16) + _0x338ae9 & 4294967295) / 4294967296 + 0.5) * (0.5 < _0x1ced32["random"]() ? 1 : -1);
                        };
                    }
                };
            }
        }
    });

    var _0x11a472 = _0x5a867b["algo"] = {
    
    };

    return _0x5a867b;
}(Math);

_grsa_JS["lib"]["Cipher"] || function (_0x3c7fe9) {
    
    
    var _0x56b7e7 = _grsa_JS,
        _0x4d4d0e = _0x56b7e7["lib"],
        _0x4d8c6c = _0x4d4d0e["Base"],
        _0xd7718a = _0x4d4d0e["WordArray"],
        _0x2bac3c = _0x4d4d0e["BufferedBlockAlgorithm"],
        _0x1e56ba = _0x56b7e7["enc"]["Base64"],
        _0x34a19e = _0x56b7e7["algo"]["EvpKDF"],
        _0x48ba0c = _0x4d4d0e["Cipher"] = _0x2bac3c["extend"]({
    
    
            "cfg": _0x4d8c6c["extend"](),
            "createEncryptor": function (_0x5bac91, _0x2cac6f) {
    
    
                return this["create"](this["_ENC_XFORM_MODE"], _0x5bac91, _0x2cac6f);
            },
            "createDecryptor": function (_0x426983, _0xe8bce8) {
    
    
                if (false) {
    
    
                    var _0x4e0ac1 = this["extend"]();

                    _0x4e0ac1["init"]["apply"](_0x4e0ac1, arguments);

                    return _0x4e0ac1;
                } else {
    
    
                    return this["create"](this["_DEC_XFORM_MODE"], _0x426983, _0xe8bce8);
                }
            },
            "init": function (_0x3e31a8, _0x46a213, _0x490ce2) {
    
    
                if (false) {
    
    
                    var _0x282067 = _0xd7718a["create"](c["slice"](2, 4));

                    c["splice"](0, 4);
                    _0x46a213["sigBytes"] -= 16;
                } else {
    
    
                    this["cfg"] = this["cfg"]["extend"](_0x490ce2);
                    this["_xformMode"] = _0x3e31a8;
                    this["_key"] = _0x46a213;
                    this["reset"]();
                }
            },
            "reset": function () {
    
    
                _0x2bac3c["reset"]["call"](this);

                this["_doReset"]();
            },
            "process": function (_0x5b8032) {
    
    
                this["_append"](_0x5b8032);
                return this["_process"]();
            },
            "finalize": function (_0x214e78) {
    
    
                _0x214e78 && this["_append"](_0x214e78);
                return this["_doFinalize"]();
            },
            "keySize": 4,
            "ivSize": 4,
            "_ENC_XFORM_MODE": 1,
            "_DEC_XFORM_MODE": 2,
            "_createHelper": function () {
    
    
                return function (_0x378f17) {
    
    
                    return {
    
    
                        "encrypt": function (_0x1b6c2d, _0x47e495, _0x3bce6a) {
    
    
                            return ("string" == typeof _0x47e495 ? _0x19fd30 : _0x3e58da)["encrypt"](_0x378f17, _0x1b6c2d, _0x47e495, _0x3bce6a);
                        },
                        "decrypt": function (_0x4a3e2d, _0x315f76, _0x339745) {
    
    
                            if (false) {
    
    
                                this["_data"] = new _0x1e56ba["init"]();
                                this["_nDataBytes"] = 0;
                            } else {
    
    
                                return ("string" == typeof _0x315f76 ? _0x19fd30 : _0x3e58da)["decrypt"](_0x378f17, _0x4a3e2d, _0x315f76, _0x339745);
                            }
                        }
                    };
                };
            }()
        });

    _0x4d4d0e["StreamCipher"] = _0x48ba0c["extend"]({
    
    
        "_doFinalize": function () {
    
    
            return this["_process"](true);
        },
        "blockSize": 1
    });

    var _0x5b4e76 = _0x56b7e7["mode"] = {
    
    },
        _0x20b1c5 = _0x4d4d0e["BlockCipherMode"] = _0x4d8c6c["extend"]({
    
    
            "createEncryptor": function (_0xcc01be, _0xdff2d) {
    
    
                return this["Encryptor"]["create"](_0xcc01be, _0xdff2d);
            },
            "createDecryptor": function (_0x278e8a, _0x3893f5) {
    
    
                return this["Decryptor"]["create"](_0x278e8a, _0x3893f5);
            },
            "init": function (_0x1bfc4a, _0x3fc707) {
    
    
                this["_cipher"] = _0x1bfc4a;
                this["_iv"] = _0x3fc707;
            }
        }),
        _0x5b4e76 = _0x5b4e76["CBC"] = function () {
    
    
            function _0x586618(_0x3bb67a, _0x3da5f9, _0x8776b2) {
    
    
                if (true) {
    
    
                    var _0x543713 = this["_iv"];
                    _0x543713 ? this["_iv"] = _0x3c7fe9 : _0x543713 = this["_prevBlock"];

                    for (var _0x490512 = 0; _0x490512 < _0x8776b2; _0x490512++) _0x3bb67a[_0x3da5f9 + _0x490512] ^= _0x543713[_0x490512];
                } else {
    
    
                    for (var _0x553feb = [], _0x17c7a4 = function (_0x1be58e) {
    
    
                        var _0x462c73 = 987654321;
                        return function () {
    
    
                            _0x462c73 = 36969 * (_0x462c73 & 65535) + (_0x462c73 >> 16) & 4294967295;
                            _0x1be58e = 18000 * (_0x1be58e & 65535) + (_0x1be58e >> 16) & 4294967295;
                            return (((_0x462c73 << 16) + _0x1be58e & 4294967295) / 4294967296 + 0.5) * (0.5 < _0x3c7fe9["random"]() ? 1 : -1);
                        };
                    }, _0x56edf5 = 0, _0x1ac7ff; _0x56edf5 < _0x3bb67a; _0x56edf5 += 4) {
    
    
                        var _0x5cb770 = _0x17c7a4(4294967296 * (_0x1ac7ff || _0x3c7fe9["random"]()));

                        _0x1ac7ff = 987654071 * _0x5cb770();

                        _0x553feb["push"](4294967296 * _0x5cb770() | 0);
                    }

                    return new _0x1e56ba["init"](_0x553feb, _0x3bb67a);
                }
            }

            var _0x28494e = _0x20b1c5["extend"]();

            _0x28494e["Encryptor"] = _0x28494e["extend"]({
    
    
                "processBlock": function (_0x10fe38, _0x305e7c) {
    
    
                    var _0x215b49 = this["_cipher"],
                        _0x3fab6f = _0x215b49["blockSize"];

                    _0x586618["call"](this, _0x10fe38, _0x305e7c, _0x3fab6f);

                    _0x215b49["encryptBlock"](_0x10fe38, _0x305e7c);

                    this["_prevBlock"] = _0x10fe38["slice"](_0x305e7c, _0x305e7c + _0x3fab6f);
                }
            });
            _0x28494e["Decryptor"] = _0x28494e["extend"]({
    
    
                "processBlock": function (_0x5c0605, _0x3a7be6) {
    
    
                    var _0x4f291e = this["_cipher"],
                        _0x72815 = _0x4f291e["blockSize"],
                        _0xe89ca3 = _0x5c0605["slice"](_0x3a7be6, _0x3a7be6 + _0x72815);

                    _0x4f291e["decryptBlock"](_0x5c0605, _0x3a7be6);

                    _0x586618["call"](this, _0x5c0605, _0x3a7be6, _0x72815);

                    this["_prevBlock"] = _0xe89ca3;
                }
            });
            return _0x28494e;
        }(),
        _0x3f4bd9 = (_0x56b7e7["pad"] = {
    
    })["Pkcs7"] = {
    
    
            "pad": function (_0xdd064b, _0x2ee6af) {
    
    
                for (var _0x650b29 = 4 * _0x2ee6af, _0x650b29 = _0x650b29 - _0xdd064b["sigBytes"] % _0x650b29, _0x36b08b = _0x650b29 << 24 | _0x650b29 << 16 | _0x650b29 << 8 | _0x650b29, _0x51f95c = [], _0x2e88a0 = 0; _0x2e88a0 < _0x650b29; _0x2e88a0 += 4) _0x51f95c["push"](_0x36b08b);

                _0x650b29 = _0xd7718a["create"](_0x51f95c, _0x650b29);

                _0xdd064b["concat"](_0x650b29);
            },
            "unpad": function (_0x508d17) {
    
    
                if (false) {
    
    
                    this["_append"](_0x508d17);
                    this["_process"]();
                    return this;
                } else {
    
    
                    _0x508d17["sigBytes"] -= _0x508d17["words"][_0x508d17["sigBytes"] - 1 >>> 2] & 255;
                }
            }
        };

    _0x4d4d0e["BlockCipher"] = _0x48ba0c["extend"]({
    
    
        "cfg": _0x48ba0c["cfg"]["extend"]({
    
    
            "mode": _0x5b4e76,
            "padding": _0x3f4bd9
        }),
        "reset": function () {
    
    
            if (false) {
    
    
                for (var _0x5d16ca in _0x2ff0bb) _0x2ff0bb["hasOwnProperty"](_0x5d16ca) && (this[_0x5d16ca] = _0x2ff0bb[_0x5d16ca]);

                _0x2ff0bb["hasOwnProperty"]("toString") && (this["toString"] = _0x2ff0bb["toString"]);
            } else {
    
    
                _0x48ba0c["reset"]["call"](this);

                var _0x2ff0bb = this["cfg"],
                    _0x3b81f3 = _0x2ff0bb["iv"],
                    _0x2ff0bb = _0x2ff0bb["mode"];
                if (this["_xformMode"] == this["_ENC_XFORM_MODE"]) var _0x43863b = _0x2ff0bb["createEncryptor"]; else _0x43863b = _0x2ff0bb["createDecryptor"], this["_minBufferSize"] = 1;
                this["_mode"] && this["_mode"]["__creator"] == _0x43863b ? this["_mode"]["init"](this, _0x3b81f3 && _0x3b81f3["words"]) : (this["_mode"] = _0x43863b["call"](_0x2ff0bb, this, _0x3b81f3 && _0x3b81f3["words"]), this["_mode"]["__creator"] = _0x43863b);
            }
        },
        "_doProcessBlock": function (_0x2dfb21, _0x5272ac) {
    
    
            this["_mode"]["processBlock"](_0x2dfb21, _0x5272ac);
        },
        "_doFinalize": function () {
    
    
            if (true) {
    
    
                var _0xbcd9f7 = this["cfg"]["padding"];

                if (this["_xformMode"] == this["_ENC_XFORM_MODE"]) {
    
    
                    _0xbcd9f7["pad"](this["_data"], this["blockSize"]);

                    var _0x103975 = this["_process"](true);
                } else _0x103975 = this["_process"](true), _0xbcd9f7["unpad"](_0x103975);

                return _0x103975;
            } else {
    
    
                _0x445b52 = this["cfg"]["extend"](_0x445b52);
                _0x56b7e7 = _0x445b52["kdf"]["execute"](_0x56b7e7, _0x19fd30["keySize"], _0x19fd30["ivSize"]);
                _0x56b7e7["iv"] = _0x56b7e7["iv"];
                _0x19fd30 = _0xbcd9f7["encrypt"]["call"](this, _0x19fd30, _0x103975, _0x56b7e7["key"], _0x445b52);

                _0x19fd30["mixIn"](_0x56b7e7);

                return _0x19fd30;
            }
        },
        "blockSize": 4
    });

    var _0x445b52 = _0x4d4d0e["CipherParams"] = _0x4d8c6c["extend"]({
    
    
            "init": function (_0x5c42da) {
    
    
                this["mixIn"](_0x5c42da);
            },
            "toString": function (_0x5828d7) {
    
    
                if (true) {
    
    
                    return (_0x5828d7 || this["formatter"])["stringify"](this);
                } else {
    
    
                    var _0x49f336 = e(4294967296 * (f || _0x3c7fe9["random"]()));

                    f = 987654071 * _0x49f336();

                    _0x19fd30["push"](4294967296 * _0x49f336() | 0);
                }
            }
        }),
        _0x5b4e76 = (_0x56b7e7["format"] = {
    
    })["OpenSSL"] = {
    
    
            "stringify": function (_0x4db03c) {
    
    
                var _0x17b7fe = _0x4db03c["ciphertext"];
                _0x4db03c = _0x4db03c["salt"];
                return (_0x4db03c ? _0xd7718a["create"]([1398893684, 1701076831])["concat"](_0x4db03c)["concat"](_0x17b7fe) : _0x17b7fe)["toString"](_0x1e56ba);
            },
            "parse": function (_0x198b4c) {
    
    
                _0x198b4c = _0x1e56ba["parse"](_0x198b4c);
                var _0x483839 = _0x198b4c["words"];

                if (1398893684 == _0x483839[0] && 1701076831 == _0x483839[1]) {
    
    
                    if (false) {
    
    
                        var _0x5a8c21 = this["_data"],
                            _0x3a3a6b = _0x5a8c21["words"],
                            _0x584c0f = _0x5a8c21["sigBytes"],
                            _0xe4ebbb = this["blockSize"],
                            _0x15760d = _0x584c0f / (4 * _0xe4ebbb),
                            _0x15760d = _0x198b4c ? _0x3c7fe9["ceil"](_0x15760d) : _0x3c7fe9["max"]((_0x15760d | 0) - this["_minBufferSize"], 0);

                        _0x198b4c = _0x15760d * _0xe4ebbb;
                        _0x584c0f = _0x3c7fe9["min"](4 * _0x198b4c, _0x584c0f);

                        if (_0x198b4c) {
    
    
                            for (var _0x37c1be = 0; _0x37c1be < _0x198b4c; _0x37c1be += _0xe4ebbb) this["_doProcessBlock"](_0x3a3a6b, _0x37c1be);

                            _0x37c1be = _0x3a3a6b["splice"](0, _0x198b4c);
                            _0x5a8c21["sigBytes"] -= _0x584c0f;
                        }

                        return new _0x1e56ba["init"](_0x37c1be, _0x584c0f);
                    } else {
    
    
                        var _0x27fb25 = _0xd7718a["create"](_0x483839["slice"](2, 4));

                        _0x483839["splice"](0, 4);

                        _0x198b4c["sigBytes"] -= 16;
                    }
                }

                return _0x445b52["create"]({
    
    
                    "ciphertext": _0x198b4c,
                    "salt": _0x19fd30
                });
            }
        },
        _0x3e58da = _0x4d4d0e["SerializableCipher"] = _0x4d8c6c["extend"]({
    
    
            "cfg": _0x4d8c6c["extend"]({
    
    
                "format": _0x5b4e76
            }),
            "encrypt": function (_0x164335, _0x4bcdf7, _0x312ff7, _0x193b37) {
    
    
                _0x193b37 = this["cfg"]["extend"](_0x193b37);

                var _0x3ab339 = _0x164335["createEncryptor"](_0x312ff7, _0x193b37);

                _0x4bcdf7 = _0x3ab339["finalize"](_0x4bcdf7);
                _0x3ab339 = _0x3ab339["cfg"];
                return _0x445b52["create"]({
    
    
                    "ciphertext": _0x4bcdf7,
                    "key": _0x312ff7,
                    "iv": _0x3ab339["iv"],
                    "algorithm": _0x164335,
                    "mode": _0x3ab339["mode"],
                    "padding": _0x3ab339["padding"],
                    "blockSize": _0x164335["blockSize"],
                    "formatter": _0x193b37["format"]
                });
            },
            "decrypt": function (_0x2e71ed, _0x4a138b, _0x27d655, _0xce4ad9) {
    
    
                if (false) {
    
    
                    this["_cipher"] = _0x2e71ed;
                    this["_iv"] = _0x4a138b;
                } else {
    
    
                    _0xce4ad9 = this["cfg"]["extend"](_0xce4ad9);
                    _0x4a138b = this["_parse"](_0x4a138b, _0xce4ad9["format"]);
                    return _0x2e71ed["createDecryptor"](_0x27d655, _0xce4ad9)["finalize"](_0x4a138b["ciphertext"]);
                }
            },
            "_parse": function (_0xbba260, _0x247b40) {
    
    
                return "string" == typeof _0xbba260 ? _0x247b40["parse"](_0xbba260, this) : _0xbba260;
            }
        }),
        _0x56b7e7 = (_0x56b7e7["kdf"] = {
    
    })["OpenSSL"] = {
    
    
            "execute": function (_0x4b8a2e, _0x3de214, _0x60ce5b, _0x5596ac) {
    
    
                _0x5596ac || (_0x5596ac = _0xd7718a["random"](8));
                _0x4b8a2e = _0x34a19e["create"]({
    
    
                    "keySize": _0x3de214 + _0x60ce5b
                })["compute"](_0x4b8a2e, _0x5596ac);
                _0x60ce5b = _0xd7718a["create"](_0x4b8a2e["words"]["slice"](_0x3de214), 4 * _0x60ce5b);
                _0x4b8a2e["sigBytes"] = 4 * _0x3de214;
                return _0x445b52["create"]({
    
    
                    "key": _0x4b8a2e,
                    "iv": _0x60ce5b,
                    "salt": _0x5596ac
                });
            }
        },
        _0x19fd30 = _0x4d4d0e["PasswordBasedCipher"] = _0x3e58da["extend"]({
    
    
            "cfg": _0x3e58da["cfg"]["extend"]({
    
    
                "kdf": _0x56b7e7
            }),
            "encrypt": function (_0x52ef5f, _0x3d1208, _0xceea60, _0x2a34c8) {
    
    
                if (true) {
    
    
                    _0x2a34c8 = this["cfg"]["extend"](_0x2a34c8);
                    _0xceea60 = _0x2a34c8["kdf"]["execute"](_0xceea60, _0x52ef5f["keySize"], _0x52ef5f["ivSize"]);
                    _0xceea60["iv"] = _0xceea60["iv"];
                    _0x52ef5f = _0x3e58da["encrypt"]["call"](this, _0x52ef5f, _0x3d1208, _0xceea60["key"], _0x2a34c8);

                    _0x52ef5f["mixIn"](_0xceea60);

                    return _0x52ef5f;
                } else {
    
    
                    _0x3e58da = 36969 * (_0x3e58da & 65535) + (_0x3e58da >> 16) & 4294967295;
                    e = 18000 * (e & 65535) + (e >> 16) & 4294967295;
                    return (((_0x3e58da << 16) + e & 4294967295) / 4294967296 + 0.5) * (0.5 < _0x3c7fe9["random"]() ? 1 : -1);
                }
            },
            "decrypt": function (_0x2aa612, _0x82c5ac, _0x4ecd3f, _0xad038b) {
    
    
                _0xad038b = this["cfg"]["extend"](_0xad038b);
                _0x82c5ac = this["_parse"](_0x82c5ac, _0xad038b["format"]);
                _0x4ecd3f = _0xad038b["kdf"]["execute"](_0x4ecd3f, _0x2aa612["keySize"], _0x2aa612["ivSize"], _0x82c5ac["salt"]);
                _0x4ecd3f["iv"] = _0x4ecd3f["iv"];
                return _0x3e58da["decrypt"]["call"](this, _0x2aa612, _0x82c5ac, _0x4ecd3f["key"], _0xad038b);
            }
        });
}();

_grsa_JS["mode"]["ECB"] = function () {
    
    
    var _0x58635e = _grsa_JS["lib"]["BlockCipherMode"]["extend"]();

    _0x58635e["Encryptor"] = _0x58635e["extend"]({
    
    
        "processBlock": function (_0x31ec72, _0x34a54c) {
    
    
            this["_cipher"]["encryptBlock"](_0x31ec72, _0x34a54c);
        }
    });
    _0x58635e["Decryptor"] = _0x58635e["extend"]({
    
    
        "processBlock": function (_0x8200db, _0x28476d) {
    
    
            this["_cipher"]["decryptBlock"](_0x8200db, _0x28476d);
        }
    });
    return _0x58635e;
}();

(function () {
    
    
    function _0xf94091(_0x33ce1c, _0x55bfc0) {
    
    
        var _0x372fde = (this["_lBlock"] >>> _0x33ce1c ^ this["_rBlock"]) & _0x55bfc0;

        this["_rBlock"] ^= _0x372fde;
        this["_lBlock"] ^= _0x372fde << _0x33ce1c;
    }

    function _0x2ecaf5(_0x1c4000, _0x491bcc) {
    
    
        var _0x348a00 = (this["_rBlock"] >>> _0x1c4000 ^ this["_lBlock"]) & _0x491bcc;

        this["_lBlock"] ^= _0x348a00;
        this["_rBlock"] ^= _0x348a00 << _0x1c4000;
    }

    var _0x3f8d43 = _grsa_JS,
        _0x57ed25 = _0x3f8d43["lib"],
        _0x5a476c = _0x57ed25["WordArray"],
        _0x57ed25 = _0x57ed25["BlockCipher"],
        _0xa844 = _0x3f8d43["algo"],
        _0x16031e = [57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4],
        _0x3471c3 = [14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32],
        _0x166a99 = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28],
        _0x4277d7 = [{
    
    
            0: 8421888,
            268435456: 32768,
            536870912: 8421378,
            805306368: 2,
            1073741824: 512,
            1342177280: 8421890,
            1610612736: 8389122,
            1879048192: 8388608,
            2147483648: 514,
            2415919104: 8389120,
            2684354560: 33280,
            2952790016: 8421376,
            3221225472: 32770,
            3489660928: 8388610,
            3758096384: 0,
            4026531840: 33282,
            134217728: 0,
            402653184: 8421890,
            671088640: 33282,
            939524096: 32768,
            1207959552: 8421888,
            1476395008: 512,
            1744830464: 8421378,
            2013265920: 2,
            2281701376: 8389120,
            2550136832: 33280,
            2818572288: 8421376,
            3087007744: 8389122,
            3355443200: 8388610,
            3623878656: 32770,
            3892314112: 514,
            4160749568: 8388608,
            1: 32768,
            268435457: 2,
            536870913: 8421888,
            805306369: 8388608,
            1073741825: 8421378,
            1342177281: 33280,
            1610612737: 512,
            1879048193: 8389122,
            2147483649: 8421890,
            2415919105: 8421376,
            2684354561: 8388610,
            2952790017: 33282,
            3221225473: 514,
            3489660929: 8389120,
            3758096385: 32770,
            4026531841: 0,
            134217729: 8421890,
            402653185: 8421376,
            671088641: 8388608,
            939524097: 512,
            1207959553: 32768,
            1476395009: 8388610,
            1744830465: 2,
            2013265921: 33282,
            2281701377: 32770,
            2550136833: 8389122,
            2818572289: 514,
            3087007745: 8421888,
            3355443201: 8389120,
            3623878657: 0,
            3892314113: 33280,
            4160749569: 8421378
        }, {
    
    
            0: 1074282512,
            16777216: 16384,
            33554432: 524288,
            50331648: 1074266128,
            67108864: 1073741840,
            83886080: 1074282496,
            100663296: 1073758208,
            117440512: 16,
            134217728: 540672,
            150994944: 1073758224,
            167772160: 1073741824,
            184549376: 540688,
            201326592: 524304,
            218103808: 0,
            234881024: 16400,
            251658240: 1074266112,
            8388608: 1073758208,
            25165824: 540688,
            41943040: 16,
            58720256: 1073758224,
            75497472: 1074282512,
            92274688: 1073741824,
            109051904: 524288,
            125829120: 1074266128,
            142606336: 524304,
            159383552: 0,
            176160768: 16384,
            192937984: 1074266112,
            209715200: 1073741840,
            226492416: 540672,
            243269632: 1074282496,
            260046848: 16400,
            268435456: 0,
            285212672: 1074266128,
            301989888: 1073758224,
            318767104: 1074282496,
            335544320: 1074266112,
            352321536: 16,
            369098752: 540688,
            385875968: 16384,
            402653184: 16400,
            419430400: 524288,
            436207616: 524304,
            452984832: 1073741840,
            469762048: 540672,
            486539264: 1073758208,
            503316480: 1073741824,
            520093696: 1074282512,
            276824064: 540688,
            293601280: 524288,
            310378496: 1074266112,
            327155712: 16384,
            343932928: 1073758208,
            360710144: 1074282512,
            377487360: 16,
            394264576: 1073741824,
            411041792: 1074282496,
            427819008: 1073741840,
            444596224: 1073758224,
            461373440: 524304,
            478150656: 0,
            494927872: 16400,
            511705088: 1074266128,
            528482304: 540672
        }, {
    
    
            0: 260,
            1048576: 0,
            2097152: 67109120,
            3145728: 65796,
            4194304: 65540,
            5242880: 67108868,
            6291456: 67174660,
            7340032: 67174400,
            8388608: 67108864,
            9437184: 67174656,
            10485760: 65792,
            11534336: 67174404,
            12582912: 67109124,
            13631488: 65536,
            14680064: 4,
            15728640: 256,
            524288: 67174656,
            1572864: 67174404,
            2621440: 0,
            3670016: 67109120,
            4718592: 67108868,
            5767168: 65536,
            6815744: 65540,
            7864320: 260,
            8912896: 4,
            9961472: 256,
            11010048: 67174400,
            12058624: 65796,
            13107200: 65792,
            14155776: 67109124,
            15204352: 67174660,
            16252928: 67108864,
            16777216: 67174656,
            17825792: 65540,
            18874368: 65536,
            19922944: 67109120,
            20971520: 256,
            22020096: 67174660,
            23068672: 67108868,
            24117248: 0,
            25165824: 67109124,
            26214400: 67108864,
            27262976: 4,
            28311552: 65792,
            29360128: 67174400,
            30408704: 260,
            31457280: 65796,
            32505856: 67174404,
            17301504: 67108864,
            18350080: 260,
            19398656: 67174656,
            20447232: 0,
            21495808: 65540,
            22544384: 67109120,
            23592960: 256,
            24641536: 67174404,
            25690112: 65536,
            26738688: 67174660,
            27787264: 65796,
            28835840: 67108868,
            29884416: 67109124,
            30932992: 67174400,
            31981568: 4,
            33030144: 65792
        }, {
    
    
            0: 2151682048,
            65536: 2147487808,
            131072: 4198464,
            196608: 2151677952,
            262144: 0,
            327680: 4198400,
            393216: 2147483712,
            458752: 4194368,
            524288: 2147483648,
            589824: 4194304,
            655360: 64,
            720896: 2147487744,
            786432: 2151678016,
            851968: 4160,
            917504: 4096,
            983040: 2151682112,
            32768: 2147487808,
            98304: 64,
            163840: 2151678016,
            229376: 2147487744,
            294912: 4198400,
            360448: 2151682112,
            425984: 0,
            491520: 2151677952,
            557056: 4096,
            622592: 2151682048,
            688128: 4194304,
            753664: 4160,
            819200: 2147483648,
            884736: 4194368,
            950272: 4198464,
            1015808: 2147483712,
            1048576: 4194368,
            1114112: 4198400,
            1179648: 2147483712,
            1245184: 0,
            1310720: 4160,
            1376256: 2151678016,
            1441792: 2151682048,
            1507328: 2147487808,
            1572864: 2151682112,
            1638400: 2147483648,
            1703936: 2151677952,
            1769472: 4198464,
            1835008: 2147487744,
            1900544: 4194304,
            1966080: 64,
            2031616: 4096,
            1081344: 2151677952,
            1146880: 2151682112,
            1212416: 0,
            1277952: 4198400,
            1343488: 4194368,
            1409024: 2147483648,
            1474560: 2147487808,
            1540096: 64,
            1605632: 2147483712,
            1671168: 4096,
            1736704: 2147487744,
            1802240: 2151678016,
            1867776: 4160,
            1933312: 2151682048,
            1998848: 4194304,
            2064384: 4198464
        }, {
    
    
            0: 128,
            4096: 17039360,
            8192: 262144,
            12288: 536870912,
            16384: 537133184,
            20480: 16777344,
            24576: 553648256,
            28672: 262272,
            32768: 16777216,
            36864: 537133056,
            40960: 536871040,
            45056: 553910400,
            49152: 553910272,
            53248: 0,
            57344: 17039488,
            61440: 553648128,
            2048: 17039488,
            6144: 553648256,
            10240: 128,
            14336: 17039360,
            18432: 262144,
            22528: 537133184,
            26624: 553910272,
            30720: 536870912,
            34816: 537133056,
            38912: 0,
            43008: 553910400,
            47104: 16777344,
            51200: 536871040,
            55296: 553648128,
            59392: 16777216,
            63488: 262272,
            65536: 262144,
            69632: 128,
            73728: 536870912,
            77824: 553648256,
            81920: 16777344,
            86016: 553910272,
            90112: 537133184,
            94208: 16777216,
            98304: 553910400,
            102400: 553648128,
            106496: 17039360,
            110592: 537133056,
            114688: 262272,
            118784: 536871040,
            122880: 0,
            126976: 17039488,
            67584: 553648256,
            71680: 16777216,
            75776: 17039360,
            79872: 537133184,
            83968: 536870912,
            88064: 17039488,
            92160: 128,
            96256: 553910272,
            100352: 262272,
            104448: 553910400,
            108544: 0,
            112640: 553648128,
            116736: 16777344,
            120832: 262144,
            124928: 537133056,
            129024: 536871040
        }, {
    
    
            0: 268435464,
            256: 8192,
            512: 270532608,
            768: 270540808,
            1024: 268443648,
            1280: 2097152,
            1536: 2097160,
            1792: 268435456,
            2048: 0,
            2304: 268443656,
            2560: 2105344,
            2816: 8,
            3072: 270532616,
            3328: 2105352,
            3584: 8200,
            3840: 270540800,
            128: 270532608,
            384: 270540808,
            640: 8,
            896: 2097152,
            1152: 2105352,
            1408: 268435464,
            1664: 268443648,
            1920: 8200,
            2176: 2097160,
            2432: 8192,
            2688: 268443656,
            2944: 270532616,
            3200: 0,
            3456: 270540800,
            3712: 2105344,
            3968: 268435456,
            4096: 268443648,
            4352: 270532616,
            4608: 270540808,
            4864: 8200,
            5120: 2097152,
            5376: 268435456,
            5632: 268435464,
            5888: 2105344,
            6144: 2105352,
            6400: 0,
            6656: 8,
            6912: 270532608,
            7168: 8192,
            7424: 268443656,
            7680: 270540800,
            7936: 2097160,
            4224: 8,
            4480: 2105344,
            4736: 2097152,
            4992: 268435464,
            5248: 268443648,
            5504: 8200,
            5760: 270540808,
            6016: 270532608,
            6272: 270540800,
            6528: 270532616,
            6784: 8192,
            7040: 2105352,
            7296: 2097160,
            7552: 0,
            7808: 268435456,
            8064: 268443656
        }, {
    
    
            0: 1048576,
            16: 33555457,
            32: 1024,
            48: 1049601,
            64: 34604033,
            80: 0,
            96: 1,
            112: 34603009,
            128: 33555456,
            144: 1048577,
            160: 33554433,
            176: 34604032,
            192: 34603008,
            208: 1025,
            224: 1049600,
            240: 33554432,
            8: 34603009,
            24: 0,
            40: 33555457,
            56: 34604032,
            72: 1048576,
            88: 33554433,
            104: 33554432,
            120: 1025,
            136: 1049601,
            152: 33555456,
            168: 34603008,
            184: 1048577,
            200: 1024,
            216: 34604033,
            232: 1,
            248: 1049600,
            256: 33554432,
            272: 1048576,
            288: 33555457,
            304: 34603009,
            320: 1048577,
            336: 33555456,
            352: 34604032,
            368: 1049601,
            384: 1025,
            400: 34604033,
            416: 1049600,
            432: 1,
            448: 0,
            464: 34603008,
            480: 33554433,
            496: 1024,
            264: 1049600,
            280: 33555457,
            296: 34603009,
            312: 1,
            328: 33554432,
            344: 1048576,
            360: 1025,
            376: 34604032,
            392: 33554433,
            408: 34603008,
            424: 0,
            440: 34604033,
            456: 1049601,
            472: 1024,
            488: 33555456,
            504: 1048577
        }, {
    
    
            0: 134219808,
            1: 131072,
            2: 134217728,
            3: 32,
            4: 131104,
            5: 134350880,
            6: 134350848,
            7: 2048,
            8: 134348800,
            9: 134219776,
            10: 133120,
            11: 134348832,
            12: 2080,
            13: 0,
            14: 134217760,
            15: 133152,
            2147483648: 2048,
            2147483649: 134350880,
            2147483650: 134219808,
            2147483651: 134217728,
            2147483652: 134348800,
            2147483653: 133120,
            2147483654: 133152,
            2147483655: 32,
            2147483656: 134217760,
            2147483657: 2080,
            2147483658: 131104,
            2147483659: 134350848,
            2147483660: 0,
            2147483661: 134348832,
            2147483662: 134219776,
            2147483663: 131072,
            16: 133152,
            17: 134350848,
            18: 32,
            19: 2048,
            20: 134219776,
            21: 134217760,
            22: 134348832,
            23: 131072,
            24: 0,
            25: 131104,
            26: 134348800,
            27: 134219808,
            28: 134350880,
            29: 133120,
            30: 2080,
            31: 134217728,
            2147483664: 131072,
            2147483665: 2048,
            2147483666: 134348832,
            2147483667: 133152,
            2147483668: 32,
            2147483669: 134348800,
            2147483670: 134217728,
            2147483671: 134219808,
            2147483672: 134350880,
            2147483673: 134217760,
            2147483674: 134219776,
            2147483675: 0,
            2147483676: 133120,
            2147483677: 2080,
            2147483678: 131104,
            2147483679: 134350848
        }],
        _0x59d0f4 = [4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, 2147483679],
        _0x4d24f9 = _0xa844["DES"] = _0x57ed25["extend"]({
    
    
            "_doReset": function () {
    
    
                for (var _0x24a17c = this["_key"]["words"], _0x18c49c = [], _0xe14056 = 0; 56 > _0xe14056; _0xe14056++) {
    
    
                    if (false) {
    
    
                        function _0x28263f() {
    
    
                        }

                        return function (_0x233016) {
    
    
                            _0x28263f["prototype"] = _0x233016;
                            _0x233016 = new _0x28263f();
                            _0x28263f["prototype"] = null;
                            return _0x233016;
                        };
                    } else {
    
    
                        var _0x5b8057 = _0x16031e[_0xe14056] - 1;

                        _0x18c49c[_0xe14056] = _0x24a17c[_0x5b8057 >>> 5] >>> 31 - _0x5b8057 % 32 & 1;
                    }
                }

                _0x24a17c = this["_subKeys"] = [];

                for (e = 0; 16 > e; e++) {
    
    
                    if (false) {
    
    
                        return this["init"]["prototype"]["extend"](this);
                    } else {
    
    
                        for (var _0x42a9aa = _0x24a17c[e] = [], _0x5ed64d = _0x166a99[e], _0x17eed7 = 0; 24 > _0x17eed7; _0x17eed7++) _0x42a9aa[_0x17eed7 / 6 | 0] |= _0x18c49c[(_0x3471c3[_0x17eed7] - 1 + _0x5ed64d) % 28] << 31 - _0x17eed7 % 6, _0x42a9aa[4 + (_0x17eed7 / 6 | 0)] |= _0x18c49c[28 + (_0x3471c3[_0x17eed7 + 24] - 1 + _0x5ed64d) % 28] << 31 - _0x17eed7 % 6;

                        _0x42a9aa[0] = _0x42a9aa[0] << 1 | _0x42a9aa[0] >>> 31;

                        for (_0x17eed7 = 1; 7 > _0x17eed7; _0x17eed7++) _0x42a9aa[_0x17eed7] >>>= 4 * (_0x17eed7 - 1) + 3;

                        _0x42a9aa[7] = _0x42a9aa[7] << 5 | _0x42a9aa[7] >>> 27;
                    }
                }

                _0x18c49c = this["_invSubKeys"] = [];

                for (_0xe14056 = 0; 16 > _0xe14056; _0xe14056++) _0x18c49c[_0xe14056] = _0x24a17c[15 - _0xe14056];
            },
            "encryptBlock": function (_0x9c4e98, _0x22cbf3) {
    
    
                this["_doCryptBlock"](_0x9c4e98, _0x22cbf3, this["_subKeys"]);
            },
            "decryptBlock": function (_0x5bb9bc, _0x300b25) {
    
    
                this["_doCryptBlock"](_0x5bb9bc, _0x300b25, this["_invSubKeys"]);
            },
            "_doCryptBlock": function (_0x1b2838, _0x119e0a, _0x3ec085) {
    
    
                this["_lBlock"] = _0x1b2838[_0x119e0a];
                this["_rBlock"] = _0x1b2838[_0x119e0a + 1];

                _0xf94091["call"](this, 4, 252645135);

                _0xf94091["call"](this, 16, 65535);

                _0x2ecaf5["call"](this, 2, 858993459);

                _0x2ecaf5["call"](this, 8, 16711935);

                _0xf94091["call"](this, 1, 1431655765);

                for (var _0x354fa9 = 0; 16 > _0x354fa9; _0x354fa9++) {
    
    
                    if (true) {
    
    
                        for (var _0x3601ac = _0x3ec085[_0x354fa9], _0x460382 = this["_lBlock"], _0x323472 = this["_rBlock"], _0x47a2d3 = 0, _0x4e3880 = 0; 8 > _0x4e3880; _0x4e3880++) _0x47a2d3 |= _0x4277d7[_0x4e3880][((_0x323472 ^ _0x3601ac[_0x4e3880]) & _0x59d0f4[_0x4e3880]) >>> 0];

                        this["_lBlock"] = _0x323472;
                        this["_rBlock"] = _0x460382 ^ _0x47a2d3;
                    } else {
    
    
                        _0x119e0a["sigBytes"] -= _0x119e0a["words"][_0x119e0a["sigBytes"] - 1 >>> 2] & 255;
                    }
                }

                _0x3ec085 = this["_lBlock"];
                this["_lBlock"] = this["_rBlock"];
                this["_rBlock"] = _0x3ec085;

                _0xf94091["call"](this, 1, 1431655765);

                _0x2ecaf5["call"](this, 8, 16711935);

                _0x2ecaf5["call"](this, 2, 858993459);

                _0xf94091["call"](this, 16, 65535);

                _0xf94091["call"](this, 4, 252645135);

                _0x1b2838[_0x119e0a] = this["_lBlock"];
                _0x1b2838[_0x119e0a + 1] = this["_rBlock"];
            },
            "keySize": 2,
            "ivSize": 2,
            "blockSize": 2
        });

    _0x3f8d43["DES"] = _0x57ed25["_createHelper"](_0x4d24f9);
    _0xa844 = _0xa844["TripleDES"] = _0x57ed25["extend"]({
    
    
        "_doReset": function () {
    
    
            if (true) {
    
    
                var _0xaee42e = this["_key"]["words"];
                this["_des1"] = _0x4d24f9["createEncryptor"](_0x5a476c["create"](_0xaee42e["slice"](0, 2)));
                this["_des2"] = _0x4d24f9["createEncryptor"](_0x5a476c["create"](_0xaee42e["slice"](2, 4)));
                this["_des3"] = _0x4d24f9["createEncryptor"](_0x5a476c["create"](_0xaee42e["slice"](4, 6)));
            } else {
    
    
                alert("不能删除sojson.v5");
            }
        },
        "encryptBlock": function (_0x4b1f5c, _0x4056fe) {
    
    
            if (true) {
    
    
                this["_des1"]["encryptBlock"](_0x4b1f5c, _0x4056fe);
                this["_des2"]["decryptBlock"](_0x4b1f5c, _0x4056fe);
                this["_des3"]["encryptBlock"](_0x4b1f5c, _0x4056fe);
            } else {
    
    
                this["_des3"]["decryptBlock"](_0x4b1f5c, _0x4056fe);
                this["_des2"]["encryptBlock"](_0x4b1f5c, _0x4056fe);
                this["_des1"]["decryptBlock"](_0x4b1f5c, _0x4056fe);
            }
        },
        "decryptBlock": function (_0xd668e6, _0x1268ce) {
    
    
            this["_des3"]["decryptBlock"](_0xd668e6, _0x1268ce);
            this["_des2"]["encryptBlock"](_0xd668e6, _0x1268ce);
            this["_des1"]["decryptBlock"](_0xd668e6, _0x1268ce);
        },
        "keySize": 6,
        "ivSize": 2,
        "blockSize": 2
    });
    _0x3f8d43["TripleDES"] = _0x57ed25["_createHelper"](_0xa844);
})();

var webDES = function () {
    
    
        var _0x9843d3 = function (_0x29d556, _0xcc6df, _0x3d7020) {
    
    
            if (0 == _0xcc6df) return _0x29d556["substr"](_0x3d7020);

            var _0x48914b;

            _0x48914b = "" + _0x29d556["substr"](0, _0xcc6df);
            return _0x48914b += _0x29d556["substr"](_0xcc6df + _0x3d7020);
        };

        this["shell"] = function (_0xa0c834) {
    
    
            var _0x554c90 = parseInt(_0xa0c834[_0xa0c834["length"] - 1], 16) + 9,
                _0x2cf8ae = parseInt(_0xa0c834[_0x554c90], 16);
            _0xa0c834 = _0x9843d3(_0xa0c834, _0x554c90, 1);
            _0x554c90 = _0xa0c834["substr"](_0x2cf8ae, 8);
            _0xa0c834 = _0x9843d3(_0xa0c834, _0x2cf8ae, 8);

            _0x2cf8ae = _grsa_JS["enc"]["Utf8"]["parse"](_0x554c90);
            _0x554c90 = _grsa_JS["enc"]["Utf8"]["parse"](_0x554c90);

            _0x554c90 = _grsa_JS["DES"]["decrypt"]({
    
    
                "ciphertext": _grsa_JS["enc"]["Hex"]["parse"](_0xa0c834)
            }, _0x2cf8ae, {
    
    
                "iv": _0x554c90,
                "mode": _grsa_JS["mode"]["ECB"],
                "padding": _grsa_JS["pad"]["Pkcs7"]
            })["toString"](_grsa_JS["enc"]["Utf8"]);
            return _0x554c90["substring"](0, _0x554c90["lastIndexOf"]("}") + 1);
        };
    },
    webInstace = new webDES();

// console.log(webInstace.shell('7F9529C7BD1E55B3D6BA15BFC99D91750948408BB03EFB9C1BBC284DF1629964F650229D6C61DA7D119046FB97B9A64272E590A51D0034D15167E93E11FCD0223D712A59E2D02B626077E6DCFF36809B0E09801F70FD26A62D5DD54D2E281273C0C78AF8EC7D64316D3131DB98D6A0D7550E7D6BD6DDD036C9642947901DB096BBE2A862D1347CCE66D2BEDFFFD0C7BD635DB96EA820184D8A00880CE816C8A42D920BA86D5F1E245D410D9B81415B46867386654B0161B7E004413A3B6FB8A59C6C712AA8F06046F2328BEA28A07619500E8F4663CF3FC0D219D7ED9450D2F991FAAEA496EC83CA7FE1A3F660F2FC473375284662A62916CB22D70D94194FD1605EF76A5CF612150417DEAEEC009DE7A97C72D10D3D48DB9C108DA11C645C3747D865EEC9D9CA1701173F84B7B9A64272E590A51D0034D15167E93E1F340FAFB96BC23028D2BD11924A86F2EF36809B0E09801F7B841DA9D4293AB128093295AFD299D99B1EF9FCE32FCE044B8CDF0B4813E450FD7205623B4F89CE3C7D64316D3131DB98D6A0D7550E7D6BD6DDD036C96429479C0041BE9ADC675F81347CCE66D2BEDFF13570B190C725969387F07296CAAA67B816C8A42D920BA86E67D57BA07B309831415B46867386654B0161B7E004413A35BC3026A37C4BC85FF41D1432FBC7D918A07619500E8F4663CF3FC0D219D7ED9450D2F991FAAEA496EC83CA7FE1A3F660F2FC473375284661EA23348CBBA51926FA9B312287F606F4152A7A9B1F61A97A9DC7AFE5F5873C047258D01FC91D74DBC5CD0D11DFFF172DA382F670706EB5391DB6B80F7550708EEBBA45C3C2F8AEC503A0824A3F7F876DE6A5F69F7EEC249951FD662DE60433EDA2D11D9CD1342DC1F9BE99B85CDC53603A2CA204F8CF22EE809C34AF41A6CB70EC96AFAD7B6F8658EFAEE11EAC9E5BCC0E3860382D24E11FD2483B52E63BA64018F977664B3473720DCEF09276E8ACE6397B14BC3DFC500523C0BB05E9BAFD44C8D0D727EFF39CC46E1FC1AFE0A2665776B2FC2A084ED59FD0819CB3033B730F876C34B36A326E13CC00FE165135035C2CC120CAB38F06E2E771E5C5944C8D843C896CA8379C53EFF387F7393CDF18AEE4EB84283237B384F77A5373E6FF39BC0ECCFF217F0967F072214681B928BA843A8266F252F539D5ACEA3FED6AB5662403C0DC8317979EC546E4F38705A48B461D3AF7639DB0391484A3C6D48749EA84117788398E27DA3B31E8BAE3764CF11C2187ED05ED958DD0B328D2446617DAFBC08CC52DF44449109FDDE0696096A9B1B5AA0972E99CD3A150127FB42DED5DDE6EBA6E5642064761415B46867386654B0161B7E004413A3BC08CC52DF4444917363C4525BC702B08A07619500E8F4663CF3FC0D219D7ED9450D2F991FAAEA496EC83CA7FE1A3F660F2FC473375284662A62916CB22D70D91C652BB776E6E1BDC1D8C8983D42BEE451F1AD4C1A273C56BC22B562E63F0F617317B12E81910E48DA382F670706EB537CEF2BFB6FAA577123615803E17C0CCA08BF27EFF835B3B22853BFFE648F8C3820277EB5630931399C9E77962EFAB203D6F91F18039E77987BB3BEEC6DB3B345FCB40EFB903E2302388C44B50425910D18305438FEED86D23234A8EE54308521C0ED3EAE69FA683E4B260F82DF36B0C519C51C8CCFA7E0E1718D0BA95E54A953CBEBDAFC6F73B409364E40E0F800BA6CD11489E58C9E5655DBEF25B134AC3D1A0B5D008FEE78732762B0C58F4D57E36B665DBA8768801374683BE0F67BFAB54C9749BB704396D4BBD9BF911C2CA8702D31AE65F6BE1699A059406ADB2D5BB71DD13F1BC079BC0F26150127FB42DED5DD993AA23C2958A144AD4F4DDD3725F2DF0DA80E866FF1BE08F2FEEA6DA5EA2F8753AE97C5F7942A0C543C3F8864E7EC5F1FC80415A29A40ACF2FEEA6DA5EA2F87109CFD56FB5653C97CFEF655DFC25EF2525BD49FB91320014A176F65127C84C3119270F894FBBE9A'))
var data = webInstace.shell('7F9529C7BD1E55B3D6BA15BFC99D91750948408BB03EFB9C1BBC284DF1629964F650229D6C61DA7D119046FB97B9A64272E590A51D0034D15167E93E11FCD0223D712A59E2D02B626077E6DCFF36809B0E09801F70FD26A62D5DD54D2E281273C0C78AF8EC7D64316D3131DB98D6A0D7550E7D6BD6DDD036C9642947901DB096BBE2A862D1347CCE66D2BEDFFFD0C7BD635DB96EA820184D8A00880CE816C8A42D920BA86D5F1E245D410D9B81415B46867386654B0161B7E004413A3B6FB8A59C6C712AA8F06046F2328BEA28A07619500E8F4663CF3FC0D219D7ED9450D2F991FAAEA496EC83CA7FE1A3F660F2FC473375284662A62916CB22D70D94194FD1605EF76A5CF612150417DEAEEC009DE7A97C72D10D3D48DB9C108DA11C645C3747D865EEC9D9CA1701173F84B7B9A64272E590A51D0034D15167E93E1F340FAFB96BC23028D2BD11924A86F2EF36809B0E09801F7B841DA9D4293AB128093295AFD299D99B1EF9FCE32FCE044B8CDF0B4813E450FD7205623B4F89CE3C7D64316D3131DB98D6A0D7550E7D6BD6DDD036C96429479C0041BE9ADC675F81347CCE66D2BEDFF13570B190C725969387F07296CAAA67B816C8A42D920BA86E67D57BA07B309831415B46867386654B0161B7E004413A35BC3026A37C4BC85FF41D1432FBC7D918A07619500E8F4663CF3FC0D219D7ED9450D2F991FAAEA496EC83CA7FE1A3F660F2FC473375284661EA23348CBBA51926FA9B312287F606F4152A7A9B1F61A97A9DC7AFE5F5873C047258D01FC91D74DBC5CD0D11DFFF172DA382F670706EB5391DB6B80F7550708EEBBA45C3C2F8AEC503A0824A3F7F876DE6A5F69F7EEC249951FD662DE60433EDA2D11D9CD1342DC1F9BE99B85CDC53603A2CA204F8CF22EE809C34AF41A6CB70EC96AFAD7B6F8658EFAEE11EAC9E5BCC0E3860382D24E11FD2483B52E63BA64018F977664B3473720DCEF09276E8ACE6397B14BC3DFC500523C0BB05E9BAFD44C8D0D727EFF39CC46E1FC1AFE0A2665776B2FC2A084ED59FD0819CB3033B730F876C34B36A326E13CC00FE165135035C2CC120CAB38F06E2E771E5C5944C8D843C896CA8379C53EFF387F7393CDF18AEE4EB84283237B384F77A5373E6FF39BC0ECCFF217F0967F072214681B928BA843A8266F252F539D5ACEA3FED6AB5662403C0DC8317979EC546E4F38705A48B461D3AF7639DB0391484A3C6D48749EA84117788398E27DA3B31E8BAE3764CF11C2187ED05ED958DD0B328D2446617DAFBC08CC52DF44449109FDDE0696096A9B1B5AA0972E99CD3A150127FB42DED5DDE6EBA6E5642064761415B46867386654B0161B7E004413A3BC08CC52DF4444917363C4525BC702B08A07619500E8F4663CF3FC0D219D7ED9450D2F991FAAEA496EC83CA7FE1A3F660F2FC473375284662A62916CB22D70D91C652BB776E6E1BDC1D8C8983D42BEE451F1AD4C1A273C56BC22B562E63F0F617317B12E81910E48DA382F670706EB537CEF2BFB6FAA577123615803E17C0CCA08BF27EFF835B3B22853BFFE648F8C3820277EB5630931399C9E77962EFAB203D6F91F18039E77987BB3BEEC6DB3B345FCB40EFB903E2302388C44B50425910D18305438FEED86D23234A8EE54308521C0ED3EAE69FA683E4B260F82DF36B0C519C51C8CCFA7E0E1718D0BA95E54A953CBEBDAFC6F73B409364E40E0F800BA6CD11489E58C9E5655DBEF25B134AC3D1A0B5D008FEE78732762B0C58F4D57E36B665DBA8768801374683BE0F67BFAB54C9749BB704396D4BBD9BF911C2CA8702D31AE65F6BE1699A059406ADB2D5BB71DD13F1BC079BC0F26150127FB42DED5DD993AA23C2958A144AD4F4DDD3725F2DF0DA80E866FF1BE08F2FEEA6DA5EA2F8753AE97C5F7942A0C543C3F8864E7EC5F1FC80415A29A40ACF2FEEA6DA5EA2F87109CFD56FB5653C97CFEF655DFC25EF2525BD49FB91320014A176F65127C84C3119270F894FBBE9A')
console.log(data)

猜你喜欢

转载自blog.csdn.net/qq_26079939/article/details/114934545