《封号码罗》关于js逆向猿人学第二题cookies里面m值的获取[纯扣算法](二十六)

python爬虫 - 猿人学第十九题突破ja3指纹验证 ja3指纹破解,骚操作删除原生加密算法 阅读详情

这一题有点儿误打误撞的感觉。
在这里插入图片描述
本题使用了抓包工具Fiddler,m值在cookie里面,而且这个cookie是本地生成的
在这里插入图片描述
抓包发现有两次请求,第一次返回了一堆JS,而且cookie里面没有m值,第二次请求就带上了m值,所以m应该是返回的JS生成的,所以对返回的JS复制下来进行分析
在这里插入图片描述
复制下来之后就是一堆这玩意儿,不太好读代码,先用工具解混淆
在这里插入图片描述

然后代码就容易阅读了
在这里插入图片描述

分析代码,先看看cookie的格式

document["cookie"] = "m" + _0x18af09() + "=" + _0x102a4a(_0xa9034b) + "|" + _0xa9034b + "; path=/";
m=777a08f281273fa63d279a12282a27c5|1684832974000

从上面就可以分析出来:_0x18af09()这个肯定返回了一个空字符串,所以重点应该是_0x102a4a(_0xa9034b),它生成了m前段的值,_0x102a4a这个函数接收的参数,是一个时间戳

在这里插入图片描述
用颜色区分,更容易观察_0x18af09这个方法既然返回了一个空,会不会内部有别的操作,查看这个函数发现,它是对代码是否格式化的检测,是反爬虫调试的,所以这个方法的调用全部注释掉,然后把自执行函数修改删除,整理之后的代码:

qz = [10, 99, 111, 110, 115, 111, 108, 101, 32, 61, 32, 110, 101, 119, 32, 79, 98, 106, 101, 99, 116, 40, 41, 10, 99, 111, 110, 115, 111, 108, 101, 46, 108, 111, 103, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 115, 41, 32, 123, 10, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 49, 41, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 40, 105, 61, 48, 59, 105, 60, 49, 49, 48, 48, 48, 48, 48, 59, 105, 43, 43, 41, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 105, 115, 116, 111, 114, 121, 46, 112, 117, 115, 104, 83, 116, 97, 116, 101, 40, 48, 44, 48, 44, 105, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 125, 10, 99, 111, 110, 115, 111, 108, 101, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 39, 91, 111, 98, 106, 101, 99, 116, 32, 79, 98, 106, 101, 99, 116, 93, 39, 10, 99, 111, 110, 115, 111, 108, 101, 46, 108, 111, 103, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 39, 402, 32, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 32, 123, 32, 91, 110, 97, 116, 105, 118, 101, 32, 99, 111, 100, 101, 93, 32, 125, 39, 10];

var _0x59ccfb = function () {
    var _0x1b4dea = true;
    return function (_0x259216, _0x3577c6) {
        var _0xbb162d = _0x1b4dea ? function () {
            if (_0x3577c6) {
                var _0x12d896 = _0x3577c6["apply"](_0x259216, arguments);

                _0x3577c6 = null;
                return _0x12d896;
            }
        } : function () {
        };

        _0x1b4dea = false;
        return _0xbb162d;
    };
}();

var _0x18fc8e = function () {
    var _0x3239bd = true;
    return function (_0x326b22, _0x4e96d2) {
        var _0x227598 = _0x3239bd ? function () {
            if (_0x4e96d2) {
                var _0x656b78 = _0x4e96d2["apply"](_0x326b22, arguments);

                _0x4e96d2 = null;
                return _0x656b78;
            }
        } : function () {
        };

        _0x3239bd = false;
        return _0x227598;
    };
}();

function _0x14c966(_0x194910, _0x173b58) {
    var _0x260bc5 = (65535 & _0x194910) + (65535 & _0x173b58);

    return (_0x194910 >> 16) + (_0x173b58 >> 16) + (_0x260bc5 >> 16) << 16 | 65535 & _0x260bc5;
}

function _0x5dfa06(_0x532a20, _0x533aa9) {
    return _0x532a20 << _0x533aa9 | _0x532a20 >>> 32 - _0x533aa9;
}

