Признания взломщика дисков для Apple II: секреты 4am

https://paleotronic.com/2018/06/15/confessions-of-a-disk-cracker-the-secrets-of-4am/
  • Перевод

Интервью с имеющим дурную репутацию энтузиастом, собирающим коллекцию дисков для Apple II, о его целях и мотивации




Почему вы решили активно взламывать, архивировать и распространять ПО для Apple II?


Есть соблазн переписать историю и приписать себе какую-нибудь благородную цель, послужившую мотивацией для этого хобби, но в данном случае правда звучит лучше. Мои родители купили себе Apple //e [так стилизованно обозначали модель Apple IIe / прим. перев.], когда мне было 10 лет, и он быстро начал занимать всё моё свободное время. Пиратство процветало, и я идеализировал кракеров, чьи имена я видел проносящимися по экранам краков у тех игр, что я обменивался с друзьями. Я также восторгался людьми, описывавшими свои методы в обучающих материалах по взломам, которые изначально распространялись в виде текстовых файлов через BBS, а затем были собраны и распространялись на диске. Подростком я провёл множество вечеров, ковыряясь в командах PEEK, POKE и CALL, но у меня почему-то не получалось свести это всё воедино.

В конце 2013 я приобрёл настоящий Apple //e и несколько оригинальных дисков на eBay – это преимущественно были аркадные игры, которые я заполучил нечестным путём в детстве: Sneakers, Repton, Dino Eggs. К моему удивлению, в оригинальных играх оказалось больше контента, чем я помнил! В игре Sneakers была анимация загрузки. В Repton было многостраничное введение, объяснявшее предысторию игры. Поэтому я решил создать «полные» взломанные версии, честно воспроизводившие оригинальный контент. Я решил записывать мои попытки, потому что мне нравится писать на технические темы, и потому что я восхищался классическими кракерами, которые так делали. Я решил отказаться от экранов, сообщающих о взломах, хотя в нескольких моих ранних краках есть «пасхалки», на которых можно увидеть надпись «4am», если знать, как их вызвать.

В одной из покупок с eBay оказалась обучающая игра Ten Little Robots. После её взлома я не смог найти её копий в интернете, что было странно. Наверняка же взломали всё, что можно? Может, её имя указали неверно, или неправильно сохранили? Потом я нашёл ещё один диск, который, судя по всему, тоже оказался уникально сохранившимся. И ещё один. И наконец, я начал понимать, что, возможно, взломано было не всё.

Я рассказал об этом Джейсону Скотту [по-видимому, имеется в виду американский активист, историк технологий, режиссёр и актёр Jason Scott / прим. перев.], и он мне всё объяснил. Сохранение коллекций зависит от пиратов, ими движет эго, но они стеснены техническими ограничениями их эпохи. В 1980-х это были объёмы памяти и скорость передачи данных. Никто не получал признания за взлом программы «Неправильные испанские глаголы в будущем времени», ни на какой BBS не стали бы тратить место на жёстком диске для её хранения, и никто из пользователей не стал бы тратить пропускную способность своей телефонной линии для её скачивания. Поэтому она не сохранилась ни в каком виде.

Но даже те программы, что были взломаны, сохранились не полностью. Те же самые технические ограничения привели к появлению культуры, в которой побеждала наименьшая по объёму версия игры. Это означало удаление анимированных загрузок, заглавного экрана, многостраничного введения, промежуточных роликов, всего, что казалось пиратам «необязательным». Святым Граалем считалось такое обрезание контента, после которого игру (или то, что от неё осталось) можно было распространять в одном файле, который можно было смешать с другими, не связанными с ним играми, на одной дискете.

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

Беспокоились ли вы по поводу авторских прав? Думали ли над этической стороной того, как восстановление потерянного ПО перевешивает право владельца на ограничение его распространения?


Все описания и ПО со снятой защитой хранятся в виде образов дисков на сайте archive.org. Владельцы сайта всегда подчиняются запросам от DMCA на удаление контента. Они ещё ни разу не получали запросов на удаление чего-либо из коллекции 4am. Наоборот – несколько авторов нашли там свои программы и поблагодарили меня за их сохранение. Один из них даже попросил прощения за защиту от копирования. Он понимал, что тогда она была «необходимым злом», но был очень рад, что кто-то, наконец, потратил время на её отключение. Он сказал, что был очень рад снова встретиться с результатами своих трудов, впервые за несколько десятилетий.

Поскольку большая часть функциональности высокого уровня накопителя Disk II основано на загружаемом с диска ПО, это давало множество возможностей для создания различных схем защиты. Насколько это мешало делу сохранения ПО для Apple II?


Нам пока ещё не удалось сделать идеальные цифровые аналоги дискет Apple II. Диски – это аналоговые, физические объекты, состоящие из сотен тысяч изменений магнитных потоков [magnetic flux]. Эти изменения хранятся на физической поверхности диска и считываются физическими приводами, у которых есть свои варианты и ограничения. Приводы Disk II большую часть функциональности давали на откуп ПО, и софт использовал любые возможные пограничные случаи.

