gortef
Завсегдатай
  
Репутация: 0
Сообщений: 262
|
 |
: 17 Август 2006, 23:46
|
|
Небольшая статейка про защиту дисков StarForce
Общая характеристика защиты. Защитные механизмы, работающие на компьютере конечного пользователя защищенного диска, можно условно разделить на две части. К первой части отнесем все способы противоджействия исследованию защищенной программы и приведению исполняемых файлов к состоянию, в котором они будут способны работать без оригинального компакт-диска. Во второй части окажется непосредственно механизм проверки подлинности компакт-диска. Исследование средств защиты исполняемых модулей от отладки и снятия правильно работающего дампа — занятие неблагодарное. Для грамотно защищенной программы, с умом использующей все возможности, предоставляемые защитой, процесс восстановления исполняемого модуля доступен только высококлассным специалистам и практически не поддается автоматизации. То есть для снятия защиты с каждой новой программы потребуется большую часть исследований проводить сначала. Да и полной гарантии стопроцентной работоспособности получить не удастся. Фрагменты защиты могут быть вставлены в труднодостижимые места. Например, какая-нибудь проверка вполне может выполняться только в седьмой миссии многоуровневой игры, до которой невозможно добраться быстрее, чем за трое суток непрерывных сражений! Так что оставим снятие защиты через восстановление исполняемых модулей фанатикам исследований программ и перейдем к рассмотрению части защиты, связанной с проверкой аутентичности компакт-диска. Как утверждают разработчики StarForce, при изготовлении защищенных дисков не требуется никакое специальное оборудование, позволяющее наносить лазерные метки или какие-либо иные повреждения поверхности компакт-диска. Да и современные программы побитового копирования дисков, такие как CloneCD или BlindRead/BlindWrite, способны настолько точно воссоздавать все ошибки, что защита оказывается неспособна отличить оригинал от копии. Однако практика показывает, что в подавляющем большинстве случаев копия диска, защищенного StarForce, не опознается как оригинальный диск, какой бы программой ни выполнялось копирование. Так как же StarForce опознает оригинальный диск? Правильный ответ на этот вопрос знают только разработчики, однако в форуме поддержки Daemon Tools можно найти высказывание, что StarForce использует информацию об углах между секторами и метод получения этой информации совместим с 99.9 % приводов CD-ROM (StarForce uses angle info and the method of retrieving this makes it 99.9% compatible with any CD-ROM). Попробуем проверить гипотезу об определении аутентичности диска путем измерения его угловых характеристик. Для этого смоделируем процессы, происходящие при чтении диска.
Как StarForce проверяет диск.
Проверка подлинности диска состоит из нескольких этапов. Сначала читается информация о диске, установленном в приводе, и проверяется его метка тома. Затем выполняется 8 запросов на чтение случайных одиночных секторов с номерами в диапазоне от 1 до 65 536. Результаты чтения никак не используются, и, скорее всего, эти действия нужны для разгона диска до номинальной скорости вращения. Затем еще раз читается (но уже не проверяется) информация о диске. Все перечисленное выше проходит через драйвер файловой системы CDFS, никак не защищено от анализа и, следовательно, наверняка не влияет на процесс аутентификации. Все остальные обращения к диску идут на более низком уровне.
|