当前位置:网站首页 > 更多 > 编程开发 > 正文

[JS逆向] 校友邦请求参数加密

作者:CC下载站 日期:2021-12-19 00:00:00 浏览:64 分类:编程开发

function a(e, n) {
    var c = (65535 & e) + (65535 & n);
    return (e >> 16) + (n >> 16) + (c >> 16) << 16 | 65535 & c
}

function t(e, n, c, t, i, o) {
    return a((u = a(a(n, e), a(t, o))) << (r = i) | u >>> 32 - r, c);
    var u, r
}

function i(e, n, c, a, i, o, u) {
    return t(n & c | ~n & a, e, n, i, o, u)
}

function o(e, n, c, a, i, o, u) {
    return t(n & a | c & ~a, e, n, i, o, u)
}

function u(e, n, c, a, i, o, u) {
    return t(n ^ c ^ a, e, n, i, o, u)
}

function r(e, n, c, a, i, o, u) {
    return t(c ^ (n | ~a), e, n, i, o, u)
}

function d(e) {
    for (var n = 1732584193, c = -271733879, t = -1732584194, d = 271733878, h = 0; h < e.length; h += 16) {
        var s = n,
            l = c,
            b = t,
            k = d;
        c = r(c = r(c = r(c = r(c = u(c = u(c = u(c = u(c = o(c = o(c = o(c = o(c = i(c = i(c = i(c = i(c, t = i(t, d = i(d, n = i(n, c, t, d, e[h + 0], 7, -680876936), c, t, e[h + 1], 12, -389564586), n, c, e[h + 2], 17, 606105819), d, n, e[h + 3], 22, -1044525330), t = i(t, d = i(d, n = i(n, c, t, d, e[h + 4], 7, -176418897), c, t, e[h + 5], 12, 1200080426), n, c, e[h + 6], 17, -1473231341), d, n, e[h + 7], 22, -45705983), t = i(t, d = i(d, n = i(n, c, t, d, e[h + 8], 7, 1770035416), c, t, e[h + 9], 12, -1958414417), n, c, e[h + 10], 17, -42063), d, n, e[h + 11], 22, -1990404162), t = i(t, d = i(d, n = i(n, c, t, d, e[h + 12], 7, 1804603682), c, t, e[h + 13], 12, -40341101), n, c, e[h + 14], 17, -1502002290), d, n, e[h + 15], 22, 1236535329), t = o(t, d = o(d, n = o(n, c, t, d, e[h + 1], 5, -165796510), c, t, e[h + 6], 9, -1069501632), n, c, e[h + 11], 14, 643717713), d, n, e[h + 0], 20, -373897302), t = o(t, d = o(d, n = o(n, c, t, d, e[h + 5], 5, -701558691), c, t, e[h + 10], 9, 38016083), n, c, e[h + 15], 14, -660478335), d, n, e[h + 4], 20, -405537848), t = o(t, d = o(d, n = o(n, c, t, d, e[h + 9], 5, 568446438), c, t, e[h + 14], 9, -1019803690), n, c, e[h + 3], 14, -187363961), d, n, e[h + 8], 20, 1163531501), t = o(t, d = o(d, n = o(n, c, t, d, e[h + 13], 5, -1444681467), c, t, e[h + 2], 9, -51403784), n, c, e[h + 7], 14, 1735328473), d, n, e[h + 12], 20, -1926607734), t = u(t, d = u(d, n = u(n, c, t, d, e[h + 5], 4, -378558), c, t, e[h + 8], 11, -2022574463), n, c, e[h + 11], 16, 1839030562), d, n, e[h + 14], 23, -35309556), t = u(t, d = u(d, n = u(n, c, t, d, e[h + 1], 4, -1530992060), c, t, e[h + 4], 11, 1272893353), n, c, e[h + 7], 16, -155497632), d, n, e[h + 10], 23, -1094730640), t = u(t, d = u(d, n = u(n, c, t, d, e[h + 13], 4, 681279174), c, t, e[h + 0], 11, -358537222), n, c, e[h + 3], 16, -722521979), d, n, e[h + 6], 23, 76029189), t = u(t, d = u(d, n = u(n, c, t, d, e[h + 9], 4, -640364487), c, t, e[h + 12], 11, -421815835), n, c, e[h + 15], 16, 530742520), d, n, e[h + 2], 23, -995338651), t = r(t, d = r(d, n = r(n, c, t, d, e[h + 0], 6, -198630844), c, t, e[h + 7], 10, 1126891415), n, c, e[h + 14], 15, -1416354905), d, n, e[h + 5], 21, -57434055), t = r(t, d = r(d, n = r(n, c, t, d, e[h + 12], 6, 1700485571), c, t, e[h + 3], 10, -1894986606), n, c, e[h + 10], 15, -1051523), d, n, e[h + 1], 21, -2054922799), t = r(t, d = r(d, n = r(n, c, t, d, e[h + 8], 6, 1873313359), c, t, e[h + 15], 10, -30611744), n, c, e[h + 6], 15, -1560198380), d, n, e[h + 13], 21, 1309151649), t = r(t, d = r(d, n = r(n, c, t, d, e[h + 4], 6, -145523070), c, t, e[h + 11], 10, -1120210379), n, c, e[h + 2], 15, 718787259), d, n, e[h + 9], 21, -343485551),
        n = a(n, s),
        c = a(c, l),
        t = a(t, b),
        d = a(d, k)
    }
    return [n, c, t, d]
}

