图灵爬虫练习平台 第十四题 逆向

发布于:2025-05-14 ⋅ 阅读:(11) ⋅ 点赞:(0)

题十四:神枪手
该题适合JS逆向进阶人群练习,对请求参数做了特殊处理。如果首次进入页面后无数据请手动刷新浏览器


先看看他是什么加密,发现这里是参数加密

m:  MTBjNzE3NDcxMTcxNTM4NTQA

还是老套路,进行堆栈分析,查看堆栈

打断点观察

继续打断点观察

找到加密的地方了,打断点进去看看

扣代码

ts = new Date()['\x67\x65\x74\x54\x69\x6d\x65'](),
            dd = b;
            var p = function(N) {
                const M = __sk_Q;
                let W = 0x2 * 0xf7f + 0x1 * -0x1af9 + -0x93 * 0x7;
                for (let L = 0x1 * 0x17bf + -0x1fff * -0x1 + -0x37be; f['\x52\x4c\x76\x74\x74'](L, N['\x6c\x65\x6e\x67\x74\x68']); L++) {
                    var O = N['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](L);
                    for (let y = -0x1034 + -0x2131 + -0x2d * -0x119; y < -0x1ecd + -0x222c + 0x410d; y++)
                        switch (f[M(__sk_GH.G)](y, 0x268a * -0x1 + -0x95c * -0x1 + -0x1d31 * -0x1)) {
                        case 0x2d6 * 0xb + 0x2 * -0x3d + -0x1eb8:
                            W = B['\x61\x70\x70\x6c\x79'](null, [W, O, y]);
                            break;
                        case -0x1a2f + -0x2448 + 0x3e78 * 0x1:
                            W = J['\x61\x70\x70\x6c\x79'](null, [W, O, y]);
                            break;
                        case 0x2c3 + -0x1 * 0x244d + 0x218c:
                            W = Y[M(0x197)](null, [W, O]);
                        }
                }
                return W;
            }(z['\x79\x45\x7a\x65\x4c'] + ts)
              , s = ['\x3f', '\x6d', '\x3d'][a(0x18e)]('')
              , p = p['\x74\x6f\x53\x74\x72\x69\x6e\x67'](0x1 * 0x16c3 + -0x1887 * 0x1 + -0x9 * -0x34);
            return dd += z['\x66\x44\x61\x77\x78'](s, function(N) {
                const q = a;
                var W = z['\x47\x79\x67\x58\x59'];
                let O = '', L, y, k, H, D, K, S, I = 0xe * -0xdd + 0x3ad + 0x869;
                for (; z['\x42\x6f\x68\x51\x71'](I, N['\x6c\x65\x6e\x67\x74\x68']); )
                    L = N['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](I++),
                    y = z['\x5a\x6d\x62\x4f\x61'](I, N['\x6c\x65\x6e\x67\x74\x68']) ? N['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](I++) : -0x18f3 * -0x1 + -0xc5b * 0x3 + 0xc1e,
                    k = I < N[q(__sk_GD.G)] ? N['\x63\x68\x61\x72\x43\x6f\x64\x65\x41\x74'](I++) : 0x1 * 0x4bf + -0xaf7 + -0x4 * -0x18e,
                    H = L >> -0x7fb + -0x1ba1 + -0x2 * -0x11cf,
                    D = (-0x39a * 0x1 + -0x5e * -0x35 + -0x1 * 0xfd9 & L) << -0x13b7 * -0x1 + 0xae9 + -0x1e9c | z['\x78\x42\x55\x50\x41'](y, -0x959 * 0x2 + -0x273 * -0xa + -0x5c8),
                    K = z['\x73\x69\x64\x59\x79'](z['\x66\x59\x61\x6c\x4d'](0x3 * 0xceb + 0xf0 + -0x27a2 & y, -0x45d * -0x1 + -0x24b0 + 0x2055), z[q(__sk_GD.F)](k, 0x19a7 + 0x2d * -0xb2 + 0xcf * 0x7)),
                    S = -0x283 + 0x178b + -0x14c9 & k,
                    isNaN(y) ? K = S = 0x1058 + 0x67 * -0x61 + -0x7a5 * -0x3 : z[q(0x194)](isNaN, k) && (S = 0x13 * -0x20c + 0x2 * -0x1079 + -0x1 * -0x4816),
                    O = z['\x66\x44\x61\x77\x78'](O, W['\x63\x68\x61\x72\x41\x74'](H)) + W[q(0x181)](D) + W[q(0x181)](K) + W['\x63\x68\x61\x72\x41\x74'](S);
                return O;
            }(z['\x66\x44\x61\x77\x78'](p, ts)));
        }

然后就是开始运行补代码


网站公告

今日签到

点亮在社区的每一天
去签到