Выкусыватель бит

Bit nibbler , или нибблер, — это компьютерная программа, предназначенная для копирования данных с дискеты по одному биту за раз. Она функционирует на очень низком уровне, напрямую взаимодействуя с оборудованием дисководов, чтобы переопределить схему защиты от копирования , в которой могут храниться данные дискеты. В большинстве случаев программное обеспечение нибблера по-прежнему анализирует данные на уровне байтов, обращая внимание только на уровень битов при работе с метками синхронизации (syncs), нулевыми зазорами и другими заголовками секторов и дорожек. Когда это возможно, нибблеры будут работать с низкоуровневым форматом кодирования данных , используемым дисковой системой, таким как Group Coded Recording (GCR — Apple , Commodore ), Frequency Modulation (FM — Atari ) или Modified Frequency Modulation (MFM — Amiga , Atari , IBM PC ).

Обзор

Пиратство программного обеспечения стало проблемой, когда дискеты стали обычным носителем информации. [1] Простота копирования зависела от системы; Джерри Пурнелл писал в BYTE в 1983 году, что « CP/M не поддается защите от копирования», поэтому его пользователи «не слишком беспокоились» об этом, в то время как «пользователи Apple всегда сталкивались с этой проблемой. Так же, как и те, кто использовал TRS-DOS , и я знаю, что MS-DOS имеет функции защиты от копирования» . [2] Схемы защиты от копирования Apple и Commodore 64 были чрезвычайно разнообразными и креативными, поскольку большая часть чтения и записи на дискеты контролировалась программным обеспечением (или прошивкой ), а не оборудованием.

Пурнелл не любил защиту от копирования и, за исключением игр, отказывался делать обзоры программного обеспечения, которое ее использовало. Он не верил, что она была полезна, написав : «Для каждой схемы защиты от копирования есть хакер, готовый ее обойти. Большинство из них используют так называемые копировальные аппараты nybble, которые пытаются проанализировать исходный диск, а затем сделать копию» . [2] К 1980 году для Apple II был представлен первый копировальный аппарат 'nibble', Locksmith . Эти копировальные аппараты воспроизводили защищенные от копирования дискеты по целой дорожке за раз, игнорируя то, как были помечены сектора. Это было сложнее сделать, чем кажется, по двум причинам: во-первых, диски Apple не использовали индексное отверстие для обозначения начала дорожки; их приводы даже не могли обнаружить индексное отверстие. Таким образом, треки могли начинаться где угодно, но скопированный трек должен был иметь эту «склейку записи», которая всегда приводила к потере или дублированию некоторых битов из-за изменений скорости, примерно в том же (неиспользуемом для полезных данных) месте, что и оригинал, иначе это не сработало бы. Во-вторых, Apple использовала специальные «самосинхронизирующиеся» байты для достижения соглашения между контроллером диска и компьютером о том, где заканчивается любой байт и начинается следующий на диске. Эти байты записывались как обычные байты данных, за которыми следовала немного более длинная, чем обычно, пауза, которая, как известно, была ненадежной для обнаружения при обратном считывании; тем не менее, вам нужно было получить самосинхронизирующиеся байты примерно правильно, так как без их присутствия в нужных местах копия не работала бы, а при их присутствии в слишком многих местах трек не помещался бы на целевом диске.

Яблоко II

Locksmith копировал диски Apple II, используя тот факт, что эти поля синхронизации между секторами почти всегда состояли из длинной строки байтов FF (шестнадцатеричные — все биты '1'). Он находил самую длинную строку FF, которая обычно находилась между последним и первым секторами на каждой дорожке, и начинал записывать дорожку в ее середине; также он предполагал, что любая длинная строка байтов FF является последовательностью синхронизации, и вводил необходимые короткие паузы после записи каждого из них в копию. По иронии судьбы, Locksmith не копировал себя. Первый Locksmith измерил расстояние между сектором 1 каждой дорожки. Инженеры по защите от копирования быстро поняли, что делает Locksmith, и начали использовать ту же технику, чтобы обойти его. Locksmith ответил, представив возможность воспроизводить выравнивание дорожек и предотвратив себя от копирования путем внедрения специальной последовательности полубайтов, которая при обнаружении останавливала процесс копирования. Генри Робертс (технический директор Nalpeiron), аспирант факультета компьютерных наук в Университете Южной Каролины, провел обратную разработку Locksmith, нашел последовательность и распространил информацию среди 7 или 8 человек, занимавшихся в то время защитой от копирования. [ необходима цитата ]

К середине 1982 года было продано более 15 000 копий Locksmith. [3] В течение некоторого времени Locksmith продолжал обходить практически все существующие системы защиты от копирования. Следующим шагом вперед стала диссертация Генри Робертса о защите программного обеспечения от копирования, в которой был разработан способ замены поля синхронизации Apple FF на случайно появляющиеся шаблоны байтов. Поскольку аспирант часто обсуждал защиту от копирования с инженером по защите от копирования Apple, Apple разработала систему защиты от копирования, которая использовала эту технику. Затем Генри Робертс написал конкурентоспособную программу для Locksmith, Back It UP . Он разработал несколько методов для обхода этого, и в конечном итоге был разработан метод для прямого чтения полей самосинхронизации, независимо от того, какие полубайты они содержали. Борьба между инженерами по защите от копирования и копировщиками полубайтов продолжалась до тех пор, пока Apple II не устарел и не был заменен IBM PC и его клонами.

Коммодор 64

Частью программного обеспечения для копирования дисков Fast Hack'em был ниблер, использовавшийся для создания копий защищенного от копирования коммерческого программного обеспечения Commodore 64. При использовании нибблера копирование дисков выполнялось на очень низком уровне, побитно, а не с использованием стандартных команд Commodore DOS . Это фактически сводило на нет эффективность преднамеренных ошибок диска, нестандартных схем дорожек и связанных с ними форм предотвращения копирования. Копирование защищенного диска занимало приблизительно 60 секунд, если копирование производилось напрямую на другой дисковод, или 3 минуты (плюс несколько замен дисков), если выполнялось с использованием одного дисковода.

Super Kit/1541 [4] продавался Prism Software около 1986 года, написанный Джо Питером, который также делал Wrap Speed ​​и часть защиты от копирования VMax. Он включал в себя множество различных копиров, таких как Normal Copier, Nibbler, File Copier, Super Nibbler, Disk Surgeon и disk Editors. Также были параметры на Side-B (см. список ниже). 2 привода также могли быть соединены последовательно, и после программирования сам компьютер мог быть отключен и позволить приводам выполнять копирование, проверяя ключ вставки диска примерно за 20 секунд.

Интересный факт заключается в том, что программа могла сделать копию самой себя, НО не могла сделать копию копии, потому что длина синхронизации оригинала была короче, чем у сделанной копии, и загрузчик проверял эту длину, и копия имела гораздо более длинную синхронизацию. V3 была позже выпущена автором в PD.

NIBtools — это современное (около 2006 года) программное обеспечение с открытым исходным кодом, которое выполняет ту же функцию, предназначенное в основном для архивирования данных со старых дискет, которые могут быть защищены авторским правом или повреждены. [5] Вместо того, чтобы читать побитно, можно также читать много фрагментов по 1,25 КБ, а затем собирать их вместе способом, похожим на дробовик , подход, необходимый для использования медленных соединений на Commodore 1541. [6 ]

Rapidlok — это схема защиты от копирования, широко используемая многими компаниями, и ни одна ее версия не была успешно скопирована. Они использовали значение $00 между секторами, из-за чего копировальные аппараты стали «ненадежными», поскольку это было незаконное значение GCR. [7]

Ссылки

  1. ^ Защита от копирования: история и перспективы http://www.studio-nibble.com/countlegger/01/HistoryOfCopyProtection.html
  2. ^ ab Pournelle, Jerry (июнь 1983 г.). "Zenith Z-100, Epson QX-10, лицензирование программного обеспечения и проблема пиратства программного обеспечения". BYTE . стр. 411 . Получено 20 октября 2013 г. .
  3. ^ Libes, Sol (сентябрь 1982 г.). "Bytelines". BYTE . стр.  490–493 . Получено 30 декабря 2024 г. .
  4. Steverd (20 марта 2013 г.). «Super Kit/1541».
  5. ^ "NIBtools". Проект сохранения Commodore 64 (C64) .
  6. ^ Штейл, Майкл (27 апреля 2019 г.). «Чтение необработанных битов диска C64/1541 без параллельного кабеля». pagetable .
  7. ^ Ритваге, Пит (10 ноября 2019 г.). "Rapidlok info". страница .
Взято с "https://en.wikipedia.org/w/index.php?title=Bit_nibbler&oldid=1266164219"