Твой софтовый форум > Тематические форумы > Хак! Ломать не строить - это уметь надо

StarForce 3

,

обход защиты?

Дата публикации: 02.10.2008 - 21:06
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
Фан
В Splinter Cell Chaos Theory тоже старфорс 3.
НИ Факеров, ни nightmare, или как его там, не ломается)
Wilcat
QUOTE
В Splinter Cell Chaos Theory тоже старфорс 3.
НИ Факеров, ни nightmare, или как его там, не ломается)


Блин, даже интересно стало, теперь только одна проблема, где найти "Сплинтера" с "старфорсом" ... biggrin.gif biggrin.gif biggrin.gif offtopic.gif
[$]
Вот тут _http://sdot.ru/forums...ad.php?t=17530 оч. понятно написано как делать мини образы для игр с ними всё чётко рабатает
Raider_Singer
хм... вроде что-то написано... лана, пока что спать, сутра почитаю, отпишусь - помогло или нет...
Владимир XXXL
По поводу SF3

Можно просто сделать копию диска пропатчив топологию по AIBу
Смотрите здесь:
http://www.gsfdsf.ru cool.gif
Raider_Singer
хм... щас заценим...
s_A_n
Я знаю
несколько способов охода СФорса
1.на примере SC:HT
а)устанавливаем игру
б)устанавливаем демку
В)из демки в норм. игру тянем .ехе и protect.dll.


2.Пробывал с Sacred,Sacred:underworld,Магия Крови,Механоиды2:BK и т.д.
а)Я пользовался: Alcohol 120% 1.9.2.(1705).BWA Builder (Шоб посмотреть на работоспособность образа).ISO Commander (шоб посмотреть код на диске).Daemon tools 4.03HE

б)Теперь запускаем Alkohol и делаем образ
1.скорость чтения 10х
2.ставим галку на чтение позиционных данных (точность:высокая) /далее/
3.указываем путь сохранения/далее/
4.Теперь когда появиться окно (ук. скор. измерения функции DMP)
ставим минимум или 2х.
С образом закончили

в) заходим в BWA Builder И смотрим правильно ли мы сделали образ.
если линия тонкая то натмал.А если как еа кардиограмме образ делаем заново.

г)теперь выкл. камп и выдергиваем шнур питания (там 4 проводочка Желтый,черный,черный,Красный)
д)включаем камп образы втыкаем в демона,запускаем игру и молимся шовсе сделали правильно.


____________
кому помогло и кому не трудно нажать THANKS
s_A_n
не,ну вы хоть шо нибудь напишите!
Помоголо\ не помогло,а то как сам с собой переписываешся!
s_A_n
Может комуни будь интересно как работает SF

Данная статья не претендует на подлинность предоставленных в ней данных, и может рассматриваться только как набор цифр и букв русского и латинского алфавитов.


Описание проверки компакт дисков защитой StarForce

В данной статье описывается защита от копирования компакт дисков (далее CD) "StarForce Professional 3.x" (далее SF) компании "Protection Technology" (за границей известной как "StarForce Technologies"), а точнее то, как эта защита проверяет CD на подлинность.

Глава 1. Общее описание действий SF

Приемы и особенности SF:

1. Проверка драйверов SF и их обновление;
2. Обнаружение IDE контроллера и работа с ним напрямую, минуя драйвера, что оставляет все существующие программы эмуляции в стороне;
3. Обнаружение CD-ROM приводов на IDE и прочих контроллерах и работа с ними на уровне ATAPI команд;
4. Проверка заголовка CD;
5. Проверка происхождения CD (CD-ROM/CD-R/CD-RW) в пишущих CD-приводах;
6. Проверка физических параметров CD;
7. Блокировка файловой системы при выполнении п.5;
8. Проверка (контрольной суммы) данных в прочитанных секторах п.5.


Этапы проверки SF и их назначение:

1. Проверка драйверов SF и его обновление.
В случае обнаружения модифицированного драйвера или драйвера старой версии SF производит повторную установку драйвера, для пользователя это проявляется сообщением об установке защиты и просьбой перезагрузиться;

2. Поиск IDE контроллера и CD-ROM на нем.
Данный этап очень важен, именно благодаря нему SF получил от народа зыбкое звание неломаемой защиты. Объясняю, во-первых, при обнаружении CD-ROM на IDE контроллере SF требует вставить диск именно в него, а во-вторых, при наличии CD в CD-ROM на IDE контроллере SF может сделать с ним что угодно, например, легко разоблачить RMPS CD;

