20-07-2023
Работа с оптическими дисками | |
---|---|
Типы оптических дисков | |
|
|
Форматы | |
Технологии защиты | |
StarForce — система защиты от незаконного копирования, разработанная компанией Protection Technology. Основная задача StarForce — предотвращение нелегального копирования ПО, как домашнего с помощью домашних копировщиков, так и промышленных, а также попыток обратного проектирования (декомпиляции).
Содержание |
Система защиты CD/DVD-дисков. Существует три подвида защиты: FL Disc CD/DVD, FL Disc CD-R/DVD-R, FL Disc CD Keyless/DVD Keyless.[1]
Кроме того, существует разделение по уровню защиты:
Для проверки диска используются определение количества секторов на определенных кольцах спирали диска с последующим сравнением полученных данных с информацией, закодированной в ключе.[2] При копировании оригинального диска на CD-R/DVD-R эти данные гарантированно не совпадут, и процедура проверки завершится неудачно. Также StarForce использует защиту от эмуляторов, для чего устанавливает в операционную систему свой драйвер, чтобы отличать реальные оптические приводы от виртуальных, созданных такими программами, как DAEMON Tools.
Система защиты программ, распространяемых через интернет посредством цифровой дистрибуции.[3] Фактически FL ProActive представляет из себя систему Управления Цифровыми Правами (DRM). Система предлагает разные модели распространения цифрового ПО — buy only, try&buy (trial), demo, rent, subscription. Программа, защищенная FL ProActive, может находиться в свободном доступе, но с помощью SDK StarForce разработчик может защитить как отдельные функции программы, так и всю программу целиком. Для ее активации потребуется ввести специальный ключ, выдаваемый разработчиком, с учетом аппаратных характеристик компьютера пользователя. Активация возможна как через интернет, так и посредством SMS или телефонного звонка. В последнее время данное решение все чаще и чаще применяется для защиты бизнес-приложений. [4]
Сочетает в себе возможности FL Disc, FL ProActive. Программы, защищённые FrontLine Universal распространяются на CD/DVD дисках.[5] Пользователь может использовать защиту, постоянно вставляя диск, как в случае с FL Disc, либо активировать купленный продукт через интернет. В случае интернет-регистрации, для запуска приложения диск больше не потребуется. Для избежания передачи/перепродажи используется ограниченное количество активаций (конкретные условия определяет издатель).
Защита только кода приложения без привязки к носителю или компьютеру. Служит для противодействия анализу исходного кода приложения. Используется компаниями, желающими скрыть алгоритмы работы своих программ от посторонних глаз. [6]
По желанию заказчика может быть применена в продуктах FrontLine Disc. Представляет из себя технологию, позволяющую использовать лицензионное ПО, распространяемое на оптических носителях, без проверки диска. [7] Технология была применена на вышедших в 2008 году играх «Ка-50: Чёрная акула» и Avencast: Rise of the Mage, и получила много положительных отзывов от пользователей. [8]
8 февраля 2010 года свет увидел отчет независимой организации геймеров — Reclaim Your Game(RYG)[9], посвященный одному из наиболее часто используемых издателями в последнее время продуктов компании — FrontLine ProActive. Сайт RYG содержит полный отчет о двух протестированных играх. [10]
В пользовательских кругах StarForce заработал негативную репутацию. Помимо исключительной прочности защиты (а значит, позднего выхода нелегальных версий; рекордом считается Splinter Cell: Chaos Theory, продержавшийся 422 дня[11]), причины этого таковы:
В версих 3.х StarForce устанавливала собственный драйвер CD-привода, предназначенный для защиты от эмуляторов. Этот драйвер устанавливался скрытно и не удалялся после деинсталляции игры. К тому же в 2006 году были обнаружены две проблемы:[12] во-первых, совместимость с некоторыми CD-приводами оказалась неполной (наблюдались крахи системы, прекращавшиеся с деинсталляцией драйвера[13]; пошли даже слухи о поломках приводов). Во-вторых, выяснилось, что драйвер содержит грубую ошибку, позволяющую выполнять любой программный код с полными правами, представляя, таким образом, брешь в защите компьютера. К тому же, некоторые бесплатные игры, запускающиеся без диска (например, Trackmania Nations) также устанавливают драйверы StarForce — либо для защиты от читерства, либо для того, чтобы было сложнее взломать платную версию «по аналогии».
По мнению Криса Касперски (2005):[14]
Разработчики характеризуют себя как людей с хакерским прошлым, сильных в системном программировании. Ребята и в самом деле знают тайники операционной системы как свой задний двор. Но вот программировать умеют едва ли, ведь программирование — это в первую очередь проектирование и учёт рисков. Программа, ориентированная на массовое применение, просто не может пользоваться недокументированными возможностями и прочими приёмами нетрадиционного программирования. |
Сайт Boing Boing, опубликовавший в 2006 году сообщение об этом, на следующий день был обвинён разработчиками в клевете[15].
Через полгода Protection Technology исправила ошибку с превышением прав. В связи с частыми слухами о поломке приводов компанией была объявлена акция, согласно которой доказавшему вред StarForce для компьютера полагалась $1000[16]. Позже сумма была увеличена до $3000[17], а потом и до $5000[18], но вред, причиняемый решениями StarForce, так и не был доказан.
Тем не менее, в ответ разработчикам пришлось сделать запрос при инсталляции драйверов, утилиту-деинсталлятор и «бездрайверные» версии защиты. Начиная с версии 4.х, деинсталляция автоматически срабатывает при удалении последней защищённой игры. В тех же версиях 4.х компания прекратила практику использования собственных драйверов устройств и стала работать через стандартные драйверы Windows. Драйвер защиты остался, но он выполняет синхронизационные роли и не работает напрямую с оборудованием.
На данный момент (2007—2009) идёт постепенный переход на 64-битные ОС. Игры со старыми версиями StarForce (до 3.04) на 64-битных системах или не запускаются, или запускаются с программой-взломщиком.
Компания попыталась переложить проблему несовместимости на издателей игр[19], чем вызвала негодования в интернете.
Цель защиты от копирования — не сделать игру невзламываемой, это невозможно. Главная цель — оттянуть выпуск взломанной версии. Максимальные продажи обычно происходят в первые месяцы после выхода игры. Если игра не взломана за это время, защита работает. Через несколько месяцев мы даже рекомендуем издателям выпустить патч, снимающий защиту, чтобы сделать игру более комфортной для покупателей. |
В более новых версиях для перехода на 64-битные машины достаточно обновить драйверы.
В 2006 году широкую огласку в Интернете получил случай с игрой Galactic Civilizations 2. Работник Protection Technology, в ответ на утверждения пользователей, что игра вообще без защиты от копирования может продаваться хорошо, выложил на форуме ссылку на торрент-сайт, где в режиме реального времени можно было посмотреть, сколько человек в данный момент качают «пиратский» образ игры[20]. Позже компания принесла извинения за действие своего сотрудника.
В принципе, StarForce может работать на любом оборудовании для печати компакт-дисков. Но некоторые постсоветские заводы по производству компакт-дисков не проводят валидацию — поэтому в продаже периодически оказываются партии некачественных дисков, которые не проходят проверку. Это вынуждены признать сами авторы StarForce[21].
StarForce для проверки оригинальности диска, кроме всего прочего, использует метод анализа физического расположения данных. В результате этого даже из-за незначительного повреждения диска, которое слабо влияет на его читаемость и возможность установить с него игру или программу, система StarForce может признать диск неоригинальным
. Таким образом пользователи, заплатившие солидную сумму за лицензионный продукт, нередко лишались его из-за небольшой царапины на поверхности диска, а в случае с лицензионными CD-дисками, это иногда происходило из-за естественного износа носителя.Основу защиты представляет так называемая виртуальная машина.Это специальная часть кода программы,которая умеет менять свое положение в памяти,шифровать и расшифровывать участки кода,менять местами данные и адреса.Чтобы разобрать виртуальную машину,даже у опытного реверсера уйдет немало времени. Поэтому,для взлома Starforce обычно используют следующий алгоритм:
1. Делается дамп самой программы,когда она запущена в памяти с помощью лицензионного диска.
2. Делается дамп виртуальной машины (из памяти на диск сохраняются участки кода,отвечающие за расшифровку оригинальной программы).Смысл этого метода в том,что после загрузки секций памяти с диска все адреса остаются такими,как были бы если бы использовался лицензионный диск.
3. Восстанавливается импорт функций (для Starforce версий 4.хх)
4. Снимается защита "антидамп",которая не дает запустить полученный файл на компьютере,отличном от компьютера крекера (используется привязка по CPUID).
Причем для снятия самой младшей версии Starforce Basic достаточно выполнить только 1 и 3 пункты.Виртуальная машина используется в более продвинутой версии Starforce Pro/Builder.
StarForce.