Там, где программы для копирования теряли биты, схемы защиты проверяли отсутствие битов. Там, где программы неправильно располагали данные на треках, защита проверяла соответствие трекам. Ваша программа для копирования не может считывать данные с диска, физически близко расположенные к другим данным? Угадайте, как мы будем размещать данные на следующем диске! И так далее. Это всё была большая игра в кошки-мышки, бесконечная война, заканчивающаяся, когда проиграли все.

Все эти физические особенности тяжело отобразить в цифре, и десятилетиями попытки сделать это никто не предпринимал. В 1990-х люди придумали способы оцифровки некоего приближения к диску, обрабатывая разные нибблы и биты. Этого оказалось достаточно для оцифровки взломанного софта, поскольку кракеры уже провели нормализацию оригинальных дисков, чтобы их можно было распространять через BBS.

В современном мире существует специальное оборудование, способное оцифровать дискету на уровне изменений магнитных потоков. По разным причинам изготовители этого оборудования концентрировались на платформах, отличных от Apple II, и несколько нерешённых технических проблем не дали сообществу коллекционеров воспользоваться этим оборудованием. На этом фронте есть подвижки, и я верю, что коллекционеры вскоре смогут создавать цифровые копии дискет Apple II на уровне магнитных потоков, а пользователи смогут загружать оригинальный софт в эмуляторах.

Какая защита от копирования была самой распространённой, а какая – самой сложной, по вашему опыту?


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

Самой популярной схемой был битовый поток E7 [E7 bitstream], известный, как "универсальная защита от пропуска битов" [generic bit slip protection]. Это была последовательность единиц и нулей, особым образом сделанная так, чтобы её первая часть читалась «в фазе», а потом код специально пропускал полбайта и читал вторую часть «не в фазе». Побитовые копировщики упускали бы биты из-за ограничений оборудования, и значения, прочитанные не в фазе, оказывались неверными. Это было гениально.

E7 придумали в 1983, и сразу пустили в производство. Она защищала Moptown Parade в 1984, Rocky’s Boots в 1985 и Prince of Persia в 1989. Я находил её на дисках от Addison-Wesley, Advanced Ideas, DesignWare, Edu-Ware, Microcomputer Workshops, Mindscape, Scholastic, Scott Foresman and Company, The Learning Company, Unicorn Software, Broderbund, Data East, Epyx и Windham Classics.

Самые сложные защиты – те, что глубоко интегрированы в саму программу, а не накручены сверху сторонней компанией. Некоторые издатели решали самостоятельно вкладываться в защиту от копирования, и нанимали экспертов, работавших внутри компании. Так сделали Gumball от Broderbund Software, при разработке которой автор программы работал совместно с автором защиты. Если вы думаете, что удалили защиту от копирования, потому что заставили игру загрузиться, вас ждёт сюрприз на третьем уровне, когда игра специально начнёт вести себя неправильно.

Диски каких разработчиков или производителей было сложнее всего взломать?


Самое сложное – это отложенная защита в играх. Этим отличалась Sierra On-Line. Если обойти вызов к саморасшифровывающейся защите игры Threshold, вы сможете играть, но ваш корабль будет двигаться только вправо. Если изменить проверку защиты так, что она всегда будет успешно завершаться, игра позволит вам играть на первом уровне, но будет глючить на втором. В неё встроили отдельную проверку на взлом, которая запускается только после первого уровня!

Strange Odyssey Скотта Адамса не запускает проверку защиты, пока вы не запустили игру, не спустились по лестнице и не взяли лопату. The Count не запускает проверку, пока вы не забрались в кухонный лифт, после порядка 15 ходов в игре. И это ещё лёгкие случаи, поскольку они просто перезагружаются или просто падают. В игре Transylvania есть отложенная проверка защиты, удаляющая жизненно необходимую локацию с карты, из-за чего в игру невозможно выиграть. Prince of Persia нейтрализует эффект снадобья, которое необходимо выпить, чтобы закончить 7-й уровень. Conflict in Vietnam имеет 13 раздельных проверок целостности защиты, которые могут вызвать неисправимую ошибку даже через час после начала игры!

Вопрос «удалил ли я всю защиту от копирования» эквивалентен "проблеме остановки". Когда мы сможем доказать, что удалили всю защиту со всех дисков, в этот день Вселенная перестанет существовать.

Вы, очевидно, предпочитаете делать взлом софта с нуля, но есть ли место в истории у взломанных дисков, подвергшихся изменению?


У всего есть историческая ценность. Пираты делали свой выбор, руководствуясь ограничениями, которых сегодня практически нет. Никто из родившихся в этом тысячелетии, не испытывал обрыва скачивания файла на 99% из-за того, что другой член семьи снял телефонную трубку в другой комнате. Всем плевать на разницу объёмов файлов в 1 Кб или 1,1 Кб. Мне никогда не приходилось рекламировать телефонный номер моей BBS. Я могу прочесть и провести поиск по всем номерам журнала Hardcore Computist на суперкомпьютере, который я ношу в кармане. Классическим пиратам приходилось достигать большего, имея меньше возможностей.