function _0x3e81cf(_0x2792eb, _0x1d0738, _0x501597, _0x34858a, _0x25d2b3, _0x19aa5a) {
    return _0x14c966(_0x5dfa06(_0x14c966(_0x14c966(_0x1d0738, _0x2792eb), _0x14c966(_0x34858a, _0x19aa5a)), _0x25d2b3), _0x501597);
}

function _0x3a2b5a(_0x151a19, _0x5a4430, _0x2b266e, _0x15b1ee, _0x17080a, _0x49e3f9, _0x5c1555) {
    return _0x3e81cf(_0x5a4430 & _0x2b266e | ~_0x5a4430 & _0x15b1ee, _0x151a19, _0x5a4430, _0x17080a, _0x49e3f9, _0x5c1555);
}

function _0x440c24(_0x369c8e, _0x2f6fcc, _0xef60f4, _0x51bb51, _0x5f270f, _0x14b623, _0xc35404) {
    return _0x3e81cf(_0x2f6fcc & _0x51bb51 | _0xef60f4 & ~_0x51bb51, _0x369c8e, _0x2f6fcc, _0x5f270f, _0x14b623, _0xc35404);
}

function _0x5b940e(_0x4d19ec, _0x1595e6) {
    let _0x5e3c9d = [99, 111, 110, 115, 111, 108, 101];
    let _0xb76cea = "";

    for (let _0x508a42 = 0; _0x508a42 < _0x5e3c9d["length"]; _0x508a42++) {
        _0xb76cea += String["fromCharCode"](_0x5e3c9d[_0x508a42]);
    }

    return _0xb76cea;
}

function _0x31fb05(_0xd9e3c1, _0x329f8c, _0x541e60, _0x22212f, _0x5cab07, _0x4e80d7, _0x4571e1) {
    return _0x3e81cf(_0x329f8c ^ _0x541e60 ^ _0x22212f, _0xd9e3c1, _0x329f8c, _0x5cab07, _0x4e80d7, _0x4571e1);
}

function _0x1386af(_0xa56ba0, _0x45215a, _0x29d4f5, _0x28549f, _0xa8a737, _0x4b3f90, _0x3049c4) {
    return _0x3e81cf(_0x29d4f5 ^ (_0x45215a | ~_0x28549f), _0xa56ba0, _0x45215a, _0xa8a737, _0x4b3f90, _0x3049c4);
}

function _0x4663ee(_0xaed4be, _0x6dee0e) {
    if (_0x6dee0e) {
        return _0x1386af(_0xaed4be);
    }

    return _0x5b940e(_0xaed4be);
}

function _0x8043ca(_0x3e86ac, _0x28fb3c) {
    let _0x5e1dda = "";

    for (let _0x2aa724 = 0; _0x2aa724 < _0x3e86ac["length"]; _0x2aa724++) {
        _0x5e1dda += String["fromCharCode"](_0x3e86ac[_0x2aa724]);
    }

    return _0x5e1dda;
}

function _0x18af09(_0x1388af, _0x250fcc) {
    return ""
    var _0x492e01 = _0x59ccfb(this, function () {
        var _0xe6462d = function () {
            var _0x462b61 = _0xe6462d["constructor"]("return /\" + this + \"/")()["compile"]("^([^ ]+( +[^ ]+)+)+[^ ]}");

            return !_0x462b61["test"](_0x492e01);
        };

        return _0xe6462d();
    });

    _0x492e01();

    (function () {
        _0x18fc8e(this, function () {
            var _0x340927 = new RegExp("function *\\( *\\)");

            var _0x4466d1 = new RegExp("\\+\\+ *(?:[a-zA-Z_$][0-9a-zA-Z_$]*)", "i");

            var _0xc20892 = $dbsm_0x9b56a8("init");

            if (!_0x340927["test"](_0xc20892 + "chain") || !_0x4466d1["test"](_0xc20892 + "input")) {
                _0xc20892("0");
            } else {
                $dbsm_0x9b56a8();
            }
        })();
    })();

    _0x4663ee();

    qz = [10, 99, 111, 110, 115, 111, 108, 101, 32, 61, 32, 110, 101, 119, 32, 79, 98, 106, 101, 99, 116, 40, 41, 10, 99, 111, 110, 115, 111, 108, 101, 46, 108, 111, 103, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 40, 115, 41, 32, 123, 10, 32, 32, 32, 32, 119, 104, 105, 108, 101, 32, 40, 49, 41, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 40, 105, 61, 48, 59, 105, 60, 49, 49, 48, 48, 48, 48, 48, 59, 105, 43, 43, 41, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 105, 115, 116, 111, 114, 121, 46, 112, 117, 115, 104, 83, 116, 97, 116, 101, 40, 48, 44, 48, 44, 105, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 10, 125, 10, 99, 111, 110, 115, 111, 108, 101, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 39, 91, 111, 98, 106, 101, 99, 116, 32, 79, 98, 106, 101, 99, 116, 93, 39, 10, 99, 111, 110, 115, 111, 108, 101, 46, 108, 111, 103, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 39, 402, 32, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 32, 123, 32, 91, 110, 97, 116, 105, 118, 101, 32, 99, 111, 100, 101, 93, 32, 125, 39, 10];
    eval(_0x8043ca(qz));

    try {
        if (global) {
            console["log"]("人生苦短,何必python?");
        } else {
            while (1) {
                console["log"]("人生苦短,何必python?");
                debugger;
            }
        }
    } catch (_0x4a1afa) {
        return navigator["vendorSub"];
    }
}

// setInterval(_0x18af09(), 500);

