震惊!!大模型玩转JS逆向

353 阅读3分钟

不知道大家有没有被JS代码混淆折磨过,我之前搞爬虫的时候,也经常被OB代码混淆搞到心态崩溃,但是自从接触了大模型,腰不疼了,腿不酸了,OB代码直接交给大模型,简直不要太爽

这是一段经过OB混淆之后的代码

(function (_0x3e0fd2, _0x4d9507) {  
    var _0x35a832 = _0x49f9, _0x24b53a = _0x3e0fd2();  
    while (!![]) {  
        try {  
            var _0x384e17 = parseInt(_0x35a832(0x70)) / 0x1 + parseInt(_0x35a832(0x74)) / 0x2 * (parseInt(_0x35a832(0x71)) / 0x3) + parseInt(_0x35a832(0x77)) / 0x4 + -parseInt(_0x35a832(0x7b)) / 0x5 * (-parseInt(_0x35a832(0x78)) / 0x6) + parseInt(_0x35a832(0x6f)) / 0x7 * (-parseInt(_0x35a832(0x72)) / 0x8) + -parseInt(_0x35a832(0x79)) / 0x9 * (parseInt(_0x35a832(0x76)) / 0xa) + -parseInt(_0x35a832(0x75)) / 0xb * (parseInt(_0x35a832(0x7a)) / 0xc);  
            if (_0x384e17 === _0x4d9507) break; else _0x24b53a['push'](_0x24b53a['shift']());  
        } catch (_0x2befb5) {  
            _0x24b53a['push'](_0x24b53a['shift']());  
        }  
    }  
}(_0x396e, 0xad666));  
  
function hi() {  
    var _0x20619c = _0x49f9;  
    console[_0x20619c(0x73)]('Hello\x20World!');  
}  
  
function _0x49f9(_0x30b03a, _0x5089e4) {  
    var _0x396e7c = _0x396e();  
    return _0x49f9 = function (_0x49f929, _0x5aa706) {  
        _0x49f929 = _0x49f929 - 0x6f;  
        var _0x1df762 = _0x396e7c[_0x49f929];  
        return _0x1df762;  
    }, _0x49f9(_0x30b03a, _0x5089e4);  
}  
  
hi();  
  
function _0x396e() {  
    var _0x20721f = ['26vRQjos''352XPZRnp''198430jvTVQT''5553740GCzFmR''6723558KGzclN''9lDhkVw''858180FVJhEP''5eMHKUA''5257oBQoZa''397536fXbNYr''145083vijLVr''5504RSNMkb''log'];  
    _0x396e = function () {  
        return _0x20721f;  
    };  
    return _0x396e();
}

大家也可以自行解一下,看看和大模型最终解出来的结果进行对比

我放一个ChatGPT3.5的截图

image.png

大家自行感受一下!!!! 虽然这个案例还不能说明什么,但是大模型在面对JS逆向的代码混淆,可以给大家一个思路,可以根据这个思路来进行还原。强烈建议爬虫工程师学习一下大模型!!!