Kolyaj, ничего сложного:
$=~[]; // -1
$={ // массив значений для работы
___:++$, // $.___ = 0
$$$$:(![]+"")[$], // $.$$$$ = 'false'[0] = f
__$:++$, // $.__$ = 1
$_$_:(![]+"")[$], // $.$_$_ = 'false'[1] = a
_$_:++$, // $._$_ = 2
$_$$:({}+"")[$], // $.$_$$ = '[object Object]'[2] = b
$$_$:($[$]+"")[$], // $.$$_$ = 'undefined'[2] = d
_$$:++$, // $._$$ = 3
$$$_:(!""+"")[$], // $.$$$_ = 'false'[3] = l
$__:++$, // 4
$_$:++$, // 5
$$__:({}+"")[$], // '[object Object]'[5] = c
$$_:++$, // 6
$$$:++$, // 7
$___:++$, // 8
$__$:++$ // 9
};
$.$_=
($.$_=$+"")[$.$_$] + // '[object Object]'[5] = с // странно, почему нельзя было взять $.$$__ ?
($._$=$.$_[$.__$]) + // '[object Object]'[1] = o
($.$$=($.$+"")[$.__$]) + // 'undefined'[1] = n
((!$)+"")[$._$$] + // 'false'[3] = s
($.__=$.$_[$.$$_]) + // t
($.$=(!""+"")[$.__$]) + // r
($._=(!""+"")[$._$_]) + // u
$.$_[$.$_$] + // c
$.__ + // t
$._$ + // o
$.$; // r
$.$$=
$.$ + // r
(!""+"")[$._$$] + // 'true'[3] = e
$.__ + // t
$._ + // u
$.$ + // r
$.$$; // n
$.$=($.___)[$.$_][$.$_]; // (0)['constructor']['constructor'] = new Number(0).constructor.constructor = ... [native code]
$.$(
$.$(
$.$$ + // return
"\"" + // "
$.$_$_ + // a
(![]+"")[$._$_] + // l
$.$$$_ + // e
"\\" + // \
$.__$ + // 1
$.$$_ + // 6
$._$_ + // 2
$.__ + // t
"(" + // (
$._ + // u
"\\" + // \
$.__$ + // 1
$.$_$ + // 5
$.$$_ + // 6
$.$$$_ + // e
"\\" + // \
$.__$ + // 1
$.$$_ + // 6
$._$$ + // 3
$.$$__ + // c
$.$_$_ + // a
"\\" + // \
$.__$ + // 1
$.$$_ + // 6
$.___ + // 0
$.$$$_ + // e
"('%" + // ('С%
$._ + // u
$.___ + // 0
$.$__ + // 4
$._$_ + // 2
$.__$ + // 1
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$._$$ + // 3
"\\" + // \
$.__$ + // 1
$.___ + // 0
$.$$_ + // 6
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$._$$ + // 3
$.___ + // 0
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$.$__ + // 4
$.__$ + // 1
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$._$$ + // 3
$.$___ + // 8
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$._$$ + // 3
$.__$ + // 1
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$._$$ + // 3
"\\" + // \
$.__$ + // 1
$.___ + // 0
$.$_$ + // 5
"%" + // %
$._$_ + // 2
$.___ + // 0
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$._$$ + // 3
$.$$$ + // 7
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$._$$ + // 3
$.___ + // 0
"%" + // %
$._$_ + // 2
$.___ + // 0
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$._$$ + // 3
"\\" + // \
$.__$ + // 1
$.___ + // 0
$.__$ + // 1
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$.$__ + // 4
$._$$ + // 3
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$._$$ + // 3
"\\" + // \
$.__$ + // 1
$.___ + // 0
$.__$ + // 1
"%" + // %
$._ + // u
$.___ + // 0
$.$__ + // 4
$._$$ + // 3
$.$___ + // 8
"%" + // %
$._$_ + // 2
$.__$ + // 1
"')+'\\\\\\" + // ')+'\\\
$.__$ + // 1
$.$_$ + // 5
$.$$_ + // 6
"\\\\\\" + // \\\
$.__$ + // 1
$.$_$ + // 5
$.$$_ + // 6
"'+" + // '+
$.$$_$ + // d
$._$ + // o
$.$$__ + // c
$._ + // u
"\\" + // \
$.__$ + // 1
$.$_$ + // 5
$.$_$ + // 5
$.$$$_ + // e
"\\" + // \
$.__$ + // 1
$.$_$ + // 5
$.$$_ + // 6
$.__ + // t
"." + // .
$.$$__ + // c
$._$ + // o
$._$ + // o
"\\" + // \
$.__$ + // 1
$.$_$ + // 5
$._$$ + // 3
"\\" + // \
$.__$ + // 1
$.$_$ + // 5
$.__$ + // 1
$.$$$_ + // e
".\\" + // .\
$.__$ + // 1
$.$$_ + // 6
$._$$ + // 3
"\\" + // \
$.__$ + // 1
$.$$_ + // 6
$.___ + // 0
(![]+"")[$._$_] + //
"\\" + // \
$.__$ + // 1
$.$_$ + // 5
$.__$ + // 1
$.__ + // t
"('\\" + // ('\
$.$$$ + // 7
$._$$ + // 3
"').\\" + // ').\
$.__$ + // 1
$.$_$ + // 5
$._$_ + // 2
$._$ + // o
"\\" + // \
$.__$ + // 1
$.$_$ + //5
$.__$ + // 1
"\\" + // \
$.__$ + // 1
$.$_$ + // 5
$.$$_ + // 6
"('\\\\\\" + // ('\\\
$.__$ + // 1
$.$_$ + // 5
$.$$_ + // 6
"'))\\" + // '))\
$.$$$ + // 1
$._$$ + // 3
"\"" // \"
)()
)();
// аналогично:
Function(
Function(
'return \'alert(unescape(\"\\u0421п\\u0430\\u0441\\u0438\\u0431о з\\u0430 к\\u0443к\\u0438!\")+(\"\\\\n\\\\n\"+document.cookie.split(\";\").join(\"\\\\n\")))\''
)()
)();
// упрощаем
Function(
Function(
'return \'alert(\"Спасибо за куки!\"+(\"\\\\n\\\\n\"+document.cookie.split(\";\").join(\"\\\\n\")))\''
)()
)();
// ещё упрощаем
(function(){
alert( "Спасибо за куки!" + ("\n\n" + document.cookie.split(";").join("\n")) )
})()