Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

АРХИВ ФОРУМА eXeL@B
https://exelab.ru/f/

   

GPcH StarForce 3 в Противостояние 4 Война в заливе Помогите с инфой по...


GPcH StarForce 3 в Противостояние 4 Война в заливе Помогите с инфой по StarForce 3 или может кто знает как отучить EXE шник от CD
с помощью отладчика и дизассемблера? Приму любые советы (кроме использования
эмуляторов типа Alcohol)
Snowbit :: Забудь об этом...

WELL :: GPcH
Пока только образ Alchohol 120%. И то не всегда помогает

GPcH :: WELL пишет:
цитата:
Пока только образ Alchohol 120%. И то не всегда помогает


А в чем проблема со снятием защиты? Я конечно сразу понял, что это покруче Asprotect’а v1.3 будет,
но неужто никто еще не научился ее снимать???

WELL :: GPcH
Насколько мне известно, отламывали версии до 3-й. С 3-й пока глухо...

TOR :: Все новое,это хорошо забытое старое...
Мои наработки:
Отлавливает SI, ICEEXT 0.53 не спасает.Под Olly debuger- ом запускается нормально(может есть свои приколы,не смотрел)
Дизасмится Идой нормально,но небыло времени смотреть.
Может это чем-то тебе поможет :)

бара :: поможет зайти в тупик

TOR :: GPcH пишет:
цитата:
но неужто никто еще не научился ее снимать???


А хочешь быть первым ?
бара пишет:
цитата:
поможет зайти в тупик




RideX :: StarForce вроде опять обновился... Мне рассказали, вышел диск от Руссобит-М, «Власть закона», в нём уже не надо номер с диска вводить и Alcohol 120% v1.4.8.2222 Retail его не берёт :(

бара :: да хрен с ним.

Скоро наступит эра хардварных отладчиков. Всё к этому идёт уже бодрыми шагами.

Styx :: RideX
Этот серийник полная херня и ничего в нём особо страшного нет.
Если его нет значит и ненужен
Например в первом Старе его тоже небыло (А он точно обновился?).

TOR
А толку то от дизасма? Он ведь всё равно распаковывается или ты про protect.dll?

GPcH :: Даже Alcohol 120% v1.4.8.2222 Retail пишет:
Не могу сделать RPM

даже на скорости 1x

Как игру от диска отучить?

Styx :: GPcH
Знакомые с линухом есть? Если да то можно попробовать под ним сделать простую iso-шку, есть шанс что прокатит.

GPcH :: Styx пишет:
цитата:
Знакомые с линухом есть? Если да то можно попробовать под ним сделать простую iso-шку, есть шанс что прокатит.


А чем отличайтся iso файлы, созданные не в винде от созданныйх с помощью ASPI

Dragon :: GPcH
Ничем, это же просто образ диска без дополнительных параметров.
Если Alcohol 120% пишет, что не может что-то там, значит скорее всего или прохой привод, или диск повреждён, ведь RPM не зависит от того, что записано на диск.

TOR :: to Styx,насчет линуха наврятли прокатит,но я попробую. /я говорил о дизасме Protect.dll

.::D.e.M.o.N.i.X::. :: Насчет ключей - там пометка: В случае производства тиража дисков на заводе, который является партнером Protection Technology, используется технология Keyless, которая не требует ввода ключа конечным пользователем.
P.S. Кстати им требуется: Требуется высококвалифицированный программист, знающий языки C/C++/Asm и имеющий опыт разработки компиляторов. По ходу решили написать свой компилятор для защиты:)

Dragon :: .::D.e.M.o.N.i.X::.
Это им надо, чтобы свой байт-код усовервенствовать..

.::D.e.M.o.N.i.X::. :: Dragon
Кстати ты XtremeProtector победил?

Edmos :: Насчет нового StarForce такого нет, а на Власть закона стоит 3.03.033.008
Все виртуалится без проблем.

miller :: А что Вы скажете на это:
Спящий режим позволяет отключить компьютер, но при этом сохраняет его состояние
Аналогичным образом, операционная система Windows XP помогает компьютеру быстрее возвращаться из спящего режима. При переходе в спящий режим содержимое оперативной памяти сохраняется в сжатой форме на жесткий диск. В этом случае питание переносного или настольного компьютера можно полностью отключить. При включении электропитания документы и приложения открываются точно в том же состоянии, в каком они были до перехода в спящий режим. Поэтому пользователь может быстро продолжить прерванную работу.
Возможно войдя в такой режим с запущенной игрой, с сохранением файла HYBERNATE.SYS и при последующей подстановке его для загрузки можно решить проблемы с запруском игры без CD. Сам механизм вытаскивания состояния системы из этого файла мне не известен - тут дело програмистов.

