理解javascript混淆

时间:2014-09-24 18:26:45

标签: javascript obfuscation

我最近检查了一个javascript混淆指南。本指南中有一些简单的步骤。我可以理解$ = []是一个空数组,我可以理解为什么在$=[$=[]]; $变为0之后,但在添加!$(false)和{{1}之后我无法理解为什么}(零)我们得到“假”字符串。 任何人都可以向我解释这个吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

  

我可以理解为什么在$ = [$ = []]之后; $变为0

不,它没有。 $变为[[]],即一个空数组的数组。

  

我无法理解为什么在添加!$(false)和$(零)后,我们会得到" false"串

你不会;但你的前提是错误的。添加false[[]]时,您在布尔值和对象上使用+ operator,这将导致字符串连接:

> $ = [[]];
> String(!$)
"false"
> String($)
""
> !$+$
"false"