Рубрика 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, рисующий американский флаг показан ниже. Реализуется это с помощью обычных таблиц, думаю, другие комментарии здесь излишни.

Содержание  Вперед на стр. 052-110-2
ttfb: 4.5509338378906 ms