Взято с http://forum.ixbt.com/0025/014611.html

ViNCE [AHT] :: GPcH пишет:
цитата:
WELL пишет:
цитата:
Пока только образ Alchohol 120%. И то не всегда помогает

А в чем проблема со снятием защиты? Я конечно сразу понял, что это покруче Asprotect’а v1.3 будет,
но неужто никто еще не научился ее снимать???


Есть конкретные челы, которые могут игру отучить, но с ними договариваются только в денежном плане... Тут не как с Аспром - взял тутор и отломал... Здесь для каждой отдельной игры свой нужен подход... да и полиморф копать с интерпретатором - полный геммор... ты уж поверь...

ViNCE [AHT] :: бара пишет:
цитата:
да хрен с ним.

Скоро наступит эра хардварных отладчиков. Всё к этому идёт уже бодрыми шагами.


Интересно бы посмотреть на хардварный отладчик...
Это получается что для каждого производителя + каждого вида железа нужен свой отладчик...

бара :: насчёт поста про отладчик я имел ввиду спецоборудование. Думаю оно уже давно есть, только вот вопрос сколько стоит.
Есть же оборудование для восстановления неоднократно отформатированных винчестеров. Когда-то тоже фантастикой некоторым казалось.

Dragon :: .::D.e.M.o.N.i.X::.
Я его не так давно копал, на импорте тогда остановился, помню, нашёл, что там библиотеки с диска подгружаются в динамическую память и функции вызываются оттуда. Дальше там перехват прерываний int1 и 3, т.е. отладчиком не пройти, а IDA не особо поможет, там много динамической расшифровки. Я написал эмулятор x86 для IDA(на wasm.ru есть), вот усовершенствую его, тогда ещё покопаюсь.

miller
Windows XP не поддерживает спящий режим для отдельных программ, архитектура ОС не позволяет(Например хэндлы окон, файлов и др. объектов могут быть заняты). А постоянно игру в памяти держать - неудобно. Всё же Alcohol 120% лучшее решение, главное, чтобы привод был качественный.

ViNCE [AHT] :: бара пишет:
цитата:
насчёт поста про отладчик я имел ввиду спецоборудование. Думаю оно уже давно есть, только вот вопрос сколько стоит.
Есть же оборудование для восстановления неоднократно отформатированных винчестеров. Когда-то тоже фантастикой некоторым казалось.


Терь понял... Я если про отладчики - конечно такие есть, но железный отладчик может отлаживать только один вид техники (ну максимум ещё пару видов)... Например, микроконтроллеры AVR не отладишь на PiC-овских отладчиках...

бара :: а насчёт StarForc’а 3 - пока нигде в инете реального примера или туториала не видел, кроме одного линка на взломанную игру с 3-м старфорсом - предлагалось скачать файлы - образ диска в каком-то формате и кейген для генерации ключа диска при установке.
У меня модем, поэтому я не стал качать естественно. Но люди писали в форуме, что всё устанавливалось и работало. Больше реально ничего не видел - ни туториалов по обходу старфорса ни чего другого. только ещё есть статьи по копированию дисков StarForce 3 пропатченныйм алкоголем (точнее с изменённым ini-файлом и тп) - но предупреждают что работает не на всех приводах такая игра - только на читающем и то не 100%. И про шлейфы там написано было - что иногда приходится IDE шлейф резака вынимать. Сам не пробовал.
Просто вот решил точку поставить.

Ромка :: Эх народ вы как в танке Всё же нашлись люди, кто это умеет и уже скоро будут плоды. Уже сижу в предвкушении
Насчёт эмуляции это с версии старфорца 3.3.33 больше невозможно, потому что на IO уровне во время проверки защитой все HDD в системе блокируются и тормозятся до конца проверки. Таким образом с образа находящегося на винте эмулятор не успевает или же не может подать запрашиваемый сектор и хана эмуляции, блин.
Кстати едмос, разъясни как у тебя эта версия виртуалится и чем, если ещё противоядия не придумали.
PS: ещё реально грузить с настоящего скази привода или же грузить образ с сети, только не с хардов в компе.

DZmey :: Ромка пишет:
цитата:
Всё же нашлись люди, кто это умеет и уже скоро будут плоды