3. Поиск CD в CD-ROM и проверка его заголовка.
Зачастую после этого этапа пользователь получает сообщение «Вставьте диск в привод», когда CD отсутствует или это RMPS CD в CD-ROM на IDE контроллере, или «Вставьте диск в другой привод», когда CD вставлен не в обнаруженный CD-ROM на IDE контроллере;

4. Проверка данных, физических параметров и происхождения CD.
Проверка физических параметров это тема следующей главы.
Проверка происхождения диска происходит за счет команды чтения ATIP, эти данные присутствуют только на CD-R/RW CD и не могут быть считаны не пишущими CD-ROM. Также существует возможность блокировать чтение ATIP с помощью программы «Alcohol 120%», но и она бессильна, в случае если CD-ROM находится на IDE контроллере. В случае провала данного этапа пользователь получит сообщение о неверном ключе и диске.

Здесь осталось только заострить внимание на методах борьбы с виртуальными дисками:
А: Блокировка файловой системы, что приводит к невозможности чтения образов дисков и неработоспособности виртуальных CD-ROM.

Известны и методы обхода:
а1. Использование модифицированных драйверов SF.
Автору известен только один, версии 1.24, который был срочно обновлен и навязан новыми играми и их патчами;

а2. Неполный образ.
Нет данных в образе – нет необходимости их читать. Нет необходимости их читать – нет чтения. Нет чтения – нечего блокировать. Однако при этом виртуальный CD-ROM продолжает эмулировать физические параметры диска, что приводит к запуску игры;

Б: Проверка данных CD.
Эта проверка возникла как логически верный способ предотвращения обхода блокировки файловой системы. Вероятно, происходит подсчет и проверка только контрольной суммы, но, так или иначе, стало невозможным использование неполных образов.


Подведём итоги первой главы в виде возможных обходов SF:
1. Пишущий CD-ROM на IDE контроллере:
а. Оригинальный диск.

2. Не пишущий CD-ROM на IDE контроллере:
а. Оригинальный диск;
б. Лотерея «Угадайка», подбор CD-R/RW диска с подходящими физическими параметрами.

3. Отсутствие CD-ROM на IDE контроллере и его присутствие на не-IDE контроллере:
а. Оригинальный диск;
б. «Угадайка», если CD-ROM – пишущий, то необходима программа блокировки чтения ATIP;
в. CD с RMPS информацией – отличный вариант. Смотрите, стоимость не-IDE PCI PATA/SATA контроллеров упала до неприличия (бывают и «на халяву», встроенные, чипсетные), а PATA-USB переходников (читай «не-IDE контроллер») еще ниже.

4. Отсутствие CD-ROM на IDE контроллере, наличие виртуального CD-ROM и образа оригинального диска с верными DPM:
а. Полный образ на локальном жестком диске.
Вопрос: «Оно когда-нибудь САМО работало?». Впрочем, если вы согласны помочь виртуальному CD-ROM, то попробуйте модифицированный драйвер SF версии 1.24;
б. Полный образ на сетевом диске.
Да, когда-то этот способ работал, потом блокировку файловой системы усовершенствовали. См. модифицированный драйвер SF версии 1.24;
в. Неполный образ.
Работает при отсутствии проверки целостности данных;



Глава 2. Проверка SF физических параметров CD

По ходу главы будут приводится примеры. Примером везде является диск с меткой «SR2D1» (первый диск игры «Космические рейнджеры - 2»).
Суть проверки заключается в измерении времени чтения секторов при определенном порядке их чтения. Всего SF производит 40 попыток снять физические параметры диска. Каждая попытка представляет собой 140 команд чтения сектора (139 интервалов времени) разбитых на 4 этапа. Давайте посчитаем этапы, сектора и интервалы времени:

1. Чтение первого сектора. Например «SR2D1»: 227692.
Далее чтение 100 секторов в обратном порядке с постоянным шагом равным количеству секторов на виток (далее – SPR) в данной области (например «SR2D1», 19). На выходе получаем 100 интервалов времени. Например «SR2D1»: 227673, 227654...225592.

2. Чтение 16 секторов в обратном порядке с шагом от -2 до -(SPR в данной области + 1). Итого получаем 16 интервалов времени. Например, для «SR2D1»: 225790, 225787, 225782, 225776, 225769, 225761, 225752, 225741, 225729, 225716, 225702, 225687, 225671, 225653, 225634, 225614.
Далее чтение последнего сектора первого этапа. Например, для «SR2D1»: 225792. Т.е. прыжок обратно на конец первого этапа. Интервал времени имеем, но он не нужен;

