前言
明天要说的扁平化和一般的不太一样,明天看到一个比拟有意思的 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 混同加密就能够了。一键加密。