请问这段javascript 代码是什么意思?为什么能输出汉字。
请问这段javascript 代码是什么意思?为什么能输出汉字。
日期:2017-05-21 19:33:33 人气:1
这代码混淆,其实靠的是js的类型转化的一些基本原理。
换个简单点的例子吧,
(!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]这个代码实际上等同于“sb”。
首先要运用到的第一个知识就是js运算符的优先级,因为这么长一段运算看的人眼花,我们必须得先根据优先级分成n小段,然后再各个击破。优先级的排列如下表:
优先级从高到低:
根据此规则,我们把这一串运算分为以下16个子表达式:
运算符用红色标出,有