- 1
console.log((typeof[])[!![]-!![]]+(![]+[])[!+[]+!+[]]+([![]]+[][[]])[!![]+!![]+!![]+!![]]+(typeof([]+[]))[!![]+!![]+!![]+!![]+!![]]+'+'+(typeof[])[!![]+!![]]+(typeof([]+[]))[!![]-!![]]+'='+(![]+[])[!+[]+!+[]]+(typeof[])[!![]-!![]]+'\\/'+([![]]+[][[]])[!![]+!![]+!![]+!![]])
Her 07.09.2017 16:06 # −5
roman-kashitsyn 07.09.2017 16:19 # −5
http://www.jsfuck.com/
Her 07.09.2017 17:37 # −5
skyandrd 07.09.2017 17:46 # −4
roman-kashitsyn 07.09.2017 18:31 # −3
Действительно, глупо. Я бы начал с написания простенького компилятора.
bormand 07.09.2017 18:50 # −3
И прогнал бы его через самого себя, перед тем как выкладывать на гитхаб.
SemaReal 21.09.2017 14:48 # 0
j123123 21.09.2017 15:42 # 0
d_fomenok 02.10.2017 20:14 # 0
Stallman 02.10.2017 20:37 # +1
gost 02.10.2017 21:11 # +1
inkanus-gray 02.10.2017 21:55 # +1
bormand 02.10.2017 22:27 # +2
inkanus-gray 02.10.2017 21:10 # 0
SemaReal 04.10.2017 03:03 # 0
vistefan 08.09.2017 14:06 # −5
anonimb84a2f8fd141 08.09.2017 14:40 # −2
так получаем числа, пустые строки, true/false/undefined, строки "true"/"false"/"undefined"
из false и undefined берём отдельные буквы по индексу ("false"[0] это "f")
undefined, false дают f,i,l
важную роль играет что a.b эквивалентно a["b"]
[]["fill"] - некая функция (конкретно - метод Array.prototype.fill)
[]["fill"]+"" - исходный код ("function fill() { ... }")
([]["fill"]+"")[3] - "c"
([]["fill"]+"")[6] - "o"
получаем некоторые буквы, собираем код, из текстового представления получаем буквы и т.д.
[]["fill"] - некая функция
[]["fill"]["constructor"] - Function, конструктор функции
[]["fill"]["constructor"]("тело") - function() { тело; }
[]["fill"]["constructor"]("alert(1)")() - alert(1)
inho 08.09.2017 19:24 # −4
HACTEHbKA 07.09.2017 19:26 # −3
Fike 08.09.2017 02:15 # −5