function h(e) {
    for (var n = "0123456789abcdef", c = "", a = 0; a < 4 * e.length; a++)
    c += n.charAt(e[a >> 2] >> a % 4 * 8 + 4 & 15) + n.charAt(e[a >> 2] >> a % 4 * 8 & 15);
    return c
}
<!-- www.lanol.cn lan小站 by:Lan   -->
function s(e) {
    for (var n = 1 + (e.length + 8 >> 6), c = new Array(16 * n), a = 0; a < 16 * n; a++)
    c[a] = 0;
    for (a = 0; a < e.length; a++)
    c[a >> 2] |= (255 & e.charCodeAt(a)) << a % 4 * 8;
    return c[a >> 2] |= 128 << a % 4 * 8,
    c[16 * n - 2] = 8 * e.length,
    c
}
var l = {
    hexMD5: function(e) {
        return h(d(s(e)))
    }
}, b = new RegExp("[`~!@#$%^&*()+=|{}':;',\[\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]"),
    k = (new RegExp("[\u4E00-\u9FFF]+"),

    function(e) {
        var n = ["`", "~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "+", "=", "|", "{", "}", "'", ":", ";", "'", ",", "[", "]", ".", "<", ">", "/", "?", "~", "!", "@", "#", "¥", "%", "…", "…", "&", "*", "(", ")", "—", "—", "+", "|", "{", "}", "【", "】", "‘", ";", ":", "”", "“", "’", "。", ",", "、", "?", '"'],
            c = ["content", "practicePurpose", "practiceContent", "practiceRequirement", "otherRequirement", "practiceDescript", "securityBook", "file", "uploadJson"];
        for (var a in e) {
            var t = e[a] + "";
            t && t.split("").some(function(e, t) {
                if (-1 < n.indexOf(e)) return -1 == c.indexOf(a) && c.push(a), !0
            })
        }
        return c
    })

<!-- www.lanol.cn lan小站 by:Lan   -->
    function LanEncode(e, n) {
        for (var c = ["5", "b", "f", "A", "J", "Q", "g", "a", "l", "p", "s", "q", "H", "4", "L", "Q", "g", "1", "6", "Q", "Z", "v", "w", "b", "c", "e", "2", "2", "m", "l", "E", "g", "G", "H", "I", "r", "o", "s", "d", "5", "7", "x", "t", "J", "S", "T", "F", "v", "w", "4", "8", "9", "0", "K", "E", "3", "4", "0", "m", "r", "i", "n"], a = [], t = 0; t < 62; t++)
        a.push(t + "");
        var i = Math.round((new Date).getTime() / 1e3),
            o = function(e, n) {
                for (var c, a, t = e.slice(0), i = e.length, o = i - n; i-- > o;)
                c = t[a = Math.floor((i + 1) * Math.random())],
                t[a] = t[i],
                t[i] = c;
                return t.slice(o)
            }(a, 20),
            u = "";
        o.forEach(function(e, n) {
            u += c[e]
        });
        var r = function(e) {
            if (null == e) return {};
            for (var n = Object.keys(e).sort(), c = {}, a = 0; a < n.length; a++)
            c[n[a]] = e[n[a]];
            return c
        }(e),
            d = "";
        for (var h in r) - 1 != k().indexOf(h) || b.test(r[h]) || null != r[h] && "" !== r[h] && '""' !== r[h] && (d += r[h]);
        return d += i,
        d = (d = (d = (d = (d = (d = (d = (d = (d += u).replace(/\s+/g, "")).replace(/\n+/g, "")).replace(/\r+/g, "")).replace(/</g, "")).replace(/>/g, "")).replace(/&/g, "")).replace(/-/g, "")).replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g, ""),
        d = encodeURIComponent(d), {
            md5: d = l.hexMD5(d),
            tstr: i,
            iArrStr: o && 0 < o.length ? o.join("_") : ""
        }
    }

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