没有废话间接上加密代码
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的话会辣手一些。