Как стать автором
Обновить

Украдено у Apple

Время на прочтение3 мин
Количество просмотров13K
Автор оригинала: Andy Hertzfeld

В 1980 году компания Franklin Computer выпустила клон Apple II под названием Franklin Ace, разработанный под «яблочное» ПО. Из Apple II скопировали практически все, включая программное обеспечение из ПЗУ и документацию, и продали клон по более низкой цене. Мы даже нашли место в мануале, где забыли поменять «Apple» на «Ace». В Apple пришли в ярость и подали на Franklin в суд. В конце концов мы победили и вынудили Franklin убрать Ace с рынка.

Компьютер Apple II
Компьютер Apple II
Компьютер Franklin ace 100
Компьютер Franklin ace 100

Несмотря на то, что Apple выиграла дело, какое-то время нам было страшно и не до конца понятно, вынесет ли судья решение в пользу Apple в следующий раз — во Franklin утверждали, что они имеют право копировать ПЗУ Apple II, поскольку это просто «функциональный механизм», необходимый для программной совместимости. Мы думали, что кто-нибудь может попробовать аналогичный трюк с Macintosh. Возможно, кто-то достаточно сообразительный мог бы замаскировать код (скажем, путем систематической перестановки некоторых регистров), чтобы он не выглядел похожим на оригинал на двоичном уровне. Мы подумали, что нам лучше принять меры предосторожности.

Стив Джобс решил, что если какая-нибудь компания скопирует ПЗУ Mac’а на свой компьютер, то он хотел бы иметь возможность сделать демонстрацию во время испытания, где мог ввести несколько комбинаций клавиш на немодифицированном скопированном компьютере и получить большой значок «Stolen from Apple» на экране. Процедуры и данные для выполнения этого должны быть незаметно встроены в наше ПЗУ, чтобы «клонировщики» не знали, как их найти и удалить.

Из такой каверзной задачи получился забавный проект. Сьюзан придумала симпатичную иконку «Stolen from Apple» с тюремными решетками. Стив Кэппс разработал простую схему сжатия значков из ПЗУ для экономии места, поэтому мы сжимали значок с помощью его метода, который не только уменьшал накладные расходы, но и значительно усложнял обнаружение значка. Наконец, мы написали крошечную процедуру для распаковки значка, его масштабирования и отображения на экране. Программу спрятали в середине некоторых таблиц данных, чтобы ее не нашли при дизассемблировании ПЗУ.

Первоначальная версия значка. Впоследствии тюремные решетки убрали.
Первоначальная версия значка. Впоследствии тюремные решетки убрали.

Все, что нужно было сделать для ее вызова, — это войти в отладчик и ввести букву «G» и шестизначный шестнадцатеричный адрес, что означает выполнение процедуры по этому адресу. Работу продемонстрировали Стиву, и ему понравилось. Мы даже надеялись, что кто-то скопирует ПЗУ, чтобы продемонстрировать нашу предосторожность.

Насколько мне известно, в дальнейшем никто никогда не копировал ПЗУ в коммерческом проекте, так что во всем этом не было особого смысла, но на какое-то время возникла некоторая интрига. Мы проговорились, что где-то там был спрятан значок «Stolen from Apple», отчасти чтобы удержать людей от копирования ПЗУ. Однако один хакер стал одержим попытками его найти.

Наиболее известная версия значка
Наиболее известная версия значка

Стив Джасик — автор дизассемблера/отладчика MacNosy, который можно было использовать для создания псевдо-исходников для ПЗУ. Он довольно быстро узнал о значке «Stolen from Apple» и решил изолировать его. Стив жил в Пало-Альто, поэтому я время от времени натыкался на него. Он просил дать подсказку или высказывал свои теории, которые всегда были неправильными. 

Это продолжалось два или три года, прежде чем Стив наконец расколол задачку: он рассказал мне о сжатой иконке и адресе процедуры отображения. Я поздравил его, но не был уверен наверняка, понял ли он это сам или кто-то, имеющий доступ к исходному коду, проговорился.


Дата-центр ITSOFT — размещение и аренда серверов и стоек в двух дата-центрах в Москве. За последние годы UPTIME 100%. Размещение GPU-ферм и ASIC-майнеров, аренда GPU-серверов, лицензии связи, SSL-сертификаты, администрирование серверов и поддержка сайтов.

Теги:
Хабы:
Всего голосов 24: ↑18 и ↓6+23
Комментарии9

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань