以前对黑客很崇拜,黑客的世界无比精彩。最近为了炫耀,想起了这段特殊的代码。
[][([外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1GiImO3K-1631794288635)((![]+[])][+!+[]]+([外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UIlD1mK7-1631794288639)()])[(![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-277py53M-1631794288643)(!+[]+!+[]+[+!+[]])][+!+[]]+(![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ozTqbupx-1631794288647)()][+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+[+[]]])()
- 1
这是一段js代码,把它放到你的控制台里面运行,看看发生了什么?
这段代码来着于这个网站转码得到:http://www.jsfuck.com/
源码:
alert("hello")
- 1
这是一个黑客奇葩的想法。
在黑客行为中,你的js代码可能被关键词检测,于是考虑躲避关键词检测的想法,例如 eval等关键词。
1、想了各种方法来规避这个检测。
2、把方法写成通用的程序。
3、把包含的字符做到极致,最后只剩下 ()+[]! 这六个字符。
这里是它的百科,感兴趣可以去了解下:https://en.wikipedia.org/wiki/JSFuck
用途:
1、脚本注入时防止过滤
2、一定程度加密关键代码(生成代码很长,不适合加密大量代码。只能一定程度上加密,不能依赖)
3、装逼用(我最中意的用途)
结论:转换后本质依然是javascript,通过javascript的一些性质来生成,具体实现可以看这里的代码https://github.com/aemkei/jsfuck