- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
function kevinTheNumberMentioner(_){
l=[]
/* mostly harmless --> */ with(l) {
//Sorry about all this, my babel fish has a headache today...
for (ll=!+[]+!![];ll<_+(+!![]);ll++) {
lll=+!![];
while (ll%++lll);
//I've got this terrible pain in all the semicolons down my right-hand side
(ll==lll)&&push(ll);
}
forEach(alert);
}
//You're really not going to like this...
return [!+[]+!+[]+!+[]+!+[]]+[!+[]+!+[]];
}
Нда...
http://ideone.com/fdVU1v
https://github.com/1024--/govnokod.ru-userscripts/blob/master/execjs.user.js
Вот как она выглядит:
http://s7.hostingkartinok.com/uploads/images/2014/12/23468c95ea94e220af9b765b8ca2d667.png
P.S. Скрипт жёстко пофиксил.
> return false;
Какой полезный скрипт...
Хотя бы confirm.
Сурово. Но декодер один хрен нужен, а его присутствие намекает на то, что тут что-то скрыто...
PS. Вообще-то, таки случился.
Ссылка на репозиторий удалена по требованию роскомнадзора
Ссылка удалена по требованию роскомнадзора
Я думаю это неплохой дабл пиар.
Бугага.
Роскомнадзор - мы предоставляем услуги по бесплатной раскрутке сайтов.
Особенно, когда ссылка начинается с https://
Ебануться бляди! Одного этого факта достаточно чтоб больше ими никогда не пользоваться.
Несколько месяцев назад ради теста заходил на запрещенный сайт по https, и мозила вопила о том, что сертификат не соответствует домену. Если принять серт - выдавал обычную табличку о том, что доступ к сайту заблокирован по требованию соотв. органов. Об этом вроде бы на хабре и бордах несколько раз упоминали. Лень искать. На хабре, емнип, даже нажаловались на этот серт его издателю.
Ну тут одно из двух: или юзер поставил МИТМовый серт в доверенные, или тафт с верисайном продались дьяволу и выдали ростелегому серт на домен, коий им не принадлжыт.
Так как оба варианта маловероятны, реквестую Борманда в тред: нехай разъяснит детали
+[]=0
!(+[])=true
true+true+true+true=4
[!+[]+!+[]+!+[]+!+[]] + [!+[]+!+[]] = [4]+[2]
И что тут смешного? Плакать надо.
> Плакать надо.
> > Если бы Хемингуэй писал на JavaScript
Тут, похоже, не плакать надо, а вдумчиво дрочить медитировать над книгой ;)
В данном случае лень перевешивает.
Но ведь http://www.jsfuck.com/ известен в узких кругах.
Фу, читерство. И в обсуждаемом ГК тоже в конце строка, как будто лишнего плюса и скобочек жалко.
P.S.
> Function => []["filter"]
[]["filter"]["constructor"]
> (ll==lll)&&push(ll);
Я вот по этой штуке предположил, что это что-то типа наивного поиска простых чисел. Но разбирать остальной говнокод с +[] было лень. Поэтому я тупо открыл статью, и узнал, что это действительно поиск простых чисел.
Деобфускатор тут
https://github.com/aemkei/jsfuck/blob/master/jsfuck.js
Function => []["filter"]
Тут они конечно затупили
Я бы сделал []["join"] или даже []["pop"]
А я что дальше написал?
Проблема в том что pop поддерживается большим числом браузеров чем map. (Пользователи старых ишаков тоже хотят запускать непонятные коды)
Когда я писал про map - я этот апдейт еще не видел.
Олсо - раз нам "constructor" один хер собирать, может можно поюзать []["constructor"]["constructor"], если как-то удастся его упихать в переменную?
(!![]+"")[0]==t
(![]+"")[0]==f
Можно было сделать так:
(!![]+"").length+[!+[]+!+[]]==42
Хм. Действительно. Хотя надо подумать можно ли в чарах.
Не надо забывать про слова из typeof
А еще у строки есть методы. sup, sub, trim -
Особенно хорош trim
tri - есть и в filter и в trim
fe = '(false+"")[0]','(true+"")[3]',
'm' = '((+[])+"")[11]',
Скриптовик скриптовика видит из далека
потому стороной и обходит.
издалека - откуда? наречие. пишется слитно
А где было про лом?Ссылка на хабр не пропущенная модерацией - ловко придумано.
http://www.ecma-international.org/ecma-262/5.1/#sec-12.10