最近,我遇到了一个有趣的网站,该网站展示了Java语言混淆器:http://bl.ocks.org/jasonsperske/5400283
例如,(([]===[])+/-/)[1]
Givea
和(1+{})[(1<<1)+1]
Give b
。
我尽力理解这些混淆结果的评估顺序,但徒劳无功。
以(1+{})[(1<<1)+1]
作为一个例子,据我所知,<<
是按位移位运算和将返回2,所以表达式变为(1+{})[3]
。但是我不明白1+{}
and的意思[3]
。
Google并不是真的对这个问题有帮助,因为搜索引擎不太喜欢方括号或斜杠,因此万一有重复的问题,对此我感到抱歉。
这只是混淆技巧。
例如 :
[]===[]
===> false
和
([]===[])+/-/
===> "false/-/"
(您可以自己在控制台中对其进行测试)
那是什么(([]===[])+/-/)[1]
呢?(第二个字符)
没错:'a'
您可能还想看看这个:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句