乐趣区

关于javascript:实战解密热门js加密v6

没有废话间接上加密代码

var _js = 'jsjiami.com.v6', _js_ = ['_js'],
    a = [_js, '...........,'jsjiamqi.hcomUtSKlA.vhKM6QbzZqq=='];
if (function (c, d, e) {function f(g, h, i, j, k, l) {
        h = h >> 0x8, k = 'po';
        var m = 'shift', n = 'push', l = '0.uqty5nj966j';
        if (h < g) {while (--g) {j = c[m]();
                if (h === g && l === '0.uqty5nj966j' && l['length'] === 0xd) {h = j, i = c[k + 'p']();} else if (h && i['replace'](/[qhUtSKlAhKMQbzZqq=]/g, '') === h) {c[n](j);
                }
            }
            c[n](c[m]());
        }
        return 0x10e469;
    }
    return f(++d, e) >> d ^ e;
}(a, 0x141, 0x14100), a) {_js_ = a['length'] ^ 0x141;
}
function world2Screen(cA, cB, cC) {var cD = {'X': cC[0x0], 'Y': cC[0x1], 'Z': cC[0x2]};
    var cE = {'X': cC[0x4], 'Y': cC[0x5], 'Z': cC[0x6]};
    var cF = {'X': cC[0x8], 'Y': cC[0x9], 'Z': cC[0xa]};
    var cG = {'X': cA['X'] - cB[b('2b0', 'a5vL')]['X'],
        'Y': cA['Y'] - cB['Location']['Y'],
        'Z': cA['Z'] - cB[b('2b1', 'Hrkg')]['Z']
    };
    var cH = {'X': vectorDot(cG, cE), 'Y': vectorDot(cG, cF), 'Z': vectorDot(cG, cD)};
    if (cH['Z'] < 0x1) {cH['Z'] = 0x1;
    }
    var cI = cB[b('2b2', 'g]ng')];
    var cJ = sWidth / 0x2;
    var cK = sHeight / 0x2;
    var cL = {'X': cJ + cH['X'] * (cJ / Math['tan'](cI * (Math['PI'] / 0x168))) / cH['Z'],
        'Y': cK - cH['Y'] * (cJ / Math[b('2b3', 'a5vL')](cI * (Math['PI'] / 0x168))) / cH['Z']
    };
    return cL;
}

cacheTimer = setInterval(function () {drawCache();
}, 0x384);
drawTimer = setInterval(function () {if (window['draw_state']) {console[b('2b4', 'zSD!')]('1');
        shadowDraw();
        if (!window[b('2b5', 'iO[(')]) window['fpscount'] = 0x0;
        if (!window[b('2b6', '$aa$')]) window[b('2b7', 'Hrkg')] = performance[b('2b8', 'Cdyd')]();
        window[b('2b9', 'pNZB')]++;
        if (performance[b('2ba', '$aa$')]() - window['fpstime'] > app[b('2bb', 'Qi6!')]) {window[b('2bc', 'pNZB')] = window['fpscount'];
            window[b('2bd', 'XuaP')] = performance['now']();
            window[b('2be', 'D52)')] = 0x0;
        }
        ctx['textBaseline'] = 'top';
        ctx[b('2bf', 'a4tF')] = 'center';
        ctx[b('2c0', '[email protected]')] = b('2c1', 'mvL2');
        ctx['fillStyle'] = b('2c2', 'iMca');
        if (window[b('2c3', '$aa$')]) ctx[b('2c4', 'VI8o')](window[b('2c5', 'Cdyd')], 0x50, 0x1e);
    }
}, 0x3e8 / 0x3c);
_js = 'jsjiami.com.v6';

解密后比照, 只贴小局部,爱护隐衷。

cacheTimer = setInterval(function () {drawCache();
}, 900);
drawTimer = setInterval(function () {if (window.draw_state) {console.log('1');
    shadowDraw();

    if (!window.fpscount) {window.fpscount = 0;}

    if (!window.fpstime) {window.fpstime = performance.now();
    }

    window.fpscount++;

    if (performance.now() - window.fpstime > app.zhenlv) {
      window.fps = window.fpscount;
      window.fpstime = performance.now();
      window.fpscount = 0;
    }

    ctx.textBaseline = 'top';
    ctx.textAlign = 'center';
    ctx.font = '50px \"Arial, sans-serif\"';
    ctx.fillStyle = 'red';

    if (window.fps) {ctx.fillText(window.fps, 80, 30);
    }
  }
}, 16.666666666666668);

解密思路

首先看结尾,很显著的 v6 加密的标记,收费的 v6 加密都有这个头,一看到这个就晓得是国内闻名的 v6 加密算法,是十分好识别的。只有是带有 jsjiami.com 的都是 v6 加密,因为这个就是他们的官网。

晓得了加密类型,而后依据不同的加密办法,去解密就 OK 了,这个免费版的还是比拟轻松的,如果是 vip 的话会辣手一些。

退出移动版