X-Puzzle

Иван Скляров

Xakep, номер #065, стр. 065-158-1

(Sklyarov@real.xakep.ru)

«ПРОЙДИСЬ ДЕБАГГЕРОМ ПО СВОИМ МОЗГАМ!»

Не стесняйся присылать мне свои ответы, даже если ты смог ответить всего на один пазл, я с интересом почитаю твои оригинальные решения. Ну, а имена героев, которые первыми правильно ответят на все вопросы, конечно же, будут опубликованы в журнале, чем прославятся на всю Россию (и не только) и навечно войдут в историю Х. Приз за нами не заржавеет ;).

Но помни: в большинстве случаев вариант ответа засчитывается как правильный, только если к нему приложено подробное и ВЕРНОЕ объяснение, почему выбран именно этот вариант, а не какой-либо другой.

ОТВЕТЫ ПРЕДЫДУЩЕМУ ВЫПУСКУ X-PUZZLE

Ответ на пазл №1 «Логическая звезда»

Вот возможные варианты:

середина - 100110

левая нижняя ветвь - 000100

правая нижняя ветвь - 110111

верхняя левая ветвь - 010100

верхняя правая ветвь - 100100

Ответ на пазл №2 «Не будь пАдонком!»

Необходимо изменить девятый байт (1F) на следующее значение - 3F.

Ниже приведен текст первоначальной com-программы на ассемблере (MASM).

Понятно, что в решении мы просто вызываем сообщение Mess3 вместо Mess1, которые расшифровываются с помощью "xor ax,1".

CSEG segment

assume CS:CSEG,DS:CSEG,ES:CSEG,SS:CSEG

org 100h

Begin:

xor ax, ax

call Pod1

mov ah, 9

mov dx, offset Mess1

int 21h

int 20h

Pod1 proc

mov bx, offset Mess1

mov cx, 48

Hi:mov ax, [bx]

xor ax, 1

mov [bx],ax

inc bx

loop Hi

ret

Pod1 endp

Mess1 db "Idmmn-!Q`eno`j %"

Mess2 db "Idmmn-!!etcho` %"

Mess3 db "Idmmn-!!I`bjds %"

CSEG ends

end Begin

Ответ на пазл №3 «Странная мессага»

Расшифрованное сообщение:

Жизнь как лестница в курятнике, ибо такая же короткая и вся в дерьме.

В сообщении просто перепутаны кодировки, поэтому его легко можно расшифровать в программе типа "Штирлиц". Вот каким преобразованием подверглось первоначальное предложение:

1. KOI (8R) - DOS (866)

2. WIN (1251) - DOS (866)

3. DOS (866) - WIN (1251)

Ответ на пазл №4 «Хакерские сердца»

Ответ показан на рисунке.

ПЕРВЫЙ ПАЗЛ «Архив с секретом»

Это задание включает в себя целых три этапа. На рисунке ты видишь zip-архив (secret.zip), в котором запакована единственная com-программа. Однако извлечь программу из архива непросто — в архиве нарушена контрольная сумма. Твоя задача на первом этапе — попытаться извлечь программу из архива любыми средствами (на самом деле это проще, чем кажется ;)). Если тебе удастся это сделать, то ты увидишь, что com-программа выдает на экран непонятное зашифрованное сообщение. Поэтому задача второго этапа — поработать над этой программой, чтобы получить от нее сообщение в расшифрованном виде ;). В расшифрованном сообщении будет текст третьего, самого трудного, но и самого интересного задания ;). Поверь, я обрадуюсь не меньше тебя, когда ты сможешь выполнить это последнее задание ;).

Для тех, кому лениво набивать вручную код архива с рисунка, я выложил этот архив для скачивания на сайте http://xpuzzle.narod.ru/secret.zip.

ВТОРОЙ ПАЗЛ «Admin Monkey»

В одной большой фирме администратор сети, чтобы не выдумывать постоянно самому пароли и уж тем более не доверять это пользователям, решил использовать генератор паролей. Он нашел в интернете подходящую программу-генератор от некой команды «Admin Monkey». В инструкции к программе подчеркивалось, что пароли генерятся абсолютно случайным образом, что, собственно, и требовалось администратору. Админ попробовал сгенерировать 5 штук 9-символьных паролей и получил следующие результаты:

Содержание  Вперед на стр. 065-158-2
ttfb: 32.862901687622 ms