Кто например :) Не имей привычку говорить за других
Извини конечно если это ты и есть те ЛЮДИ

Ромка :: Я же тупой, как полено, куда мне до таких высот
Всему своё время, терпение и труд всё перетрут

DZmey :: Ромка пишет:
цитата:
терпение и труд всё перетрут


Терпение и труд СтарФорс перетрут

бара :: Слепой сказал «посмотрим»

Dragon :: Ромка пишет:
цитата:
Насчёт эмуляции это с версии старфорца 3.3.33 больше невозможно, потому что на IO уровне во время проверки защитой все HDD в системе блокируются и тормозятся до конца проверки. Таким образом с образа находящегося на винте эмулятор не успевает или же не может подать запрашиваемый сектор и хана эмуляции, блин.


А для кого в статьях написано, что образ надо размещать на CD? Т.е. как бы сам файл .mds кидаешь на диск, и с него виртуалишь, Starforce3 только так определит диск. Можно также образ и в сеть кинуть, если есть.

RideX :: Dragon пишет:
цитата:
написано, что образ надо размещать на CD


Так то да, действительно можно :) Только если файл большой, › 800Мб, то не прокатит. У меня такой был где-то или даже чуть больше.

WELL :: А на DVD покатит?

DZmey :: WELL пишет:
цитата:
А на DVD покатит?


По-логике должно :) Там же не СД проверяется а эмулированный образ...

Dragon :: Покатит везде, главное, чтобы не на винте образ лежал. У меня в винта образ не запускался, а с CD спокойно. DVD конечно удобно, туда 5-6 образов можно кинуть, и оттуда виртуалить.

WELL :: Dragon пишет:
цитата:
DVD конечно удобно, туда 5-6 образов можно кинуть, и оттуда виртуалить.


Это точно :) А если двухсторонний и двуслойный, то еще больше :)

Ромка :: Ребята вы чего не догоняете что-ли? У вас все приводы наверняка АТАПИ, а эмулированый выдаёт себя за SCSI, а защита не будет идти при таком расположении дел со скази привода, а следовательно надо физически отключить атапи приводы, защита ведь иде шину сканирует на их присутствие. И отключив свой атапи привод, с чего вы образ считывать будете, если у вас только нет настоящего скази CD привода. А тут старфорцевцы с новой версией дров заподло приготовили эмуляторам, гогда образ находится на винте.
PS: решение уже придумано и можно образ на винте оставить.
Только ребята когда брешете, хоть краснейте хотя бы, ладно

Dragon :: Ромка пишет:
цитата:
Только ребята когда брешете, хоть краснейте хотя бы, ладно


Кто это тут брешет? starforce сканирует ВСЕ приводы в системе, а не только IDE ATAPI. Причём в алфавитном порядке, по буквам. Поэтому не надо ничего отключать, а просто букву виртуального CD поставить перед реальным.

DZmey :: Ромка
Это к тебе отностися когда брещищь и обвиняешь всех в этом... Красней в двойне

RideX :: Ромка пишет:
цитата:
защита не будет идти при таком расположении дел со скази привода


Точно, а я уже было обрадовался...

Ромка пишет:
цитата:
решение уже придумано и можно образ на винте оставить.


Так договаривай, раз начал :)

P.S. Alcohol обновился, правда у меня нет ни одного диска с новым StarForce, проверить его не могу. Кому надо, качать здесь:
http://download.9down.com....1705_retail_Incl_KEY.rar

RideX :: Dragon
Я тоже где-то слышал, что если в системе есть ATAPI и SCSI, то диск можно загрузить только с ATAPI. Сам правда не пробовал, потому утверждать не буду :)

Ромка ::
цитата:
Кто это тут брешет? starforce сканирует ВСЕ приводы в системе, а не только IDE ATAPI.


2 Dragon: Теперь я знаю, откуда у слухов ноги растут. Именно иде шину на прямую в обход виндовским аспи дровам сканирует сф3 на присутствие АТАПИ приводов. Кстати если у тебя на райде сидят винты, а приводы на встроенном контролере, то можно раньше было сразу в системных установках выключить ide bus driver.
Насчёт остального, всё это чушь выдуманная, что поставьте букву первой, это не идиоты защиту делали, там такие новшества введены, что аналогов в мире нет, защита ведёт себя во всех отношениях как вирус, один собственный обработчик ошибок на инт3 с делением чего стоит, чтобы выйти из собственной ловушки. У меня возникает ощущение, что я на допросе я завязываю.

