Необычные пасхальные яйца
А вы “К Элизе” сыграть смогли бы на сканере HP? Про “пасхальные яйца” (easter eggs) слышали практически все, а многие даже специально выискивали их в любимых программах и играх. Но мало кто догадывается, что их можно находить не только в ПО.
Автор: Игорь Осколков
| Раздел: Статьи |
Дата: 13 ноября 2009 года
Традиция внедрения "пасхальных яиц" имеет очень давнюю историю. Доподлинно неизвестно, кто первым добавил какую-нибудь недокументированную развлекательную функцию в свой продукт. Официально принято считать, что первое “яйцо” было реализовано в игре Adventure от Atari в 1978 году. В то время не было принято указывать имена разработчиков, поэтому программист Уоррен Робиннет (Warren Robinnet) решил добавить упоминание о себе прямо в игру.
Зачем всё это делается, зачем выполнять лишнюю работу? Причины могут быть самые разнообразные: кому-то хочется увековечить своё имя, кто-то пытается показать своё искусство программирования, но чаще всего это делается исключительно для развлечения. Как правило, "пасхалки" встраиваются в программы, так как это проще всего реализовать. Особенно часто от этого явления "страдают" игры. Думали ли вы когда-нибудь, что пасхальные яйца могут быть заложены в конструкцию устройства? Например, вентиляционные отверстия на корпусе WD MyBook Pro выполнены в виде стилизованных точек и тире. Расшифровывается сообщение незамысловато: PERSONALRELIABLEINNOVATIVESIMPLE, INNOVATIVEPERSONALDESIGNRELIABLE, INNOVATIVEDESIGNPERSONALDESIGN, SIMPLEINNOVATIVE. Более забавное "яйцо" заложено в мышке Mighty Mouse от Apple, которая была выпущена в 2006 году. При определённом угле наклона пятно света от диода отчётливо напоминает изображение мышиной мордочки.
Впрочем, бывают "яйца", которые запрятаны глубоко в недрах. Например, в исходных кодах ОС Android определены две любопытные гравитационные константы: float GRAVITY_DEATH_STAR_I 3.5303614E-7 и float GRAVITY_THE_ISLAND 4.815162 . Попробуйте догадаться, к чему они относятся. А в одной из библиотек Microsoft Office версий 2000/XP/2003 долгое время скрывалось сакраментальное двустишье: “Lexa Lexa ty mogu~ movet dave zloebu~”. В Windows XP есть неиспользуемое диалоговое окно, извещающее пользователя, что “Компьютеру стало совсем худо, и он решил прекратить свои страдания”.
Иногда разработчики прячут упоминание о себе на платах устройства или на его корпусе в каком-нибудь труднодоступном месте. А лет 15-30 назад некоторые микросхемы несли в себе не только электронные цепочки, но и логотипы или имена своих создателей. Например, первый процессор Intel 4004 имел на подложке надпись “F.F.”, которая является сокращением от имени Federico Faggin – одного из главных разработчиков этого CPU. В созданном в 1989 году чипсете AM29C660 компании AMD было спрятано упрощённое изображение флага США с надписью Made in USA. На данный момент найдено очень мало подобных "пасхалок", что связано, в первую очередь, с тем, что их очень сложно отыскать.
Нередко встречаются пасхальные яйца и в прошивках огромного количества устройств – от осциллографов до мобильных телефонов. Правда, в мобильниках или научных калькуляторах за "пасхальные яйца" чаще всего принимают обыкновенные сервисные меню. Наиболее известным, как мне кажется, "яйцом" этого типа является игра Breakout, которая была спрятана в прошивках первых iPod. Для её вызова надо было зайти в меню About и зажать на несколько секунд центральную кнопку. Скорее всего, это просто дань уважения к основателям Apple. Эту игру написали Стив Возняк и Стив Джобс для Atari ещё до основания собственной компании. Но есть гораздо более интересные "пасхальные яйца" – музыкальные. Например, некоторые старые сканеры HP ScanJet определённо предпочитают классику.
Вообще, согласно сайту www.eeggs.com в компании HP работает много неординарных личностей. По крайней мере, список секретных функций в продуктах этого вендора наиболее внушителен. К сожалению, времена больших и шумных устройств прошли, поэтому теперь разработчики из HP вынуждены довольствоваться добавлением простеньких игр в свои МФУ. Например, в серию HP PhotoSmart 3200 встроен бессмертный Breakout.
Сейчас "пасхальные яйца" всё чаще появляются на веб-сайтах. Первыми на этой ниве отличились Yahoo и Google. На сайте Yahoo можно нажать на точку в восклицательном знаке на логотипе и услышать название компании. Google же прославился своим пасхальным зайцем. В последнее время "пасхальные яйца" на сайтах создаются исключительно для вирусного маркетинга и увеличения посещаемости. Некоторые интересные примеры можно посмотреть здесь.
Также распространены скрытые треки на различных Audio CD. Ещё чаще встречаются дополнительные материалы к фильмам на DVD (теперь и BD), для доступа к которым надо совершить определённые действия. Например, дважды щёлкнуть на логотипе кинокомпании в главном меню диска. Существуют целые сообщества энтузиастов, которые ищут и коллекционируют такие секреты. Впрочем, наиболее оригинальным пасхальным яйцом из области музыки мне кажется скрытое изображение в композиции Equation группы Aphex Twin. Оно отчётливо видно при просмотре спектрограммы waw-файла.
Однако не всегда "пасхальные яйца" создаются исключительно для развлечений. Иногда их используют для защиты от копирования. Любопытная история связана с “яблочной” корпорацией. В 1980-м году некая компания Franklin Computer занялась тем, что стала выпускать клоны Apple II под названием Franklin Ace и с более низкой ценой. Господа из Franklin Computer старательно скопировали почти каждую деталь оригинала, включая ROM-прошивку и документацию. Внутри все упоминания об Apple были заменены на Ace. Но через некоторое время выяснилось, что в одном месте такая замена не была произведена. Это послужило отличным поводом засудить Franklin Computer до потери пульса и заставило задуматься о превентивных мерах. Стив Джобс решил добавить функцию защиты от копирования прямо в прошивку.
Реализовано это было следующим образом. Была нарисована иконка Stolen!! (c) Apple, которая в сжатом виде размещалась внутри служебных таблиц, а в ОС была добавлена функция декомпрессии этого изображения. Для вывода иконки на экран надо было войти в отладчик и ввести определённую комбинацию с клавиатуры. Взломать эту защиту, похоже, никому не удалось, да и узнали про неё только через четверть века после описываемых событий от Andy Hertzfeld – одного из разработчиков оригинального Macintosh! На его сайте можно найти ещё много интересного о тех временах. В современной IT-индустрии используются похожие методы. Например, оригинальные установочные диски Microsoft Windows Vista содержат микроизображения. Компания в своё время отказалась давать комментарии по этому поводу. Иногда "пасхальные яйца" используются для проверки качества работы аутсорсинговых компаний. В основном тех, кто занимается бета-тестированием или локализацией. В некоторых случаях своеобразной защитой являются ошибки или недоработки, которые были допущены в ходе разработки. Например, Apple IIc при вводе в командную строку “PR#7” выдавал сообщение “AppleTalk offline”. По сути, это “призрак” сетевого интерфейса AppleTalk - он изначально должен был присутствовать в этом компьютере, но потом от него было решено отказаться. В поздних версиях прошивки “призрак” был окончательно уничтожен.
Если вы обратили внимание, то большинство "пасхальных яиц" собранных на сайтах, относится к продуктам, которые были выпущены довольно давно. Это вполне закономерно, ведь для нахождения "пасхалки" зачастую нужно сделать что-то совершенно нелогичное или неординарное. Это вовсе не означает, что сейчас производители и разработчики не добавляют скрытый функционал. Присмотритесь внимательно к вещам, которые вас окружают. Может быть, и в них есть что-то необычное?