Рубрика X-Puzzle#6 Ведущий: Иван Скляров Xakep, номер #052, стр. 052-110-1 Sklyarov@real.xakep.ru «ПРОЙДИСЬ ДЕБАГГЕРОМ ПО СВОИМ МОЗГАМ!» Не стесняйся присылать мне свои ответы, даже если ты смог ответить всего на один пазл, я с интересом почитаю твои оригинальные решения. Ну, а имена героев, которые первыми правильно ответят на все вопросы, конечно же, будут опубликованы в журнале, чем прославятся на всю Россию (и не только) и навечно войдут в историю Х. Приз за нами не заржавеет. ;) Но помни: в большинстве случаев вариант ответа засчитывается как правильный, только если к нему приложено подробное и ВЕРНОЕ объяснение, почему выбран именно этот вариант, а не какой-либо другой. ОТВЕТЫ К ПРЕДЫДУЩЕМУ ВЫПУСКУ X-PUZZLE Ответ на пазл #1 «CryptFuck» CryptFuck v1.1 зашифровал слово «Ash», следующим образом: E=xnnb Алгоритм шифрования следующий: каждый символ в шифруемом слове заменяется двумя символами, первый из которых получается прибавлением 4 к порядковому номеру символа в слове (порядковые номера начинаются с нуля) и к его коду ASCII (или Unicode, в данном случае не принципиально), а второй символ - вычитанием 4 и порядкового номера из кода символа в слове. Так латинская буква «A» в слове «Ash» будет зашифрована двумя символами «E=», т. к. код буквы «A» в таблице ASCII равен 65, а порядковый номер в слове 0, то 65+0+4=69 (десятичный код буквы «E»), а 65-0-4=61 (десятичный код знака «=»), следующая буква «s» будет иметь порядковый номер 1, а код в таблице ASCII 115, следовательно, по тем же соображениям, она будет зашифрована символами «xn» и т. д. Сомнение в душу M.J.Ash’а закралось после того, как он заметил, что в обоих случаях полученный шифр слов «Xakep» и «pekaX» имеет одинаковую комбинацию символов в середине «qe» (буква «k»), хороший алгоритм такого, естественно, допускать не должен. Ответ на пазл #2 «Ломка мозгов в консоли» Первая строка ищет все core-файлы, файлы нулевого размера или файлы с расширением, начинающимся на цифру в диапазоне от 0 до 9, с правами доступа для выполнения (просмотра) и для записи прочими пользователями, к которым обращались более 30 дней назад, затем выдает запрос на их удаление. Вторая строка выводит строки с их порядковым номером из файла /etc/shadow, имеющие в четвертом поле 0 и длину первого поля более четырех символов. В качестве разделителя полей выбрано двоеточие. Третья строка выдает информацию о текущем пользователе на экране с отступом вправо на 18 позиций мигающим текстом красного цвета на голубом фоне, затем восстанавливает черный фон с белым текстом и сбрасывает атрибуты (мигание). Четвертая строка в фоновом режиме объединяет файлы a.o и b.o и передает утилите grep, которая выбирает в них все строки, не содержащие слово root, не учитывая при этом регистра, затем происходит сортировка и запись в домашнюю директорию, в файл с именем ab.$$, где $$ – номер текущего процесса. Пятая строка выполняет перезагрузку системы при получении сигнала с номером 3 (SIGQUIT). Ответ на пазл #3 «Художества на HTML» Код HTML, рисующий американский флаг показан ниже. Реализуется это с помощью обычных таблиц, думаю, другие комментарии здесь излишни. |