2 RideX: Ты прав совершенно, это так и есть. Правда к сожалению новая версия алкаша не учитывает новые дрова, они вообще решили с этим делом подождать, так как не было на тот момент решения, жди теперь когда алкаш за вторую версию перевалит

Dragon ::
RideX пишет:
цитата:
Я тоже где-то слышал, что если в системе есть ATAPI и SCSI, то диск можно загрузить только с ATAPI. Сам правда не пробовал, потому утверждать не буду :)


В каком смысле загрузить?

Ромка
Какая разница, сканирует он IDE шину или нет, но проверяться все диски. Сначала для проверки используются стандартные функции GetDriveType и FindFirstFile/FindNextFile. Т.е. проверяются имена файлов на диске. Если проверка прошла, то защита и будет дальше мучать этот диск, а остальные и не тронет, поэтому и надо букву виртуального CD ставить первой, т.к. диски в алфавитном порядке проверяются. Если после starforce после проверки IDE дисков не проверяет остальные, то это уже просто баг в защите. Ведь интерфейсов много, например внешние приводы, которые подключаются через USB и firewire.

Styx :: Новый Алкаш 1.9: http://wav.alcohol-softwa...l120_trial_1_9_2_1705.exe
Говорят St3 умирает от этого Алкаша, особенно хорошо на TEAC. Сам не тестил.

Ромка ::
цитата:
Какая разница, сканирует он IDE шину или нет, но проверяться все диски. Сначала для проверки используются стандартные функции GetDriveType и FindFirstFile/FindNextFile. Т.е. проверяются имена файлов на диске. Если проверка прошла, то защита и будет дальше мучать этот диск, а остальные и не тронет, поэтому и надо букву виртуального CD ставить первой, т.к. диски в алфавитном порядке проверяются. Если после starforce после проверки IDE дисков не проверяет остальные, то это уже просто баг в защите. Ведь интерфейсов много, например внешние приводы, которые подключаются через USB и firewire.



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

Ромка :: Кстати у меня неплохая статейка есть для вас на досуге почитать, правда ещё была написана одним человеком при тогдашней версии старфорца 2.0
Тогда ещё не устанавливались драйверы со встроенным атапи определением,

цитата:

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

Модель задержек при чтении информации с компакт-диска

В популярных источниках легко найти описание характеристик звукового компакт-диска.

Компакт-диск (КД)
КД имеет диаметр 120мм и центральное посадочное отверстие диаметром 15 мм. Зона записи звука заключена в кольце с внутренним диаметром 50 мм и наружным— 116мм. Вне ее находится зона, содержащая вспомогательную информацию, которая позволяет автоматизировать процесс воспроизведения. Сигнал записан на дорожке, расположенной на КД в виде спирали. Шаг витков спирали 1.6 мкм, т. е. поперечная плотность записи 625 дорожек/мм. Всего дорожка образует на КД 20 000 витков общей протяженностью 5 км и начинается не у наружной границы зоны записи, как на обычных грампластинках, а у внутренней.

Все вышесказанное справедливо и для компакт-дисков, на которых записаны данные. Спираль разбивается на последовательно идущие сектора, длиной 2352 байт каждый (16-байтовый заголовок, 2048-байтовая область данных и 288-байтовая зона коррекции ошибок). Также известно, что линейная плотность информации вдоль спирали является постоянной на всем диске.



Ромка ::
цитата:

Для дальнейших рассуждений примем, что расстояние между дорожками (1.6 мкм) одинаково на любых компакт-дисках, а длина сегмента спирали, принадлежащего одному сектору, является постоянной для конкретного экземпляра диска. Размеры зоны записи (внутренний и внешний радиусы) и полезная емкость носителя могут варьироваться от одного диска к другому. Так современные матрицы для записи КД имеют емкость от 650 до 800 Мбайт.
Положение на диске сектора с любым номером однозначно описывается двумя характеристиками диска:
Dinner — расстояние от центра диска, на котором начинается нулевой сектор спирали;
Lsect — длина сегмента спирали, соответствующая одному сектору.
Выведем формулы, необходимые для определения точного положения сектора на диске по его номеру. Достаточно вспомнить школьный курс математики, потребуются лишь формула вычисления длины окружности и навык** по выполнению простейших арифметических операций.
Число витков спирали N с поперечной плотностью D витков/мм от радиуса RI до радиуса R2 определяется формулой:
N = (R2- R]) * D
Длина спирали L в том же диапазоне радиусов выражается как: L = п * (R2 + RI) * N = п * (R2 + RI) * (R2- R1) * D = п * (R22 - R,2) * D (п = 3,14 )

... (формулы-формулы-формулы)...

Теперь перейдем к физическим характеристикам привода.
В качестве базового тезиса при разработке компакт-дисков использовалась идея о постоянной линейной плотности записанных данных, а значит, и постоянной линейной скорости чтения диска. Но из-за того что длина витка спирали зависит от радиуса, для обеспечения постоянной линейной скорости чтения угловая скорость вращения диска должна быть переменной. И в первых приводах скорость вращения диска изменялась примерно от 500 оборотов в минуту на внутренних витках спирали до 200 оборотов в минуту на внешних, более длинных витках. Однако в настоящее время существуют многоскоростные приводы, у которых угловая скорость вращения диска является постоянной, а линейная скорость чтения растет при переходе к внешним виткам спирали. И, судя по всему, таких приводов большинство, т. к. ограничения на повышение скорости передачи информации, читаемой с компакт-диска, накладываются не столько интерфейсом между приводом и оперативной памятью компьютера, сколько механическими свойствами самого привода, например значительными вибрациями на больших скоростях вращения. И практически нет разумных поводов для снижения скорости вращения при чтении информации с внешних витков спирали. Таким образом, будем исходить из того, что привод, с которым мы имеем дело, имеет постоянную угловую скорость вращения диска и двигатель привода выключается только по истечении некоторого значительного периода времени, на протяжении которого не было ни одного обращения.
Что происходит после того, как пользовательская программа инициировала команду чтения какого-то сектора диска? Грубо последовательность действий может быть описана примерно следующим образом. Сначала запрос на чтение обрабатывается драйверами операционной системы, которые передают этот запрос приводу. Привод осуществляет позиционирование головки, дожидается, пока диск не повернется до начала сектора, читает данные с диска и передает их в память, а потом присылает извещение о том, что операция чтения завершилась. Дальше происходит окончательная обработка запроса драйверами операционной системы, и прочитанный сектор или или несколько последовательных секторов передаются пользовательской программе.



Ромка ::
цитата:

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

Тij = (n + fract (Nj) -fract (N1)) * P, (2)

где:
- i, j — номер сектора, следующего за последним прочитанным во время первого или второго запроса сектором;
- TJJ — задержка между окончаниями выполнения запросов;
- Ni, Nj — положения j-oro и у’-ого сектора на спирали, вычисленные по формуле (1);
- fract (х) — дробная часть х;
- P — период вращения диска (время, за которое происходит один полный оборот);
- n — произвольное целое число.
То есть задержка состоит из времени, необходимого для нескольких полных оборотов диска, и времени на поворот диска от углового положения fract (Ni) до углового положения fract (Nj).

Как StarForce проверяет диск

Проверка подлинности диска состоит из нескольких этапов. Сначала читается информация о диске, установленном в приводе, и проверяется его метка тома. Затем выполняется 8 запросов на чтение случайных одиночных секторов с номерами в диапазоне от 1 до 65 536. Результаты чтения никак не используются, и, скорее всего, эти действия нужны для разгона диска до номинальной скорости вращения. Затем еще раз читается (но уже не проверяется) информация о диске. Все перечисленное выше проходит через драйвер файловой системы CDFS, никак не защищено от анализа и, следовательно, наверняка не влияет на процесс аутентификации.
Все остальные обращения к диску идут на более низком уровне. В той версии StarForce, анализ которой проводится, обращения адресовались драйве-
ру устройства Cdrom и представляли собой SCSI-команды. Последовательность этих команд такова.
1. Чтение содержания диска (Table Of Content, TOC).
2. Чтение одиночных секторов с номерами 16, 17, 17 (дважды читается
17-ый сектор).
3. Чтение одиночных секторов с номерами 173117, 173099, 173081, 173063,
173045, 173027, 173009, 172991, 172973.
4. Чтение случайных 17 блоков по 8 секторов с номерами первого читае
мого сектора в диапазоне примерно от 168100 до 173200.
5. SCSI-команда с кодом ОхВВ, описание которой не удалось найти в доку
ментации, но которая, скорее всего, отвечает за управление скоростью
вращения привода.
6. Чтение одиночного сектора с номером 173117.
Причем если с первой попытки диск не опознан как оригинальный, то шаги 3 и 4 повторяются в цикле. Значит, после выполнения шага 4 вся информация, необходимая для аутентификации диска, уже получена.
Попробуем разобраться, зачем может потребоваться каждый из шагов.
Чтение ТОС, скорее всего, требуется для определения номера сектора, с которого начинается последняя сессия мультисессионного диска. Так как сессия всего одна, то в 16 и 17 секторах как раз и хранятся описания структуры тома (метка тома, количество секторов, адрес директории диска и т. д.). А повторное чтение сектора 17, скорее всего, используется для того, чтобы примерно оценить порядок времени, затрачиваемого на один оборот диска. Разница времени между двумя чтениями одного сектора должна быть кратна длительности оборота диска.



Ромка ::
цитата:

В последовательности номеров секторов 173117, 173099, 173081, 173063, 173045, 173027, 173009, 172991, 172973 легко усматривается закономерность — каждое следующее значение на 18 меньше предыдущего. Число 18 тоже явно не случайное — на том радиусе диска, где размещаются сектора с указанными номерами, на один виток спирали помещается примерно 18 секторов. А чтение секторов в порядке убывания номера с большой вероятностью используется для того, чтобы предотвратить чтение с предупреждением, когда привод считывает во внутренний буфер не только заданные сектора, но и несколько последующих, на случай если данные читаются последовательно.
Получив значения восьми интервалов (между девятью операциями чтения) и зная длительность п периодов обращения диска (полученную повторным чтением сектора), можно с большой точностью определить скорость вращения диска.
А дальше выполняется 17 чтений блоков со случайными номерами с целью измерения 16 интервалов времени. Если все интервалы хорошо (с малыми отклонениями) укладываются в формулу (2), то диск признается подлинным. Если же отклонения от ожидаемых величин превышают некоторое пороговое значение, то проводится повторное вычисление скорости вращения и повторное измерение задержек между чтением блоков по 8 секторов.

Способ обхода защиты

Чтобы заставить StarForce поверить, что в приводе стоит оригинальный диск, надо совсем не много: чтобы задержки между чтениями соответствовали ожидаемым. А для этого необходимо знать точные характеристики диска: радиус, на котором начинается спираль, и размер сектора. Для определения этих величин можно провести те же самые измерения, что проводит StarForce при проверке диска, а затем варьировать начальный радиус и размер сектора, пока не будут найдены оптимальные значения. Критерием оптимальности, например, может служить сумма отклонений разностей углов, вычисленных по формуле (1), и углов, полученных из замеренных интервалов времени по формуле, обратной (2).
Современное оборудование (во всяком случае, оборудование бытового класса) действительно не позволяет создавать копии защищенного диска, но написание эмулятора, способного обмануть StarForce, не представляет сверхсложной задачи. Достаточно перехватывать обращения к драйверу CD-ROM и в случае, если выполняется команда чтения, делать временную задержку, какую мог бы иметь оригинальный диск, и только после этого возвращать управление вызывающей программе.
В качестве практической демонстрации возможности эмуляции был разработан драйвер, функционирующий под операционной системой Windows 2000 и выполняющий описанные выше действия. Когда драйвер загружен, StarForce оказывается не в состоянии отличить подделку от оригинала. Игра стабильно запускается практически с любой копии оригинального диска, с виртуального диска, созданного программой Daemon Tools, и даже с дисков, которые похожи на оригинальный только тем, что имеют правильную метку тома и размер области данных не менее 350 Мбайт, чтобы существовали сектора с запрашиваемыми номерами.

Резюме по защите StarForce

StarForce, несомненно, является неординарной защитой. Ее исключительность заключается хотя бы в том, что до сих пор не существует надежного способа быстро создавать работоспособные копии защищенных дисков.
Однако проведенное исследование показывает, что для эмуляции защищенного диска нужно совсем немного.
Примерно через 3 месяца после выполнения работы, результаты которой были приведены ранее, компания Protection Technology объявила о выпуске следующей версии своей системы защиты — StarForce Professional 3.0. Разработчики утверждают, что одно из многочисленных улучшений заключается как раз в усилении противодействия эмуляции компакт-дисков.
Кстати, вскоре после появления StarForce 3.0 буквально в течение одного месяца авторы как минимум трех эмуляторов компакт-дисков объявили о том, что новые версии их программ способны эмулировать диски, защищенные StarForce версий 1 и 2. С тех пор прошло больше года, но поддержка StarForce 3.0 так и не появилась ни в одном из эмуляторов. Так что по состоянию на сегодняшний день, компакт-диски, защищенные при помощи StarForce, продолжают оставаться устойчивыми к взлому.








   
Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS