Украдено у Apple +23


AliExpress RU&CIS

В 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-сертификаты, администрирование серверов и поддержка сайтов.




Комментарии (8):

  1. pureacetone
    /#23003684

    Хорошая заметка, причем вполне себе на злобу дня: скрытый функционал, человечек за решеткой и всё это на высшем уровне разработки ПО. Вспомнился анекдот: "Сначала мы разрабатываем бэкдор, затем вокруг него происходит наслоение функций, которые понравятся жертве".

  2. DustCn
    /#23004168 / +1

    Кто такие «мы» в первом абзаце?

    • gsaw
      /#23004514

      Они наверное

      Работая на Гая Триббла вместе с Биллом Аткинсоном и Бареллом Смитом, Херцфельд стал старшим программным архитектором Mac OS

  3. twelve
    /#23004364 / +1

    Интересно, что модуль Mac OS, отвечающий за проверку не запущена ли она на неоригинальном железе, называется dsmos.kext, т.е. “don’t steal Mac OS”

  4. vanxant
    /#23006252 / +1

    Видимо, эта история дала подсказку фирме Phoenix, которые первыми клонировали биос IBM PC.
    У них было две группы инженеров в двух разных офисах. Одни дизассемблировали оригинальный BIOS и писали спецификации на него, описывая, ЧТО нужно делать, вторые, не видя кода, писали свою реализацию спецификаций. Общаться им было разрешено только через те самые спецификации. Суды это убедило, клоны PC захватили мир.
    (Ну ещё, конечно, IBM заигрались с открытой архитектурой: чужой процессор, чипсет на стандартной логике, стандартная шина ISA (Industry Standard Architecture), и даже ОСь они лицензировали, но не эксклюзивно (не запретили дяде Билли продавать эту ОСь другим производителям компов)).

    • Gourry_aka_pm
      /#23008510

      Ну до чистой комнаты у феникса, были везунчики из Игла и прочих, которые влетели на серьезные деньги за содранные БИОСы

  5. poige
    /#23014984

    Он довольно быстро узнал о значке «Stolen from Apple» и решил изолировать его

    > изолировать

    — нет. \@