这篇文章上次修改于 924 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

题目中给了个坏掉的jsfuck:http://106.75.72.168:1111/fffffaaakk
直接丢控制台是会报错的
不过,了解到jsfuck的原理,js的隐式类型转换就好说了
15年的时候还专门研究过..
在我的博客打开控制台或者打开https://www.hexlt.org/archives/4/就可以看见另一个
相关的原理在这儿https://zhuanlan.zhihu.com/p/29064256

+[]=0;
+![]=0;
+!![]=1;
+!+[]=1;
[]+[]="";
[]-[]=0;
[]+{}="[object Object]";
[]-{}=NaN;
{}+{}=NaN;
{}-{}=NaN;
{}+[]=0;
{}-[]=-0;
!![]+[]="true";
![]+[]="false";
[]+{}="[object Object]";
!![]/[]+[]="Infinity";
{}-{}+[]="NaN";
[]-{}+[]="NaN";
[][[]]+[]="undefined";
([])["constructor"]+[]="function Array() { [native code] }"
(![])["constructor"]+[]="function Boolean() { [native code] }"
(+[])["constructor"]+[]="function Number() { [native code] }"
([]+[])["constructor"]+[]="function String() { [native code] }"
({})["constructor"]+[]="function Object() { [native code] }"
([])["constructor"]["constructor"]+[]="function Function() { [native code] }"

之后要做的就是
按着原理做替换....超级麻烦...orz..
emm
最后大概长这样:
end1

hh
flag:flag{f_f_l_u_a_c_g_k}