function _0x1fe562(_0x599b70, _0x16a6a9) {
    _0x599b70[_0x16a6a9 >> 5] |= 128 << _0x16a6a9 % 32, _0x599b70[14 + (_0x16a6a9 + 64 >>> 9 << 4)] = _0x16a6a9;

    if (qz) {
        var _0x361523,
            _0x31dd72,
            _0x954427,
            _0x4cb172,
            _0x3bf2cc,
            _0x5dd2eb = 1732584193,
            _0x5793bb = -271733879,
            _0x359294 = -1732584194,
            _0x16e6cd = 271733878;
    } else {
        var _0x361523,
            _0x31dd72,
            _0x954427,
            _0x4cb172,
            _0x3bf2cc,
            _0x5dd2eb = 0,
            _0x5793bb = -0,
            _0x359294 = -0,
            _0x16e6cd = 0;
    }

    for (_0x361523 = 0; _0x361523 < _0x599b70["length"]; _0x361523 += 16) _0x31dd72 = _0x5dd2eb, _0x954427 = _0x5793bb, _0x4cb172 = _0x359294, _0x3bf2cc = _0x16e6cd, _0x5dd2eb = _0x3a2b5a(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523], 7, -680876936), _0x16e6cd = _0x3a2b5a(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 1], 12, -389564586), _0x359294 = _0x3a2b5a(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 2], 17, 606105819), _0x5793bb = _0x3a2b5a(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 3], 22, -1044525330), _0x5dd2eb = _0x3a2b5a(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 4], 7, -176418897), _0x16e6cd = _0x3a2b5a(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 5], 12, 1200080426), _0x359294 = _0x3a2b5a(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 6], 17, -1473231341), _0x5793bb = _0x3a2b5a(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 7], 22, -45705983), _0x5dd2eb = _0x3a2b5a(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 8], 7, 1770010416), _0x16e6cd = _0x3a2b5a(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 9], 12, -1958414417), _0x359294 = _0x3a2b5a(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 10], 17, -42063), _0x5793bb = _0x3a2b5a(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 11], 22, -1990404162), _0x5dd2eb = _0x3a2b5a(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 12], 7, 1804603682), _0x16e6cd = _0x3a2b5a(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 13], 12, -40341101), _0x359294 = _0x3a2b5a(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 14], 17, -1502882290), _0x5793bb = _0x3a2b5a(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 15], 22, 1236535329), _0x5dd2eb = _0x440c24(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 1], 5, -165796510), _0x16e6cd = _0x440c24(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 6], 9, -1069501632), _0x359294 = _0x440c24(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 11], 14, 643717713), _0x5793bb = _0x440c24(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523], 20, -373897302), _0x5dd2eb = _0x440c24(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 5], 5, -701558691), _0x16e6cd = _0x440c24(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 10], 9, 38016083), _0x359294 = _0x440c24(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 15], 14, -660478335), _0x5793bb = _0x440c24(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 4], 20, -405537848), _0x5dd2eb = _0x440c24(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 9], 5, 568446438), _0x16e6cd = _0x440c24(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 14], 9, -1019803690), _0x359294 = _0x440c24(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 3], 14, -187363961), _0x5793bb = _0x440c24(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 8], 20, 1163531501), _0x5dd2eb = _0x440c24(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 13], 5, -1444681467), _0x16e6cd = _0x440c24(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 2], 9, -51403784), _0x359294 = _0x440c24(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 7], 14, 1735328473), _0x5793bb = _0x440c24(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 12], 20, -1926607734), _0x5dd2eb = _0x31fb05(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 5], 4, -378558), _0x16e6cd = _0x31fb05(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 8], 11, -2022574463), _0x359294 = _0x31fb05(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 11], 16, 1839030562), _0x5793bb = _0x31fb05(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 14], 23, -35309556), _0x5dd2eb = _0x31fb05(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 1], 4, -1530992060), _0x16e6cd = _0x31fb05(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 4], 11, 1272893353), _0x359294 = _0x31fb05(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 7], 16, -155497632), _0x5793bb = _0x31fb05(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 10], 23, -1094730640), _0x5dd2eb = _0x31fb05(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 13], 4, 681279174), _0x16e6cd = _0x31fb05(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523], 11, -358537222), _0x359294 = _0x31fb05(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 3], 16, -722521979), _0x5793bb = _0x31fb05(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 6], 23, 76029189), _0x5dd2eb = _0x31fb05(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 9], 4, -640364487), _0x16e6cd = _0x31fb05(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 12], 11, -421815835), _0x359294 = _0x31fb05(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 15], 16, 530742520), _0x5793bb = _0x31fb05(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 2], 23, -995338651), _0x5dd2eb = _0x1386af(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523], 6, -198630844), _0x16e6cd = _0x1386af(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 7], 10, 1126891415), _0x359294 = _0x1386af(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 14], 15, -1416354905), _0x5793bb = _0x1386af(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 5], 21, -57434055), _0x5dd2eb = _0x1386af(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 12], 6, 1700485571), _0x16e6cd = _0x1386af(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 3], 10, -1894986606), _0x359294 = _0x1386af(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 10], 15, -1051523), _0x5793bb = _0x1386af(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 1], 21, -2054922799), _0x5dd2eb = _0x1386af(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 8], 6, 1873313359), _0x16e6cd = _0x1386af(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 15], 10, -30611744), _0x359294 = _0x1386af(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 6], 15, -1560198380), _0x5793bb = _0x1386af(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 13], 21, 1309151649), _0x5dd2eb = _0x1386af(_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd, _0x599b70[_0x361523 + 4], 6, -145523070), _0x16e6cd = _0x1386af(_0x16e6cd, _0x5dd2eb, _0x5793bb, _0x359294, _0x599b70[_0x361523 + 11], 10, -1120210379), _0x359294 = _0x1386af(_0x359294, _0x16e6cd, _0x5dd2eb, _0x5793bb, _0x599b70[_0x361523 + 2], 15, 718787259), _0x5793bb = _0x1386af(_0x5793bb, _0x359294, _0x16e6cd, _0x5dd2eb, _0x599b70[_0x361523 + 9], 21, -343485441), _0x5dd2eb = _0x14c966(_0x5dd2eb, _0x31dd72), _0x5793bb = _0x14c966(_0x5793bb, _0x954427), _0x359294 = _0x14c966(_0x359294, _0x4cb172), _0x16e6cd = _0x14c966(_0x16e6cd, _0x3bf2cc);

    return [_0x5dd2eb, _0x5793bb, _0x359294, _0x16e6cd];
}

