Тема: JavaScript :haha:
Показать сообщение отдельно
  #9 (permalink)  
Старый 20.07.2010, 03:45
Аватар для Aleko
Аспирант
Отправить личное сообщение для Aleko Посмотреть профиль Найти все сообщения от Aleko
 
Регистрация: 28.04.2010
Сообщений: 42

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")) )
	})()
Ответить с цитированием