3. Чтение 6 секторов в прямом порядке с большим шагом (переход в новую область). Например «SR2D1»: 243287, 260780, 278273, 295766, 313259, 330752. Получаем 6 интервалов времени;

4. Чтение 16 секторов в обратном порядке с шагом от -2 до -(SPR в данной области (например, для «SR2D1» – 22) + 1). Например, для «SR2D1»: 330750, 330746, 330741, 330734, 330726, 330717, 330706, 330694, 330681, 330666, 330650, 330633, 330614, 330594, 330572, 330549. Итого получаем 16 интервалов времени.


Номера всех секторов можно вычислить, изначально зная всего 4 значения:
1. Номер последнего сектора первого этапа (читать как «начало второго этапа»). Кратен 256. Например «SR2D1»: 225792;
2. Количество секторов на виток в области первого и второго этапов. Целое. Например «SR2D1»: 19;
3. Номер последнего сектора третьего этапа (читать как «начало четвертого этапа»). Кратен 256. Например, для «SR2D1»: 330752;
4. Количество секторов на виток в области четвертого этапа. Целое. Например, для «SR2D1»: 22.

Из этих величин тривиально вычисляются все остальные номера секторов, точность шага для 2-го и 4-го этапов не представляет проблемы для вычислений. 6 шагов 3-го этапа получаются целым делением необходимого интервала (Число №3 – Число №1) на 6.

Теперь рассмотрим поэтапно, какую информацию и как можно добыть из полученного мусора (однако, это не означает, что именно так действует SF, это только показывает, какие у него есть возможности):

1. Имеем 100 значений интервалов времени. Если информация о SPR для данной области была верна (у CD одинаковой емкости на секторах с одинаковыми номерами она лежит в пределах 1%), то получается, что все значения кратны времени оборота диска (t1). В идеале каждый интервал должен быть приблизительно равен времени оборота диска, но из-за того, что привод может делать при чтении более одного оборота (особенно на больших скоростях), условно считаем полученные значения кратными времени оборота.
В принципе из этого уже можно вытащить t1 (например, случай, когда все значения равны 2*t1 и 3*t1), но гарантии нет (пример, когда все значения равны или кратны 2*t1). Поэтому довольствуемся значением t2, которое кратно t1, т.е. t2=t1*N, где N – целое число 1,2,3…

2. Второй этап, как и четвертый, можно использовать для вычисления SPR в данной области диска и для получения действительного значения времени оборота диска (t1). Отклонение полученных значений от действительности составляет сотые доли процента.
Полученные на этом этапе значения можно изобразить графически, все они будут расположены на семействе равноудаленных друг от друга параллельных прямых:



На рисунке 1 все линии пересекают оси в точках, кратных t1 и spr.
Все экспериментальные значения жмутся к оси шага настолько, насколько это позволяет механика CD-ROM.
Например «SR2D1» (виртуальный CD-ROM, шаг непринципиально отличается от SF):
225790 (-2) 29.072 мс;
225787 (-3) 27.360 мс;
225782 (-5) 23.938 мс;
225776 (-6) 22.228 мс;
225769 (-7) 20.517 мс;
225761 (-8) 18.805 мс;
225752 (-9) 17.094 мс;
225741 (-11) 46.189 мс;
225729 (-12) 44.486 мс;
225716 (-13) 42.777 мс;
225702 (-14) 41.069 мс;
225687 (-15) 39.327 мс;
225671 (-16) 37.611 мс;
225653 (-18) 34.189 мс;
225634 (-19) 32.478 мс;
225614 (-20) 30.767 мс.

Для получения точных значений SPR и t1 необходимо задействовать статистическую обработку полученных значений. Для этого можно использовать модель с линейной аппроксимацией методом наименьших квадратов. На вход модели подаются предполагаемые значения spr и t2 = x*t1. Надо заранее отнести каждое экспериментальное значение к какой-либо линии (1, 2, 3…). Ввиду возможной кратности полученного значения t2, надо построить несколько моделей по имеющимся у нас предполагаемым spr и tN=t2/N, где N=1,2,3…, определяем к каким прямым модели относятся значения, опять 1,2,3…, проводим линейную аппроксимацию МНК. Правильной моделью будет та, аппроксимация которой даст наименьшее среднеквадратичное отклонение. Полученную модель можно использовать для вычисления spr и t1 с оценкой точности вычислений.
Например «SR2D1» дает: t1=32.512 мс (дисперсия 0.011 мс), spr=18.982376, что на 0.09% меньше чем предполагаемые 19.

4. Да, именно 4-й этап, 3-й потом.
Расчет задержек 4-го этапа отличается от 2-го только тем, что первоначальная модель всего одна. Время оборота диска t1 берется со второго этапа, также используется новый предполагаемый spr. На выходе получаем точные spr и t1 для новой зоны.
Пример «SR2D1» (виртуальный CD-ROM, шаг непринципиально отличается от SF):
330750 (-2) 29.536 мс;
330746 (-4) 26.583 мс;
330741 (-5) 25.106 мс;
330735 (-6) 23.628 мс;
330727 (-8) 20.675 мс;
330718 (-9) 19.196 мс;
330707 (-11) 16.241 мс;
330695 (-12) 14.777 мс;
330682 (-13) 45.814 мс;
330667 (-15) 42.862 мс;
330651 (-16) 41.389 мс;
330634 (-17) 39.872 мс;
330615 (-19) 36.916 мс;
330595 (-20) 35.450 мс;
330573 (-22) 32.539 мс;
330550 (-23) 31.064 мс.
t1=32.488 мс (дисперсия 0.017 мс), spr=22.019807, что на 0.09% больше чем ожидаемые 22 сектора на виток.

3. Третий этап, как промежуточный между 2 и 4, является переходным. На нем производятся 6 больших скачков. Зная время оборота диска t1 на 2 и 4 этапах, можно интерполировать его через 3 этап, например, линейно по времени (при CAV режиме скорость вращения не меняется). Так можно определить не только количество оборотов между каждым чтением, но и даже относительный угол между 7 секторами на диске, который затрагивает 3 этап. Это их относительное положение очень индивидуально для каждого диска, т.к. на него влияет очень много факторов, таких как, линейная плотность записи и расстояние между витками.
Берем пример «SR2D1»:
243287 (17495) 37.986 мс;
260780 (17493) 28.173 мс;
278273 (17493) 49.398 мс;
295766 (17493) 24.493 мс;
313259 (17493) 46.262 мс;
330752 (17493) 44.718 мс.
И каждый интервал времени даст: 61, 312, 187, 271, 153, 135 градусов.


Подведем итоги второй главы в виде данных о диске, которые может узнать SF:
- плотность секторов на виток в двух заданных областях с очень высокой точностью;
- 6 значений характеризующих угловое положение 7 заданных секторов.


Глава 3. Практическая
Был произведен анализ реакции SF (да, да, «SR2D1») на изменение физических параметров CD, которые были обнаружены во второй главе. Т.е. игра «Угадайка» на качественно новом уровне.
Для анализа использовались: кучка CD-RW CD, непишущий SONY CDU5231 и несколько пишущих CD-ROM (разница между ними не выявлена).
Путем правки образа производилась установка (с точностью в 20 градусов, кто знает, тот поймёт) 6-ти угловых значений в соответствии с показаниями виртуального CD-ROM. Запись такого образа на соответствующий ему CD-RW CD приводила к опознанию CD SF в непишущем CD-ROM SONY CDU5231 как оригинального. И так на всех 5 CD-RW CD.
Изменение количества секторов на виток в пределах широко доступных CD-RW CD (были -0.3%..+0.5%) SF проигнорировал.

Также можно скачать архив с программами, которые явились конечным результатом этой статьи и должны помочь создавать рабочие CD копии
mars
Печально знаменитая StarForce в своих текущих инкарнациях отправляется в печь. Система защиты дисков от копирования, бывшая до недавнего времени либо просто непробиваемой, либо крайне сложной для обхода, наконец-то пала благодаря усилиям российско-украинских программистов.

С помощью этой проги можно запустить практически любую вышедшую на сегодняшний день игру, защищенную технологией StarForce (вплоть до текущей версии 3.4) без наличия в приводе оригинального диска. Единственным условием для работы игры без CD является наличие хорошего CD/DVD-привода, способного создать образ с правильной топологией диска, например, в программе Alcohol 120%. Об остальном утилита позаботится сама. Вам не нужно будет отключать IDE-каналы в BIOS, выдергивать шлейфы из разъемов и удалять CD-эмуляторы - достаточно лишь запустить получившийся на выходе ярлык.
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: StarForce 3
SoftoRooM © 2004-2024