Метка «document»

Хабр глазами IТ-евангелистов / Хабрахабр
Читать полностью »

Почта Mail.ru научилась сортировать письма почти как Gmail — автоматически выбирать из потока «Входящих» письма категорий «Скидки», «Социальные сети», «Рассылки», говорится в сообщении компании.

Очень похожий функционал есть у Gmail — почта от Google тоже умеет самостоятельно разбивать письма на «Соцсети», «Промоакции», «Форумы» и «Оповещения». В Mail.ru, впрочем, видят существенное отличие от Gmail:

Читать полностью »

в 20:07, , рубрики: Песочница, метки: , , , ,

Доброе время суток, Хабраобщество.

Сегодня я попробую вам рассказать как написать программу на Malbolge.

Ровно две недели назад я узнал о языке Malbolge из сериала «Элементарно». Как раз в этот период мне в Университете поручили написать статью и провести исследование на выбранную мной тему, не задумываясь я выбрал Malbolge (о чем скоро пожалел). Забравшись в интернет я нашел не так много информации, точнее я нашел только описание специфики и историю. Мне пришлось разбираться со всем самому. При многочисленных попытках я нашел довольно много нюансов которыми я хочу поделиться с вами, также я представлю свой код программы.

Информацию и специфику языка вы может найти перейдя по ссылке вики.

Вики дает две программы, которые печатают «Hello, world.»:

(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@986543W10/.R,+O<

Второй вариант:

('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#"`CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj«Fhg${z@>

Если попытаться заменить любой символ в программе она перестает работать. Прична скрывается в шифровании, то есть любой символ входящий в программу шифруется с помощью формулы (m [c] + c-33)% 94, эту формулу нам предоставляет вики. Когда прогрма загружается в память, она просматривает каждый символ и если хотя бы один из них не является командой файл отключается. Для примера возьмем фрагмент из первого варианта программы:

(= <`: 9876Z4321UT.-Q + *)

Этот фрагмент равен:

jpp <ppppp <pppp << pp <ppp

Теперь подробнее. На входе в программу строка делится на символы каждый из них соответствует номеру в таблице ASCII, и именно этот номер играет решающую роль в шифровании данных, например: (= 40 (по коду ASCII), так что в формулу передается число 40 (напомню, нумерация всех символ начинается с 0): (40 + 0-33)% 94 = 0,07, остаток от деления используется как индекс в следующей строке:

+ b (29e * j1VMEKLyC}) 8 & m # ~ W> qxdRp0wkrUo [D7, XTcA „lI.v% {gJh4G \ — = O @ 5`_3i <? Z '; FNQuY] szf $! BS / | t: Pn6 ^ Ha

Под индексом 7 находится символ j. Операция шифрования проводится до окончания входного рядка.Дали согласно зашифрованного файла выполняется команда.

Отступление. Не все это вы прочтете в этой статье будет отвечать вики, так как я пишу с своих наблюдений и опыта.

Итак, вернемся к выполнению программы. Если таким методом зашифровать всю строку мы получим следующее:
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js