защиты от копирования (предыдущий обзор Вы можете найти в файле
2BINFO.ZIP в статье 2BCOPY). Несмотря на заявления, содержащиеся в
рекламных материалах ряда нижеперечисленных систем защиты, о
некопируемости ключевых дискет с помощью платы OPTION BOARD (так мы
для краткости будем называть плату COPYIIPC DELUXE OPTION BOARD фирмы
Central Point Software), эти заявления сильно преувеличены. Видимо
авторы этих систем выдают желаемое за действительное. Чтобы в
дальнейшем специально не повторяться, сразу отметим - дискеты всех
нижеперечисленных систем защиты легко копируются этой платой. Авторы
настоящего обзора обычно используют плату OPTION BOARD для создания
архивных копий ключевых дискет систем защиты от копирования. Ниже
помимо формата ключевых дискет систем защиты приводится один из
возможных способов получения соответствующего формата.
STAS-3
Анализ проводился на основе ключевой дискеты. Самой системы в
распоряжении не было.
Автор системы Стас Ляшев (см. систему НОТА в предыдущем обзоре)
не отказался от идеи использования инженерных цилиндров. Ключевая
информация располагается на 0 поверхности 41 цилиндра. Дорожка
форматировалась на 3 сектора с кодом длины сектора 2 (стандартный
сектор 512 байт), GAP=84 и символ заполнитель 246. Значения CHRN
секторов следующие - (41,0,11,2), (41,0,12,2) и (41,0,99,3). В
последний сектор (с кодом длины 3) записана ключевая информация. Для
получения работоспособной копии информацию из последнего сектора
ключевой дискеты необходимо переписать в соответствующий сектор
дискеты-копии.
Дискету крайне легко копировать с помощью программы EXPLORER, а
те, кто умеет работать с дискетами через BIOS, с легкостью напишут
программу копирования этой дискеты.
ALFA - 2.05 (RAIZOR)
(производитель МП "АНКАД")
Система ALFA тоже использует крайне простой формат ключевой
дискеты. Поверхность 0 цилиндра 39 отформатирована на 19 секторов с
кодом длины сектора 1 (сектор 256 байт), GAP=10 (точно не
анализировали за ненадобностью) и символом заполнителем 246. Значения
CHRN первых 9 секторов: C=39, H=0, R=1-9 и N=1. Остальные 10 секторов
имеют нулевые значения во всех полях CHRN. Ключевая информация
записана в первом секторе. Вообще говоря, для копирования дискеты
достаточно отформатировать соответствующую дорожку дискеты-копии на 1
сектор с кодом длины 1 и CHRN (39,0,1,1) и перезаписать в этот сектор
информацию из ключевой дискеты.
Дискету крайне легко копировать с помощью программы EXPLORER.
Если Вы умеете работать с дискетами с помощью средств BIOS, то
написать программу копирования ключевой дискеты с помощью этих средств
для Вас не составит труда.
2
PROTECT 5.0.
Дискета строго аналогична по формату дискете системе ALFA.
ECP
распространяется ЦЭИ МФТИ.
Авторы этой системы утверждают, что они гораздо круче систем
COP's COPYLOCK и CERBERUS. Делать такие заявления надо весьма
осмотрительно. Мы, как разработчики системы CERBERUS, весьма
положительно относимся к неизвестным нам разработчикам системы COP's
COPYLOCK, т. к. в ней применены простые, но весьма и весьма
эффективные средства создания ключевой дискеты. Спор может идти только
вокруг стойкости защиты от отладчика и возможности выпуска ключей на
различных ПЭВМ. Защиту от отладчика COP's COPYLOCK делает весьма
слабо. Для того чтобы выпустить ключевую дискету с помощью COP's
COPYLOCK, нужно долго искать подходящую ПЭВМ. Также COP's COPYLOCK
страдает тем, что ключевая дискета может неустойчиво опознаваться
(даже в НГМД, в котором она была создана).
Авторы же ECP, похоже не пошли дальше использования средств BIOS
при создании ключевой дискеты. Ключевая информация располагается на
инженерных цилиндрах. Поверхность 0 цилиндра 40 форматировалась на 30
секторов с кодом длины сектора 0, GAP порядка 10 (это достаточно) и
символом заполнителем 11. В первом, четвертом, седьмом и т. д.
секторах в CHRN устанавливается N=2 и номера секторов R принимают
последовательные значения от 1 до 9. Перезапись этих секторов затирает
адресные маркеры идентификаторов двух примыкающих секторов и
получается стандартный формат с N=2 и номерами секторов R от 1 до 9.
Сектор 28 не затирается и для него в CHRN при форматировании
устанавливается (40,0,10,1). В этот сектор записывается ключевая
информация. После записи затирается адресный маркер идентификатора
одного примыкающего сектора. В результате на дорожке остается один
последний сектор, используемый для контроля GAP4B. Сектор имеет CHRN
(40,0,11,2). Все это легко повторить с помощью программы EXPLORER. Для
сохранения длины GAP 4B необходимо выполнить "короткую" запись
информации из этого сектора с ключевой дискеты. О методе "короткой"
записи рассказывалось при анализе системы SHIELD в предыдущем обзоре.
Также ключевая информация располагается на поверхности 1 цилиндра
40. Там наворочена всякая ерунда со стандартными параметрами
форматирования (количество секторов = 9, N=2 и символ заполнитель 11).
Вся игра происходит на длине GAP и CHRN секторов. Анализ структуры
дорожки и форматирование легко сделать с помощью программы EXPLORER.
Никакая дополнительная информация на эту дорожку не записывается.
СИСТЕМА БЕЗ НАЗВАНИЯ
Система защиты, название которой нам неизвестно, анализировалась
на основе дискеты, на которой была записана ИПС "ТРАНЗИСТОР".
Очень приятно было увидеть использование новых принципов создания
ключевой дискеты (новых, с точки зрения рассмотренных в наших обзорах
систем), явно требующих знания контроллера НГМД. Поздравляем
разработчиков!!!
Поверхности 0 и 1 форматировались, как описано для системы SHIELD
в предыдущем обзоре. Однако последние сектора на дорожках
использовались не для контроля GAP 4B. Они имеют R=11 и N=6 и в них
производилась "короткая" запись ключевой информации (использование N=6
препятствует копированию этих секторов с помощью программы COPYIIPC,
которая не умеет перезаписывать "короткие" сектора с таким кодом
3
длины). Помимо этого используется хранение информации в GAP3
(аналогично системам CONVOY, SOFT LOCK и т. д. - см. предыдущий
обзор).
На наш взгляд, это одна из лучших защищенных дискет, которые мы
анализировали.
File_PROTECTION
Version 3.10
(C) 1991 NOVEX Technology, Ltd.
Ключевая информация располагается на инженерном цилиндре 40
поверхности 0. Дорожка форматировалась на 11 секторов с кодом длины
сектора 1 и GAP=232. В каждом случае используется свой символ
заполнитель. Способ его определения мы опишем ниже. При первичном
форматировании CH секторов устанавливаются 40,0. R и N устанавливаются
следующим образом:
(1,2),(16,0),(17,0),(9,2),(5,3),(6,3),(7,3),(8,3),(9,3),(10,3),(11,3).
Затем производится запись в сектор с RN (11,3), что приводит к
затиранию первого сектора дорожки, потом запись в сектор с RN (10,3) и
т.д., включая запись в сектор с RN (9,2). В результате получается
формат дорожки с 3-мя секторами с RN - (16,0),(17,0),(9,2). Теперь в
сектор с RN (9,2) переписывается информация из соответствующего
сектора ключевой дискеты.
На ключевой дискете с самим File_PROTECTION также был
отформатирован инженерный цилиндр 40 поверхность 1 с CH (40,1) и
остальным аналогичным форматом.
Разработчики системы не проверяют многое из того, что у них
получается в формате дорожки. Поэтому для получения ключевой дискеты
достаточно выполнить форматирование на 3 сектора с кодом длины сектора
2, RN (16,0),(17,0),(9,2), GAP=80 и перезаписать сектор (9,2) с
ключевой дискеты.
Для определения символа заполнителя достаточно прочитать сектор с
RN (17,0) с ключевой дискеты и посмотреть код первого символа, который
в нем записан. Это и есть символ заполнитель формата.
Все вышеперечисленные процедуры легко выполняются с помощью
программы EXPLORER.
ЗАКЛЮЧЕНИЕ.
Подводя итог двум выпускам этого обзора можно отметить, что
данные, приведенные в сборнике фирмы "ЭЛИАС", по стойкости систем
защиты от копирования, не совсем верные.
Во-первых, все вышеперечисленные (в этом и предыдущем обзоре)
системы легко копируются платой OPTION BOARD (мы также анализировали и
другие отечественные системы, о которых уже не помним, но все они
легко копируются платой OPTION BOARD). Вообще защита от копирования
платой OPTION BOARD является делом весьма сложным и по внешнему виду
формата ключевой дискеты всегда можно сказать, есть ли на дискете что-
то, что не позволяет скопировать ее с помощью платы. Также для защиты
от платы необходимо в совершенстве владеть знаниями о формате дискеты
и о работе с контроллером НГМД (включая специальные "трюки").
Во-вторых, ряд систем легко копируется подручными программными
средствами (например с помощью программы EXPLORER).
В-третьих, для некопируемых с помощью программы EXPLORER систем
(типа CONVOY, SUPER GUARD и т.д.) можно разработать достаточно простые
программы копирования, т.к. на ключевых дискетах слишком мало ключевых
признаков и они достаточно однообразны.
4
На этом мы пока прекратим обзоры систем защиты от копирования.
Эти материалы готовились для того, чтобы ввести читателей в курс
проблемы и помочь сделать правильный выбор. В ближайшем будущем мы
готовим к выпуску книгу, посвященную проблемам компьютерной
безопасности и защите от копирования. Также планируется подготовить
серию книг, описывающих методы программирования аппаратуры ПЭВМ без
использования BIOS на уровне адресов ввода/вывода. Если Вас интересует
такая проблематика, то мы готовы выслушать предложения, о какой
аппаратуре следует написать в первую очередь и за какую цену Вы
согласны купить такие книги. Серия, помимо книг, будет включать
дискеты с примерами.
Авторы не только "ковыряют" чужие системы. Прямо скажем, что это
вообще не их профиль (на анализ всех вышеперечисленных систем у нас
ушло очень мало времени). Мы такие же разработчики программ, как и
все. В качестве образца наших программ Вы можете познакомиться с
системой защиты от копирования CERBERUS.
CERBERUS не использует BIOS, а работает напрямую с контроллером
НГМД.
На дискете системы CERBERUS версии 1.8 содержится много
контролируемых ключевых признаков. На отечественном рынке CERBERUS
единственная система, дискеты которой ДЕЙСТВИТЕЛЬНО НЕ КОПИРУЮТСЯ
платой OPTION BOARD.
Первые версии CERBERUS (1.0 и 1.1) обладали недостаточно стойким
алгоритмом защиты от отладчика. Разработчики имели ряд бесед со своими
знакомыми специалистами по взлому, которые указали им на недостатки. В
CERBERUS версии 1.8 алгоритм защиты от отладчика значительно улучшен.
Также значительно улучшена надежность работы программы на различных
типах ПЭВМ.
Сейчас готовится новая версия системы - CERBERUS 2.0. (В
настоящее время готов бета-релиз системы). Она умеет защищать все
классы DOS программ - COM, EXE, внутренние оверлеи, драйверы DOS и