前言
明天要说的扁平化和一般的不太一样,明天看到一个比拟有意思的js加密代码,我一开始剖析了很多遍没发现问题,最初才发现和一般的扁平化有什么不同。
源代码(一小部分做示例)
function _0x1bcb87(_0x2ab100, _0x467715) { var _0x456db6 = { 'jentQ': function (_0x829220, _0x5590eb) { return _0x829220 + _0x5590eb; }, 'EBoOQ': function (_0x25c12c, _0x1d2a2f) { return _0x25c12c * _0x1d2a2f; }, 'ZOjgN': function (_0x37f007, _0x4ec00f) { return _0x37f007 - _0x4ec00f; } }; return _0x456db6['jentQ'](Math['floor'](_0x456db6['EBoOQ'](Math['random'](), _0x456db6['ZOjgN'](_0x467715, _0x2ab100))), _0x2ab100);}
解密后
function getRand(min, max) { return Math.floor(Math.random() * (max - min)) + min;}
过程剖析
这种将简略代码扁平化的加密办法,属于比拟高级的加密办法,利用多重表达式将一句本来简略的js复杂化,利用一个json或者数组将函数组合起来。
人工剖析还原这类扁平化的代码特地麻烦,不信的能够本人试试。
而将一般的js加密成这样模式的代码更是麻烦,不过目前曾经有成熟可用的工具站做到了这一点,并且这只是其中的一个小性能。
咱们间接将js源代码复制到www.jsjiami.com间接点击JS混同加密就能够了。一键加密。