Рубрика X-Puzzle Иван Скляров Xakep, номер #063, стр. 063-158-1 (Sklyarov@real.xakep.ru) «ПРОЙДИСЬ ДЕБАГГЕРОМ ПО СВОИМ МОЗГАМ!» Не стесняйся присылать мне свои ответы, даже если ты смог ответить всего на один пазл, я с интересом почитаю твои оригинальные решения. Ну, а имена героев, которые первыми правильно ответят на все вопросы, конечно же, будут опубликованы в журнале, чем прославятся на всю Россию (и не только) и навечно войдут в историю Х. Приз за нами не заржавеет ;). Но помни: в большинстве случаев вариант ответа засчитывается как правильный, только если к нему приложено подробное и ВЕРНОЕ объяснение, почему выбран именно этот вариант, а не какой-либо другой. ОТВЕТЫ К ПРЕДЫДУЩЕМУ ВЫПУСКУ X-PUZZLE Ответ на пазл №1 «Хитрый байтик» Задача проста для тех, кто хоть немного умеет работать с отладчиком. Нужно исправить десятый байт 41h на 59h, т.е. изменить команду "inc cx" на "pop cx" (естественно, это может быть не единственный вариант). Вот изначальная com-программа на ассемблере (MASM): CSEG segment assume CS:CSEG,DS:CSEG,ES:CSEG,SS:CSEG org 100h Begin: mov cx,3 Label1: call Procedure1 loop Label1 push ax inc cx; эту команду нужно исправить на pop cx inc cx inc cx Label2: call Procedure2 loop Label2 int 20h Message db "Cool Hacker!",0Dh,0Ah,'$' Procedure1 proc add ax, 1 ret Procedure1 endp Procedure2 proc mov ah, 9 mov dx, offset Message int 21h ret Procedure2 endp CSEG ends end Begin Ответ на пазл №2 «Инопланетный калькулятор» Ответ будет следующим: 2+3=11. Калькулятор считает в четверичной системе счисления, т. е. все числа представлены только четырьмя цифрами: 0, 1, 2, 3 (11 в четверичной системе соответствует 5 в dec). Ответ на пазл №3 «Бредогенератор» Начало последовательности будет таким: 01123. Данная последовательность образована числами Фиббоначи (каждое последующее число этой последовательности образуется суммой двух предыдущих), записанными без пробелов, т.е. 0 1 1 2 3 5 8 13 21 34 55 89 144 233... ПЕРВЫЙ ПАЗЛ «Для самых маленьких» Каким известным хакерским прогам (названия) принадлежат следующие логотипы? ВТОРОЙ ПАЗЛ «Как же это расшифровывается?» Расшифровать: <kby, jgznm z pf,sk gthtrk.xbnm hfcrkflre rkfdbfnehs ТРЕТИЙ ПАЗЛ «Кодерская задачка» Составить программу, которая решала бы уравнение вида: S=x/16, где x - задается пользователем. Единственное условие - в коде нельзя использовать цифры (кроме нуля) и знаки: *, /, -, \, +. Писать можно на любом языке программирования, кроме низкоуровневых (ассемблера), также в программе нельзя использовать ассемблерные вставки. Мой вариант будет на Сях. ЧЕТВЕРТЫЙ ПАЗЛ «Пути в хакерство» Сколькими способами, продвигаясь от буквы к букве, можно прочитать слово ХАКЕРСТВО? На рисунке красной линией показан пример маршрута. Кто составит программу, которая перебором подсчитает все возможные пути, получит дополнительный кусочек сахара. Правильные ответы смотри в следующем номере. Если хочешь получить приз, присылай свои ответы до 1 апреля. До встречи! На прошлый выпуск X-Puzzle пришли ответы от 74999 читателей... только один пАдонок схалявил. Блин, так это же я был! Короче, решил я сделать все по-честному, можно даже сказать по понятиям, а именно отобрать через рандом трех победителей. |