В результате я на совершенно законных основаниях неплохо поиграл на продлёнке. Проходил уровни и записывал сюжет. Правда, играть дозволялось лишь в одну игру — ту, которую описывал, но тут уж на безрыбье и рак рыба. Кстати, сочинение получилось довольно грамотным и складным (язык у меня уже тогда был подвешен неплохо), и оценку я за него получил отличную.
#11421: На костылях к звёздам
12:15 20.09.2013, IT happens
Одна из вещей, за которые мне нравится IT, это парадоксы. Я столько раз видел парадоксальнейшие по своей природе вещи и всё ещё не перестаю ими наслаждаться. Чаще всего поражают костыли в дорогих коммерческих решениях, которые смотрятся как сверкающий, высокотехнологичный звездолёт, к которому приставлены прогнившие деревянные балки, примотанные для крепости капроновой нитью. Об одном из таких, виденных пару лет назад, уже можно рассказать — эта линейка продуктов уходит в прошлое.
Итак, крупный вендор сетевого оборудования с хвойным кустарником в названии в процессе слияний и поглощений обзавёлся весьма недурственной операционкой, на которой выпускал несколько линеек файрволов (сейчас эту ОС прикрыли), аппаратных VPN и ещё кое-чего. Мы тогда использовали один из их агрегатов для предоставления VPN-доступа подрядчикам и айтишникам во внутреннюю сеть и завели на девайсе внутреннюю базу аккаунтов.
Народу, который пользовался VPN, было немного, поэтому веселье обнаружилось не сразу, только когда у одного из подрядчиков появилась просьба сбросить пароль, и я полез это делать. Я на работе использовал браузер имени малой панды и среди дополнений держал Unhide Passwords, убирающее звёздочки с паролей при определённых действиях: очень удобно, если за плечом никто не стоит. И вот, ткнув в поле пароля, я не увидел ожидаемой пустоты. С выползающими глазами проверил свою учётку и увидел знакомый набор букв и цифр. Залез в учётку старшего админа и поинтересовался у него:
— А у тебя пароль начинается с [двух букв]?
Пока он подбирал челюсть с пола, уточнил:
— А заканчивается на [ещё две буквы]?
Мы долго поражались: железка за несколько десятков килобаксов, обеспечивающая высокие вроде бы уровни безопасности и надёжности, шифрующая внутри себя всё, что можно, в веб-интерфейсе имела катастрофическую дыру. Мы её прикрыли, вынеся учётки на отдельный Radius-сервер, но шок от такого держался ещё немало.
Разве после таких вещей можно не влюбиться в это минное поле, так часто предлагающее тебе неожиданные задачи и задающее тебе парадоксальные вопросы, про которые мой знакомый опытный программист говорил: «У любой задачи программирования есть не менее чем два решения, одно из которых — правильное, другое — нет, но они оба работают»?
#11422: ЕС, you can
12:15 20.09.2013, IT happens
На протяжении моей учёбы в колледже ЕС-1843, упоминавшаяся в истории про парковку головок, частенько становилась обектом для моих экспериментов и издевательств.
Первый эксперимент случился, когда зловред OneHalf.3544 пошифровал винт этой чудо-машинки. Так как вирус подменял загрузчик DOS и перехватывал INT 21 при загрузке системы, для лечения требовалось загрузится обязательно с незаражённой системной дискеты. Вот только антивирус, способный провести дешифровку винта, не влезал на одну дискету с системой. На зашифрованный винт писать ничего было нельзя, не потеряв данные; использование RAM-диска отпадало ввиду 1 МБ ОЗУ. Прицепить ещё один винт или дисковод не удалось, так как их параметры необходимо было задавать не в BIOS setup, а DIP-переключателями и перемычками на платах контроллеров, документация на которые, естественно, отсутствовала. Оценив ситуацию, решил всё грохнуть и поставить заново, благо весь софт для этой машинки умещался на вменяемом количестве дискет.
Изначально на 20-мегабайтном винте было четыре раздела. Смысла в таком их количестве не было, на первый взгляд, никакого, но когда я поделил винт пополам, машинка с него грузиться отказалась. Путём перебора удалось установить, что максимально допустимый размер загрузочного раздела не может превышать 4 МБ, а весь остальной винт можно было делить как угодно. Как позже выяснилось, это ограничение накладывала архитектура PC/XT.
Второй эксперимент был проведён после того, как я заметил, что некоторые сообщения BIOS выводятся на русском, а некоторые на английском. Как раз в то время я узнал о существовании утилиты debug, а в качестве одного из примеров её использования мне попалось взятие дампа памяти из области, занимаемой BIOS, с целью идентификации его разработчика. Начиная с адреса F000:E000 должна была лежать текстовая строка с читаемым названием вендора. Я ожидал найти там название какого-нибудь советского НИИ или пустое место, но никак не копирайт буржуйской фирмы, до сих пор занимающейся разработкой BIOS.