Где-то в сети стоит машина, которая не отвечает на запросы. Она не сломана — она ждёт последовательность, которую никто не догадался отправить. Четыре ступени. Ответ каждой становится ключом к следующей. Бумаги и калькулятора достаточно.
Узел держит в служебной странице восемь байт. Каждый из них обязан удовлетворять правилу b[i] = (i × 0x1F) ⊕ 0x5A, где i — номер ячейки, а ⊕ — побитовое исключающее ИЛИ. Один байт искажён. Назовите номер ячейки.
Узел собирается ответить по адресу 10.82.1.37. Выбирается маршрут с самым длинным совпадающим префиксом — но только среди тех, в чей диапазон адрес действительно попадает. Назовите имя интерфейса.
| Сеть | Интерфейс |
|---|---|
| 0.0.0.0/0 | wan |
| 10.82.0.0/16 | alpha |
| 10.82.1.0/24 | beta |
| 10.82.1.32/28 | gamma |
| 10.82.1.36/30 | delta |
| 10.82.1.40/29 | epsilon |
Узел отдаёт шесть байт. Это слово из шести латинских букв, к каждому байту которого применили исключающее ИЛИ с одним и тем же ключом. Ключ узлу неоткуда взять — он берёт его из первой ступени. Назовите слово.
Последнее. Узел просыпается на широковещательный адрес той сети, которую вы нашли во второй ступени. Позывной собирается из трёх частей через дефис: имя интерфейса — слово рукопожатия — последний октет широковещательного адреса.
Пока ни одна ступень не пройдена. Начните с дампа памяти — он открыт.