function _0x2346e9(_0x4d9284) {
    var _0x1fd9c9,
        _0x4b8675 = "",
        _0x2f47db = 32 * _0x4d9284["length"];

    for (_0x1fd9c9 = 0; _0x1fd9c9 < _0x2f47db; _0x1fd9c9 += 8) _0x4b8675 += String["fromCharCode"](_0x4d9284[_0x1fd9c9 >> 5] >>> _0x1fd9c9 % 32 & 255);

    return _0x4b8675;
}

function _0x27ac36(_0x22c48b) {
    var _0x577c64,
        _0x12d6a3 = [];

    for (_0x12d6a3[(_0x22c48b["length"] >> 2) - 1] = undefined, _0x577c64 = 0; _0x577c64 < _0x12d6a3["length"]; _0x577c64 += 1) _0x12d6a3[_0x577c64] = 0;

    var _0x178524 = 8 * _0x22c48b["length"];

    for (_0x577c64 = 0; _0x577c64 < _0x178524; _0x577c64 += 8) _0x12d6a3[_0x577c64 >> 5] |= (255 & _0x22c48b["charCodeAt"](_0x577c64 / 8)) << _0x577c64 % 32;

    return _0x12d6a3;
}

function _0x27ecce(_0x3b44de) {
    return _0x2346e9(_0x1fe562(_0x27ac36(_0x3b44de), 8 * _0x3b44de["length"]));
}

function _0x463191(_0x3c0f1f) {
    var _0xe992bf,
        _0x201108,
        _0x1f0b5c = "0123456789abcdef",
        _0xad0964 = "";

    for (_0x201108 = 0; _0x201108 < _0x3c0f1f["length"]; _0x201108 += 1) _0xe992bf = _0x3c0f1f["charCodeAt"](_0x201108), _0xad0964 += _0x1f0b5c["charAt"](_0xe992bf >>> 4 & 15) + _0x1f0b5c["charAt"](15 & _0xe992bf);

    return _0xad0964;
}

function _0x2f7178(_0x350477) {
    return unescape(encodeURIComponent(_0x350477));
}

function _0x569bb2(_0x2d13e0) {
    return _0x27ecce(_0x2f7178(_0x2d13e0));
}

function _0x2da53f(_0x36e146) {
    return _0x463191(_0x569bb2(_0x36e146));
}

function _0x102a4a(_0x48c91d, _0x1d3f1f, _0x56b51e) {
    // _0x18af09();
    if (_0x1d3f1f) {
        if (_0x56b51e) {
            return _0x5b940e(_0x1d3f1f, _0x48c91d);
        } else {
            return y(_0x1d3f1f, _0x48c91d);
        }
    } else if (_0x56b51e) {
        return _0x569bb2(_0x48c91d);
    } else {
        return _0x2da53f(_0x48c91d);
    }
    // return _0x1d3f1f ? _0x56b51e ? _0x5b940e(_0x1d3f1f, _0x48c91d) : y(_0x1d3f1f, _0x48c91d) : _0x56b51e ? _0x569bb2(_0x48c91d) : _0x2da53f(_0x48c91d);
}

function _0x1208e3(_0xa9034b, _0x12cfdf) {
    // var cookie = "m" + _0x18af09() + "=" + _0x102a4a(_0xa9034b) + "|" + _0xa9034b + "; path=/";
    var cookie ={};
    cookie["m"] = _0x102a4a(_0xa9034b) + "|" + _0xa9034b
    // location["reload"]();
    return cookie
}

function _0x413192(_0x406c9e, _0x773f57) {
    return Date["parse"](new Date());
}


function get_js_m() {
    var m = _0x1208e3(_0x413192());
    // console.log(m);
    return m["m"]
}

get_js_m()
# -*-coding: utf-8 -*-
# @Time    : 2023/5/23 17:44
# @Author  : allen
# @File    : match_01.py
# @Software: PyCharm
import os
import execjs
import requests
import jsonpath

os.environ["EXECJS_RUNTIME"] = "Node"

headers = {
    'User-Agent': 'yuanrenxue.project'
}


def get_m():
    ctx = execjs.compile(open("match_03.js", encoding="utf-8").read())
    data = ctx.call('get_js_m')
    return data


# get_m()

value = 0
for index in range(1, 6):
    m = get_m()
    cookies = {
        "m": m
    }
    url = f"https://match.yuanrenxue.cn/api/match/2?page={index}"
    res = requests.get(url, headers=headers, cookies=cookies).json()
    print(res)
    value += sum(jsonpath.jsonpath(res, '$..value'))
print(value / 50)

在这里插入图片描述
坑1:定时器和debugger函数直接删
在这里插入图片描述
坑2:也不算是坑,只是不太方便读的三元表达式,转化成if-else更方便读
在这里插入图片描述
这一点:chatGPT能帮忙解决
在这里插入图片描述
需要chatGPT账号的,可以联系作者获取,微信:gcw-410,昵称:浅情人不知,备注:chatGPT

猿人学第二届第二题 第一处是第二处拼接了个时间戳,时间戳好弄,要么是new Date生成的,要么是刚才那个图片包返回的,还有一处是第二处去掉来token=,所以我们直接跟这个变量,很容易就找到生成的地方。每次分页明显抓到两个包,一个数据包一个图片包,但这个图片包很奇怪,每次返回同样的,明显不合理,用fidder抓包或者python逆向下这个包,可以看到是返回一个时间戳。到这儿别慌,这是内存爆破引起的,碰到这样的问题,极大可能是格式监测引起的,我们可以借助压缩代码网站,把格式化后的代码还原回去。那就极大可能是缺少环境。 阅读详情

相关推荐

全网最全vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法)

markdown-it | markdown-it 中文文档上面的是 markdown-it 中文文档链接 ,供参考使用核心的东西就这些啦,如果有其他想问的,评论区留言即可~博客写作不易,希望大家多多支持,多多捧场~~~最后给大家分享一下 typed.js 网址,网上比较多,我觉得这个比较好理解一些Typed.js - Type your heart out (mattboldt.github.io)[这里是图片011]https://mattboldt.github.io/typed.js/

m0_74825108的博客 3056

【猿人学】第一题详细解题步骤(附带源码)

我们直接把函数拷贝至新建的代码段中执行,然后控制台输出加密逻辑的几个变量,如下。我们在浏览器新建个无痕模式,把上述代码拷贝过来然后执行一下。老规矩,我们先抓包分析下,加密参数如下,没有什么难度。生成的结果是不同的,感兴趣的可以自己测试一下。实现完整的请求流程,完整代码如下,需要的自取。接下来我们先观察下启动器,加密逻辑不可能在。文件中的,排除这个选项后,如下图。填入上述计算的结果即可,如下图。然后再点击下一页,发现断住了。,再结合作者要考察的目标。还原下,还原核心如下。编码的字符串,我们对。

学海无涯 5685

RTX 50系显卡实战3DGS:从源码编译到避坑指南

本文详细介绍了在RTX 50系显卡上成功运行3D Gaussian Splatting(3DGS)的完整实战指南。针对新显卡架构与旧版预编译包不兼容的核心问题,文章提供了从源码编译CUDA扩展的清晰步骤,包括环境配置、依赖安装、核心模块diff-gaussian-rasterization和simple-knn的编译避坑方法,并涵盖了数据准备、模型训练与实时预览的全流程,帮助开发者高效利用新硬件进行3D重建。

weixin_28314575的博客 261

猿人学-第一题

猿人学-第一题

爱吃辣椒的锅包肉 1292

WSL子系统启动报错 Wsl/Service/CreateInstance/CreateVm/HCS_E_SERVICE_NOT_AVAILABLE

WSL子系统启动报错 :Wsl/Service/CreateInstance/CreateVm/HCS_E_SERVICE_NOT_AVAILABLE 于是分析原因,最终发现是Windows功能中的虚拟机平台功能不知道什么时候被取消了。

Linux I Tell U 6万+

PostgreSQL 在 Windows操作系统 无管理员权限情况下的部署详解

但是因为使用默认5432端口,我们修改了端口,所以连接报错,需要修改local连接信息,右键-属性修改相应信息即可,方式同上。(也别太任意吧,个人习惯工具放在不包含中文及特殊字符的目录,另外目录名尽量简短,避免不必要的麻烦)图中我解压到了自己的tools\postgresql18。1)如果想修改默认的5432端口,找到初始化目录中的(上面的tools\postgresql18\。此处替换成你的实际目录\tools\postgresql18\pgsql\pgAdmin 4\runtime。

dong_zhi2328的博客 1116

猿人学第一题超详细-JS逆向过程

转自 [ 不止于python ] 目标网站 https://match.yuanrenxue.com/match/1 目标要求 抓取所有(5页)机票的价格,并计算所有机票价格的平均值,填入答案。 网站分析 这种js逆向的问题, 首先要打开开发者工具(控制台),刷新网页,很明显这个地址, 就是我们要破解的url https://match.yuanrenxue.com/api/ma...

不止于Python 4533

YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计

实时检测器架构的轻量级设计GsConv。

Limiiiing的博客 2310

猿人学刷题系列(第一届比赛)——第一题

本文为猿人学第一届竞赛web题目第一题解题流程讲解,思路仅供参考,如有疑惑或涉及其他问题请私聊本人!!

weixin_43770993的博客 7870

【华为OD技术面试手撕真题】25、验证IP地址 | 手撕真题+思路参考+代码解析(C & C++ & Java & Python & JS)

验证IP地址 华为od机试真题,华为OD技术二面,华为od机考,华为od手撕真题,华为od技术二面,华为od机试,华为OD机试的高频手撕代码题,华为od八股文

KJ.JK 4043

基于STM32设计的智能家居系统(采用ESP8266+OneNet云平台)

一、环境介绍 单片机采用:STM32F103C8T6 上网方式:采用ESP8266,也可以使用其他设备代替,只要支持TCP协议即可。比如:GSM模块、有线网卡等。 云平台: 采用中国移动OneNet. 也可以采用腾讯、阿里云、华为云、百度天工物接入、机智云等等。 前面文章有讲解。 协议: 采用MQTT协议 开发软件:keil5 完整项目源码下载:https://download.youkuaiyun.com/download/xiaolong1126626497/19766925 二、包含的硬件与实...

1万+

猿人学第1题(一天搞一个)

文章目录前言1. 加密方法1.1 加密寻找1.2 加密内容2. 代码实现2.1 完整版代码2.2 python函数总结2.3 注意 前言 前言已无需多言,干就完事儿了。 今日拿下猿人学第1题(一天搞一个)js混淆-源码乱码。 不睡也要完成。 1. 加密方法 1.1 加密寻找 F12直接打开,傻眼。 1.2 加密内容 2. 代码实现 2.1 完整版代码 2.2 python函数总结 2.3 注意 ...

m0_37881731的博客 1511

115网页版VR模式终于能用了!电脑直接播放vr视频沉浸感满满 115vr播放 无需vr头盔播放vr视频 在线vr播放器 115网盘360度视频播放方法 115全景视频播放教程

油猴 + 脚本让你网页端直接开启 VR 模式支持 360 视频拖动视角,非常沉浸适合电脑设备直接用无需vr头盔也能轻松畅看vr视频,希望也能帮到你。如果你也被 115 的限制搞烦了,不妨试试这招。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 5710

JS逆向-补环境之同花顺cookie中的v参数

JS逆向-补环境之同花顺cookie中的v参数

Hamsung 3548

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

爬虫逆向学习(一):详解某翻译平台cookie和签名参数生成

某翻译平台cookie和签名参数逆向破解

九月镇灵将的博客 2983

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

JS逆向---cookie反爬虫系列(阿里系逆向-实战解析)

Cookie 反爬虫指的是服务器端通过校验请求头中的 Cookie 值来区分正常用户和爬虫程序的手段,这种手段被广泛应用在 Web 应用中。这次主要是对各类cookie值加密的网站情况进行分析学习响应cookie和session的处理学习基于首页返回的cookie值声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关。

m0_52336378的博客 5420

关于javaScript逆向hook里面的cookie以及其他常用hook汇总

个人理解:hook某个元素,实际上就是定位某个元素,例如cookie里面有个abc为名字,123为值,我们要查找设置cookie={abc:123}的位置,首先就要知道,cookie的设置是set方法,再例如发送一个ajax请求,就需要明确的知道,发送ajax需要有一个XMLHttpRequest对象,这个对象会用到open方法,在open方法中使用了url,要hook到url,实际上就是对open方法的重写,同理,hook到cookie时,也是对设置cookie的set方法进行重写...

Python_DJ的博客 8209

猿人学第一题尝试分析【混淆,改写】

猿人学JS逆向大赛第一题,分析 地址:https://match.yuanrenxue.com/match/1 第一步,解决Debug问题 添加一个条件断点 这样添加条件断点后,就不会一直触发Debug调试了 第二步,找到接口Api 随机翻页一次,会出现一个请求 可以看到,请求中出现了page参数,还有一个未知参数 m 此次分析主要围绕m的产生,进行分析。 通过查看启动方式,找到这个地方 此时跟踪进入后,可以看到 所有的JS代码全部是被混淆过的,我们复制全部,使用猿人学自己的反混淆工具 地址 htt

贰月的博客 934

猿人学第20题详解

猿人学--20题--动态调试

not_python1的博客 1022

猿人学第一题(详细解题)

猿人学第一题解题思路及代码

weixin_44492045的博客 1180

猿人学-第三题

那么用户应该考虑在 Session 对象上面设置默认 header,只要将 Session 设为一个定制的 OrderedDict 即可。这样就会让它成为优选的次序。requests 库 的header排序是会被优先选择的,而 Session对象中不会。发现访问并没有返回到cookie, 对网页端和python模拟进行对比发现。可以看到会请求两个请求, 第一个请求返回。,第二个请求带上就可以访问。对生成数据的接口进行。进行重放, 发现数据。...

爱吃辣椒的锅包肉 1623

猿人学第一届第一题

可以看出m值重点是_0x57feae这个变量值,那就将断点走到_0x57feae = oo0O0(_0x2268f9['\x74\x6f\x53\x74\x72' + '\x69\x6e\x67']()) + window['\x66']这个赋值的地方,可以看出oo0O0(_0x2268f9['\x74\x6f\x53\x74\x72' + '\x69\x6e\x67']())这部分为‘’ 空字符串,主要是 window['\x66']也就是window.f的值,window.f在哪里定义的呢,不好找啊。

zhuangjoo的博客 1259

猿人学第20题(题目会不定时更新)

今天突然来感觉想写点什么,但是最近确实没啥技术长进,没东西可写。看了看文章发现好久没写猿人学的东西了,就去猿人学比赛网站逛了一圈,发现最新出来的20题还没有去搞,这怎么可以!但是自己也没啥wasm逆向的经验,在网上看了一下,也都是一些rpc的方案,正好这次就补充学习一下了什么是wasm:参考链接 在开始做题前呢先熟悉一下wasm,进入20题,f12查看参数发现需要解决的只有一个sign,老规矩点击调用堆栈信息进入发包位置: 可以看出sign是由页码加上时间戳经过方法之后返回的加密结果: 继续跟进,打断点进

Ig_thehao的博客 2995

JS逆向系列-猿人学web第一题

JS逆向系列-猿人学web第一题 富有的,给他更多;没有的,把他仅有的也拿走。 爬虫真是一个有意思的东西,简单的页面,不费力就能爬取,复杂的页面,费尽心思也不知如何爬取。就像玩游戏,刚开始时在新手村砍稻草人,等出了新手村,你面对的直接就是最终boss。 最近有点喜欢爬虫js逆向了,喜欢那种被虐的死去活来,悲痛欲绝的感觉(没错说的就是你,只狼)。 最近学习爬虫,发现网上免费的资料教程,要么很简单,在headers中添加user-agent就能爬取,要么很高深,照着读了好几篇也搞不懂到底是怎么实现的,并且还

sinat_41715275的博客 511

猿人学第一题逆向记录

猿人学第一题练习,有记录逆向的过程。

m0_62988083的博客 1257
上一篇: 《封号码罗》关于js逆向猿人学第一题m值的获取[纯扣代码](二十五)
下一篇: 《封号码罗》关于js逆向猿人学第六题m和q值的获取[纯扣算法](二十七)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值