Вы снимаете защиту со многих обучающих программ. Это только для полноты коллекции, или же потому, что исторические кракеры игнорировали этот жанр, или вам кажется, что этот софт ещё может оказаться полезным для обучения?


У меня нет никаких иллюзий по поводу того, что кто-то будет использовать это ПО для того, для чего оно было создано. В лучшем случае оно может стать технологической демонстрацией того, что «мы дошли до таких высот, но 1 + 1 до сих пор равно 2». Но его оригинальная цель была важной! Это были не просто биты на дисках. Это был учебный курс. Именно так мы преподавали математику, точные науки, грамматику и историю целому поколению детей. Мне кажется, что это стоит того, чтобы его сохранить.

Вы написали утилиту Passport, помогающую снять защиту с ПО для Apple II, чтобы другие люди смогли преобразовать свои коллекции дисков в работающие файлы эмуляторов. Можете пояснить подробнее, что это за утилита, и как она работает?


В те дни существовало несколько утилит для взлома. Самой универсальной была Advanced Demuffin. Она использовала защищённый диск против его самого, считывая каждый сектор с кодом самого диска (RWTS), а затем записывая данные в незащищённую копию. Две проблемы: во-первых, необходимо было самостоятельно перехватить или вычленить RWTS. Во-вторых, необходимо было пропатчить код незащищённой копии, чтобы она могла себя считывать.

Большая часть ранних взломов у меня проходила в три этапа: захватить RWTS, запустить Advanced Demuffin, пропатчить копию. После 8 взломов я написал программу для автоматизации первого шага. После 152 взломов я написал программу для автоматизации 3 шага. После 688 взломов я написал Passport.

Passport – автоматизирования программа для проверки и копирования диска. И говоря «автоматическая», я это и имею в виду. В отличие от классических побитных копировщиков, у неё нет параметров, опций, настроек – кроме как целевого слота и привода. Она либо работает, либо нет.

Также, в отличие от классических копировщиков, она сразу выдаёт полностью незащищённую копию. Она обрабатывает все три шага упомянутого процесса. Не нужно возиться с отслеживанием загрузок, редактированием секторов. Всё встроено. Passport – это выжимка из всего, что я узнал о взломах, из всех дисков, всех вариантов, всех краевых случаев.

Из 688 моих взломов 478 могли быть автоматизированы при помощи Passport.

Эта программа полностью изменила моё хобби. Passport гарантирует постоянное качество. Я не волнуюсь о том, что могу пропустить патч или сделать опечатку в шестнадцатеричном значении. Я не трачу время на рутину, которую компьютеры могут делать за меня. Если я обнаруживаю два диска с одинаковой системой защиты, я дописываю новый модуль для Passport, чтобы автоматизировать процесс. Защита была поставлена на поток. Если я нашёл 2, их должно быть 20. Они где-то есть, гниют себе на физических носителях.

Автоматизация позволяет мне видеть за битами общую картину. Я могу проводить больше времени за написанием более глубоких описаний схем защиты, обход которых нельзя автоматизировать. Я могу делать скриншоты и видео с загрузкой, чтобы демонстрировать замечательное обучающее ПО. Защита от копирования – наименее интересная часть этих дисков. Это просто часть, не дававшая нам изучать все остальные их части.

Коллекция хранится по адресу:
archive.org/details/apple_ii_library_4am

Большая часть программ запускается прямо в браузере благодаря эмулятору от Internet Archive.

Утилита Passport:
archive.org/details/Passport4am

На февраль 2018 4am убрал защиту с 1673 программ для Apple II, и их количество продолжает расти.
Поделиться публикацией
Комментарии 9
    +3
    код специально пропускал полбита

    Я завис на этой фразе.
      +1
      Сначала думал, что речь о том, что на физическом уровне бит уже не неделимая единица, а какой-то участок пространства, и apple как-то играла на этом. В pdf по ссылке есть исчерпывающее описание метода.
        +7
        В оригинале «half a byte», т.е. полбайта.
          +4
          Полбайта — это восемь полбитов.
          А вообще для «редактора Хабра» довольно странно путать биты с байтами.
            +3
            … и для любого «редактора» довольно странно пометить заметную часть вопросов интервьюера как текст ответа интервьюируемого
        +7
        > post-processed nibbles and bytes
        > обрабатывая разные кусочки и биты
        Nibble — не «кусочек», а половина байта. «Полубайт» можно написать. Хотя мы, помню, так и говорили — «нибл». Это устоявшийся термин.
        https://ru.wikipedia.org/wiki/%D0%9D%D0%B8%D0%B1%D0%B1%D0%BB
          +1

          Cracked by Bill Gilbert

            0
            Нужно бы собрать весь фонд обучающих программ для БК, Корвета, Агата и УКНЦ.
              0
              Тут agatcomp.ru это попытались проделать для основанного на apple ii, отечественного компьютера Агат.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое