混同是一种罕用的 JavaScript 优化技术,它通过将代码重新命名、删除正文、简化代码等形式来减小代码体积和减少代码难度。

然而,有时候咱们须要查看混同后的代码,或者心愿将其转换回原始的未混同的版本。这时,就须要应用解密工具或者服务。

废话不多说了,贴一个昨天解的JS,局部源码如下

function F() {            var b0 = a6              , L = {                'yZsYB': function(U) {                    var aZ = b;                    return c[aZ(0x19f)](U);                },                'VghoS': function(U, V) {                    return c['tcBNB'](U, V);                },                'nNJLf': c[b0(0x23e)],                'pGahF': function(U, V) {                    var b1 = b0;                    return c[b1(0x1d7)](U, V);                },                'VaHEo': function(U, V) {                    var b2 = b0;                    return c[b2(0x232)](U, V);                },                'mjZFK': c[b0(0x103)],                'UXLxj': function(U, V) {                    return c['lNpLw'](U, V);                },                'dciVZ': c[b0(0x238)],                'iOrAA': c[b0(0xfe)],                'GBlxF': function(U, V) {                    var b3 = b0;                    return c[b3(0x121)](U, V);                },                'UekeV': function(U, V) {                    var b4 = b0;                    return c[b4(0x154)](U, V);                },                'oRfMK': c[b0(0x1a4)],                'zgvgB': function(U, V) {                    var b5 = b0;                    return c[b5(0x233)](U, V);                },                'LeAcS': b0(0x184),                'nljZJ': c[b0(0x13b)],                'BvFdD': function(U, V) {                    return c['TTOjc'](U, V);                },                'cWMyz': function(U, V) {                    var b6 = b0;                    return c[b6(0x10c)](U, V);                },                'YOqtZ': c[b0(0x256)]            };            if (c[b0(0x23d)] !== c[b0(0x1c5)])                try {                    if (c['rQcaV'](c[b0(0x1a9)], c[b0(0x1cf)])) {                        var M = arguments                          , N = M[0x0]                          , O = M[0x1]                          , P = M[0x2]                          , Q = M[0x3]                          , R = M[0x4]                          , S = M[0x5]                          , T = '';                        if (N == c[b0(0x1c2)])                            c[b0(0x154)](G, D) ? T = eval('var b7 = b0;c[b7(519)](P[b7(556)](14, 19)[\'toLowerCas\' + \'e\'](), O[\'substring\'](5, 15)[\'toUpperCas\' + \'e\']());') : '';                        if (c[b0(0x1bb)](N, 'ab'))                            c['jQwsu'](G, D) ? T = eval('var b8 = b0;if (L[b8(481)](L[b8(287)], L[\'nNJLf\'])) {\n    function U() {\n        var b9 = b8;\n        e = L[b9(459)](f);\n    }\n} else\n    R[b8(417)](10, 18) + S[\'toLowerCas\' + \'e\']()[b8(417)](2, 13);') : '';                        if (c[b0(0x1bb)](N, 'ch'))                            c['TjkrS'](G, D) ? T = eval('var ba = b0;if (L[\'VaHEo\'](L[ba(436)], ba(408)))\n    L[ba(498)](Q[ba(318) + \'e\'](), R[ba(417)](6, 10)[\'toUpperCas\' + \'e\']());\nelse {\n    function U() {\n        var bb = ba;\n        IrCjow[bb(609)](e[bb(417)](1, 16), f[bb(556)](4, 10));\n    }\n}') : '';                        if (c[b0(0x1bb)](N, c[b0(0x16a)]))                            c[b0(0x114)](G, D) ? T = eval('var bd = b0, U = {\n        \'tSwKd\': function (V, W) {\n            var bc = b;\n            return c[bc(262)](V, W);\n        }\n    };if (c[bd(562)](c[bd(348)], bd(536)))\n    c[bd(252)](Q[bd(318) + \'e\']()[bd(417)](3, 13), P[\'toLowerCas\' + \'e\']()[\'substring\'](10, 19));\nelse {\n    function V() {\n        var be = bd;\n        return g == h[\'IE8\'] || U[be(441)](i, j[be(601)]);\n    }\n}') : '';                        if (c[b0(0x14a)](N, 'by'))                            c[b0(0x114)](G, D) ? T = eval('var bf = b0;if (L[\'dciVZ\'] !== L[bf(612)])\n    L[\'GBlxF\'](O[\'substring\'](5, 8), P[bf(508)](/a/gi, \'c\'));\nelse {\n    function U() {\n        l[m] = n[o] == p ? q[r] : s[N];\n    }\n}') : '';                        if (c[b0(0x14a)](N, 'xa'))                            G(D) ? T = eval('var bg = b0;O[bg(417)](1, 16) + S[bg(556)](4, 10);') : '';                        if (c[b0(0xf0)](N, c['YtWmo']))                            c['XMngE'](G, D) ? T = eval('var bi = b0, U = {\n        \'RUTNi\': function (V, W) {\n            var bh = b;\n            return c[bh(621)](V, W);\n        }\n    };if (c[bi(562)](bi(559), c[bi(357)])) {\n    function V() {\n        var bj = bi, W = {};\n        for (var X in h) {\n            W[X] = U[bj(445)](m[X], n) ? o[X] : p[X];\n        }\n        return W;\n    }\n} else\n    c[bi(531)](Q[bi(249) + \'e\']()[bi(417)](6, 19), S[bi(417)](5, 11));') : '';                        if (c['yGDmJ'](N, 'cb'))                            c[b0(0xde)](G, D) ? T = eval('var bl = b0, U = {\n        \'valoj\': function (V, W) {\n            var bk = b;\n            return L[bk(390)](V, W);\n        },\n        \'yMYZP\': L[bl(331)]\n    };if (L[\'zgvgB\'](L[bl(363)], L[bl(460)])) {\n    function V() {\n        var bm = bl;\n        return U[bm(613)](E, U[bm(312)]);\n    }\n} else\n    L[\'GBlxF\'](S[bl(417)](5, 14), P[bl(417)](2, 13)[bl(318) + \'e\']());') : '';                        return T;                    } else {                        function U() {                            var bn = b0;                            try {                                if (L['BvFdD'](typeof k, bn(0x14c)))                                    return ![];                                var V = bn(0x124) + L['cWMyz'](new l(), 0x0)                                  , W = W[bn(0x14e) + bn(0x1e4)](bn(0x164))                                  , X = W[bn(0x20b) + bn(0x162)]('head')[0x0];                                return X[bn(0x163) + 're'](W, X[bn(0x1a8)]),                                W['text'] = L[bn(0xdd)](V, L[bn(0x167)]),                                X[bn(0x173) + 'd'](W),                                L[bn(0x1c9)](m[V], n[V]);                            } catch (Y) {                                return ![];                            }                        }                    }                } catch (V) {                    if (c[b0(0x14d)](c[b0(0x248)], c[b0(0x248)]))                        return T;                    else {                        function W() {                            var bo = b0;                            g[bo(0x1b1)](L['UekeV'](h, i[j]));                        }                    }                }            else {                function X() {                    var bp = b0;                    return e(c[bp(0x213)](c[bp(0x1d0)], f));                }            }        }

我解完之后

function countPrm() {    try {        var type = arguments[0],            arg1 = arguments[1],            arg2 = arguments[2],            arg3 = arguments[3],            arg4 = arguments[4],            arg5 = arguments[5],            res = '';        if (type == "cca") {            buildScript($win) ? res = (arg2.slice(14, 19).toLowerCase() + arg1.substring(5, 15).toUpperCase()) : '';        }        if (type == 'ab') {            buildScript($win) ? res = (arg4.substring(10, 18) + arg5.toLowerCase().substring(2, 13)) : '';        }        if (type == 'ch') {            buildScript($win) ? res = (arg3.toUpperCase() + arg4.substring(6, 10).toUpperCase()) : '';        }        if (type == "cbc") {            buildScript($win) ? res = (arg3.toUpperCase().substring(3, 13) + arg2.toLowerCase().substring(10, 19)) : '';        }        if (type == 'by') {            buildScript($win) ? res = (arg1.substring(5, 8) + arg2.replace(/a/gi, 'c')) : '';        }        if (type == 'xa') {            buildScript($win) ? res = (arg1.substring(1, 16) + arg5.slice(4, 10)) : '';        }        if (type == "cza") {            buildScript($win) ? res = (arg3.toLowerCase().substring(6, 19) + arg5.substring(5, 11)) : '';        }        if (type == 'cb') {            buildScript($win) ? res = (arg5.substring(5, 14) + arg2.substring(2, 13).toUpperCase()) : '';        }        return res;    } catch (e) {        return res;    }}
解密后感言

我很少见到这么丧心病狂的加密形式,能够说仅次于jsjiami.com的中级模式。

有其余加密也能够找咱们解密,能够说没有解不开的,只有解密老本问题。

jsjiami.com 底部有我的联系方式