Текст книги "Восстановление данных. Практическое руководство"
Автор книги: Крис Касперски
Жанры:
Компьютерное "железо"
,сообщить о нарушении
Текущая страница: 21 (всего у книги 26 страниц)
Хорошо, а как быть, если очищенный диск был многосессионным? Ведь описанные выше приемы рассчитаны на работу лишь с одной сессией! На самом деле можно восстановить и многосессионный диск. Это лишь чуть-чуть труднее. Но, чтобы это сделать, мы должны предварительно познакомиться с остальными полями TOC.
Постойте, а что, если после очистки диска на него что-то писалось, – возможно ли тогда его восстановление или нет? Разумеется, непосредственно затертые позиции утеряны безвозвратно, но остальную часть информации по-прежнему можно спасти. Если диск до очистки был многосессионным, то нам даже не придется возиться над восстановлением файловой системы, так как файловая система каждой последующей сессии дублирует предыдущую, за исключением удаленных файлов. Последняя сессия диска оказывается достаточно далеко от его начала, а потому и риск ее затирания – минимален (если, конечно, спохватиться вовремя, а не тогда, когда весь диск перезаписан до отказа). Восстановление односессионных дисков с затертой файловой системой – намного более трудная, но все-таки разрешимая задача. Во-первых, этих файловых систем на типовом диске целых две: ISO-9660 и Joliet. Правда, в силу их близкого географического положения при затирании диска обе они обычно гибнут. Во-вторых, указанные файловые системы не поддерживают фрагментации, и всякий файл, записанный на лазерный диск, представляет собой единый информационный блок. Все, что нужно для его восстановления, – определить точку входа и длину. Точка входа в файл всегда совпадает с началом сектора, а подавляющее большинство типов файлов позволяют однозначно идентифицировать свой заголовок по уникальной сигнатуре (в частности, для zip-файлов характерна следующая последовательность: 50 4B 03 04). Конец файла, правда, определяется уже не так однозначно, и единственная зацепка – структура самого восстанавливаемого файла. Впрочем, большинство приложений довольно лояльно относится к "мусору" в хвосте файла, и потому точность определения его длины с погрешностью в один сектор на практике оказывается вполне достаточной. Поскольку файлы располагаются на диске вплотную, без "зазоров", конечный сектор всякого файла надежно вычисляется путем вычитания единицы из стартового сектора следующего за ним файла.
Вообще же говоря, техника восстановления лазерных дисков намного проще и незатейливее искусства врачевания их прямых коллег – дискет и жестких дисков. Правда, поговорку "семь раз отмерь – один раз отрежь" еще никто не отменял, и одна из неприятнейших особенностей работы с CD-RW как раз и состоит в том, что вы не можете гарантированно управлять процессом происходящей записи. Дискеты и жесткие диски в этом смысле полностью прозрачны, – что вы пишете, то вы и получаете. Перезаписываемые же носители, напротив, представляют собой "черный ящик", и вы никогда не можете быть уверенными в том, что конкретный привод будет правильно интерпретировать отдаваемые ему команды (увы, восстановление дисков CD-RW никак не вписывается в рамки Стандарта, а все нестандартные махинации могут интерпретироваться приводом неоднозначно). Единственное, что остается посоветовать: не пускайте все на самотек. Бесконечно экспериментируйте, экспериментируйте и еще раз экспериментируйте, накапливая бесценный опыт, который вам когда-нибудь может очень пригодиться.
Искажение размеров файловЕще (или, скорее уже) во времена монохромных терминалов и первых магнитных дисков существовал некрасивый, но элементарно реализуемый защитный прием, препятствующий пофайловому копированию носителя. Внося определенные искажения в структуры файлов системы, разработчики "портили" дискету ровно настолько, чтобы работа с ней становилась возможной лишь при условии учета характера внесенных искажений. Защищенная программа, "знающая" об искажениях файловой структуры, работала с ней без проблем, но штатные утилиты операционной системы работать с такими дисками не могли. Общедоступных "хакерских" средств копирования в те времена еще не существовало.
Несколько файлов зачастую ссылались на общие для всех них кластеры, и тогда запись данных в один файл приводила к немедленному их появлению в другом, что защита могла так или иначе использовать. Естественно, после копирования файлов на новый диск пересекающиеся кластеры "разыменовывались", и хитрый способ неявной пересылки данных переставал работать. Вместе с ним переставала работать и сама защищенная программа, если, конечно, содержимое диска вообще удавалось скопировать. Ведь копирование файлов с пересекающимися кластерами приводило к тому, что эти кластеры многократно дублировались в каждом копируемом файле, в результате чего их суммарный объем подчас увеличивался настолько, что емкости тогдашних носителей попросту не хватало для хранения таких объемов данных! Если же последний кластер файла "приклеивался" к его началу (файл, таким образом, попросту зацикливался), то объем и время его копирования попросту обращались в бесконечность. Конечно, дисковые доктора в то время уже существовали, но их использование не давало желаемого результата, потому что лечение файловой системы приводило к полной неработоспособности защиты. В случае с зацикливанием, например, если защита основывалась на том, что за концом файла следует его начало, то после обработки диска доктором осуществление этого приема становилось невозможным со всеми от сюда вытекающими последствиями.
Файловые системы лазерных дисков, конечно, совсем не те, что на гибких дисках, но общие принципы их искажений достаточно схожи. Увеличивая фиктивные длины защищаемых файлов на порядок-другой, разработчик защиты может довести их суммарный объем до нескольких сотен гигабайт, так что для копирования защищенного диска понадобится, по меньшей мере, пачка DVD или винчестер солидного объема. Защитный механизм, "помнящий" оригинальные длины всех файлов, сможет работать с ними без проблем, но все средства копирования файлов не поймут этого юмора, и их поведение станет неадекватным.
В принципе, выход за границы файла ничем не чреват. Файловые системы лазерных дисков очень просты. Лазерные диски не поддерживают фрагментацию файлов, а потому и не нуждаются в FAT. Все файлы занимают непрерывный ряд секторов, и с каждым файлом связано только две важнейшие характеристики: номер первого сектора файла, заданный в формате LBA (Logical block address), и его длина, заданная в байтах. Остальные атрибуты, вроде имени файла и времени его создания – не в счет, мы сейчас говорим исключительно о секторах.
Увеличение длины файла приводит к "захвату" того или иного количества примыкающих к его хвосту секторов, и при условии, что номер последнего сектора, принадлежащего файлу, не превышает номера последнего сектора диска, копирование файла, в принципе, протекает нормально. Я не случайно заметил, что "в принципе нормально", а не просто "нормально", так как в копируемый файл будут включены все файлы, встретившиеся на его пути. Если же в процессе своего копирования файл "выскакивает" за конец диска, то привод CD-ROM сигнализирует об ошибке и прекращает чтение. Штатные средства копирования, входящие в состав операционной системы, равно как и большинство оболочек сторонних производителей, автоматически удаляют "огрызок" недокопированного файла с диска, и в результате пользователь остается ни с чем.
Утилита IS09660.DIR.EXE выгодно отличается тем, что позволяет копировать не только весь файл целиком, но и любую его часть! Но как мы узнаем, сколько именно байт следует скопировать? Как определим, где идут полезные данные, а где начинается "послехвостовой" мусор (over-end garbage)? Будем исходить из того, что по Стандарту файлы на диске располагаются последовательно, т. е. за последним сектором одного файла, непосредственно следует стартовый сектор следующего. Поскольку стартовые сектора всех файлов нам известны, определение истинных длин всех файлов за исключением последнего, не составит никакого труда! Так как длина одного сектора лазерного диска составляет 2048 байт, истинный размер всякого файла равен: (стартовый адрес следующего файла – стартовый адрес самого этого файла) * 2048. Все просто, не правда ли?
С помощью утилиты IS09660.DIR.EXE мне и моим друзьям удалось скопировать большое количество дисков с MP3, обладающих защитой данного типа.
Звездная сила обращается в пыльНа нас надвигается тьма! Защита Star-Force наступает по всем направлениям, и новые игры уже не копируются. Защита выглядит неприступной, как скала, и за ней уже закрепилась слава несокрушимой. На самом деле ситуация не так мрачна. Кроме столбовой дороги есть и обходные пути, никем не охраняемые. Воспользуемся одним из них.
Star-Force (рис. 10.3) – это семейство защит от копирования, привязывающихся к физической структуре спиральной дорожки. Оно оснащено термоядерным ракетным комплексом противохакерских средств типа "земля – пользователь". Вместо простейшей проверки по схеме "свой – чужой", которую можно запросто нейтрализовать заменой одной инструкции jmp, Star-Force преобразует топологические характеристики диска в число, используемое для расшифровки основного тела программы, причем специальные защитные компоненты следят за тем, чтобы после расшифровки никто не снял дамп.

Рис. 10.3. Логотип Star-Force, по которому эту защиту легко отличить от любой другой
Часть защитного кода сосредоточенна в многомегабайтной библиотеке protect.dll, часть – в драйверах, а часть – скомпилирована в p-код, выполняемый на собственном интерпретаторе. Помимо этого, защита реализует множество антиотладочных приемов, препятствующих как изучению защитного кода, так и эмуляции оригинального диска.
Защита не стоит на месте, а напротив, активно совершенствуется. С каждой новой версией разработчики все туже и туже "затягивают гайки", да так, что резьба уже начинает сдавать. Последние версии "Звездной Силы" очень глубоко вклиниваются в Windows и даже модифицируют ее ядро, в результате чего система начинает работать нестабильно. У одних пропадают данные, у других система регулярно демонстрирует BSOD, у третьих после установки очередного обновления от Microsoft лицензионные игры внезапно отказывают в работе, требуя установки обновления от Star-Force (http://www.star-force.ru/support/sfdrvup.zip), а у кого-то защищенные диски вообще не опознаются. Разработчики, естественно, списывают все это на низкую квалификацию пользователей, которые не ведают, что творят. Хотя мое мнение и не обязательно однозначно правильно, но мне есть, что на это возразить. Никто не спорит, что Windows может упасть и сама. Тут посторонней помощи не надо. Но вот то, что вытворяет команда разработчиков Star-Force – это не просто "аморально" или "нехорошо". Ведь кроме закона о защите авторских прав, есть и закон о защите прав потребителя! Вмешиваться в работу операционной системы на компьютере пользователя, да так, чтобы защитная программа портила пользовательские данные – незаконно! Более того, требовать, чтобы при наличии привода IDE защищенный диск запускался именно с него (a Star-Force это требует) – незаконно с любой точки зрения. Если программа умышленно отказывается работать на определенных конфигурациях, и легальные пользователи никак не проинформированы об этом факте, то перед нами, как минимум, грубая конструктивная недоработка, а как максимум – злостная закладка.
В западном мире защиты от копирования вообще мало популярны. Обычно используется серийный номер или прочие надежно работающие, хотя и легко ломаемые алгоритмы. А все потому, что лучше терпеть убытки от пиратства, чем держать специальную службу поддержки, отвечающую на звонки разгневанных пользователей, требующих или немедленно сделать что-нибудь, или вернуть деньги. И не важно, что это – аппаратная несовместимость, дефект защиты или ошибка покупателя. Клиент всегда прав! Поэтому серьезные продукты "Звездной Силой" защищать никогда не будут и никуда дальше игр она не уйдет.
Привязка к диску основана на измерении угла между секторами. Похожая техника использовалась еще во времена 8-битных компьютеров и дискет. Аналогичным образом работают CD-Cops, SecureROM и многие другие защитные механизмы, так что назвать идею Star-Force "революционной" очень трудно. Но это не помешало разработчикам запатентовать ее, или, по крайней мере, объявить, что она запатентована. Впрочем, не будем углубляться в юридические тонкости, а лучше перейдем к техническим деталям.
Спиральная дорожка лазерных дисков очень похожа на грампластинку, только начинается не снаружи, а изнутри, и разворачивается от центра к краю. Лазерная головка, удерживаемая в магнитном поле (примерно так же, как удерживается звуковая катушка в акустических системах), движется на салазках поперек спиральной дорожки. Сама дорожка состоит из секторов с данными и каналов подкода. Номера секторов находятся как в заголовках самих секторов, так и в каналах подкода, "размазанных" вдоль спиральной дорожки. Для грубой наводки на требуемый сектор используются салазки и каналы подкода, а для точной – отклонение в магнитном поле и секторные заголовки.
Просто взять и измерить структуру спиральной дорожки нельзя, но можно использовать следующий подход (рис. 10.4). Допустим, головка считывает сектор X, а следом за ним сектор Y. Если угол XOY, образованный центром (О) диска и секторами X и Y, составляет примерно 15 градусов, а сами сектора расположены в соседних витках спиральной дорожки, то приводу будет достаточно всего лишь немного отклонить головку и через мгновение сектор Y сразу же окажется у оптической головки. Если же угол составляет менее 15 градусов, то за время перемещения головки сектор Y уже "уплывет", и приводу придется ждать целый оборот лазерного диска.

Рис. 10.4. Когда угол между секторами X и Y составляет -15 градусов, при переходе на соседний виток сектор Y сразу же "подлетает" к оптической головке (рисунок слева), при меньшем значении угла сектор Y успевает "уплыть" и головка вынуждена ждать целый виток (рисунок справа)
Таким образом, замеряя время чтения различных пар секторов, мы можем приблизительно определить их взаимное расположение на спиральной дорожке. У каждой партии дисков оно будет своим (ведь плотность секторов на 1 мм и крутизна спирали неодинакова, и варьируется от партии к партии). Чтобы побороть упреждающее считывание, которым "страдают" многие приводы, защита должна читать сектора в порядке убывания их номеров. Кроме того, защита должна измерять скорость вращения привода, чтобы определить постоянство временных замеров и скорректировать формулу для вычисления угла, ведь, как легко показать, чем быстрее вращается диск, тем скорее "уплывает" сектор.
Именно так Star-Force и поступает. Ниже приведен протокол работы защиты, перехваченный программой BusHound (рис. 10.5). При этом использовался накопитель SCSI, поскольку с IDE защита работает напрямую, и программный перехват уже не спасает.

Рис. 10.5. BusHound за работой
Сначала защита выполняет профилировку поверхности, определяя время одного оборота и оценивая величину разброса, на основании которого будет рассчитываться допуск на отклонение ключевых характеристик. Результаты профилировки спиральной дорожки представлены в листинге 10.4. Обратите внимание на то, что все номера секторов представлены в шестнадцатеричном формате.
Листинг 10.4. Профилировка спиральной дорожки (все номера секторов представлены в шестнадцатеричном формате)
049634 292ms
04961f 192ms
04960a 8.5ms
0495f5 8.3ms
0495e0 8.5ms
0495cb 8.5ms
0495b6 8.5ms
0495a1 8.5ms
04958c 8.5ms
049577 8.5ms
049562 8.5ms
04954d 8.5ms
049538 8.5ms
049523 8.5ms
04950e 8.7ms
... ...
048e7e 8.1ms
048e69 8.2ms
048e54 8.2ms
048e3f 8.2ms
048e2a 8.2ms
048e15 8.2ms
048e00 8.2ms
Как видно, каждый последующий номер на 15h меньше предыдущего (приблизительно столько секторов и содержится на данном витке спирали), а время чтения сектора колеблется от 8,1 до 8,7 миллисекунд.
Затем защита делает некоторые несущественные операции (т.е. очень даже существенные, но не суть важные) и приступает к измерению углов. Протокол измерений углов между секторами оригинального диска показан в листинге 10.5.
Листинг 10.5. Измерения угла между секторами (оригинальный диск)
051dfe 25ms
051dfa 7.3ms
051df5 6.6ms
051dee 6.2ms
051de6 5.5ms
051ddd 5.2ms
051dd2 12ms
051dc6 12ms
051db9 11ms
051daa 11ms
051d9a 10ms
051d89 10ms
051d76 9.9ms
051d62 9.1ms
051d4c 8.8ms
051d35 8.0ms
Сразу бросается в глаза тот факт, что шаг убывания между секторами не остается постоянным, а плавно растет. Это означает, что защита перебирает различные комбинации X и Y, засекая в какой момент происходит "перескок" сектора, вынуждающий ждать целый оборот. В данном случае он расположен между секторами 051ddd и 051dd2. Время доступа скачкообразно увеличивается с 5,2 мс до 12 мс, т.е. больше чем в два раза!
А теперь посмотрим, как выглядит протокол обмена с копией (см. листинг 10.6).
Листинг 10.6. Измерение угла между секторами (копия)
051dfe 29ms
051dfa 7.3ms
051df5 6.6ms
051dee 6.2ms
051de6 5.5ms
051ddd 5.1ms
051dd2 4.7ms
051dc6 12ms
051db9 11ms
051daa 11ms
051d9a 10ms
051d89 10ms
051d76 9.9ms
051d62 9.2ms
051d4c 8.8ms
051d35 8.0ms
Ha первый взгляд может показаться, что все осталось по-прежнему. Однако, присмотревшись внимательнее, можно заметить, что перескок происходит не между секторами 051ddd и 051dd2, как раньше, а между секторами 051dd2 и 051dc6, т.е. на один шаг позже. Вот это-то и отличает скопированный диск от его оригинала!
Скопировать физическую структуру спиральной дорожки нельзя. Во всяком случае, пока. Но кое-какие шаги в этом направлении уже сделаны. На рынке появились приводы с переменной плотностью записи, например, Plextor Premium; правда, поддержки со стороны программного обеспечения для копирования дисков пока еще нет. Мне удалось создать экспериментальный копировщик, имитирующий структуру оригинальной дорожки путем переупорядочивания секторных номеров, однако до законченного продукта он так и не был доведен. Имеются и другие идеи, однако в долговременной перспективе все они нежизнеспособны и разработчики Star-Force их легко обойдут.
Перед проверкой ключевых характеристик спиральной дорожки защита выполняет профилировку привода, чтобы оценить стабильность всех временных характеристик. Чем качественнее привод, тем жестче проверка и, соответственно, наоборот. На разболтанных приводах защита вынуждена "снижать планку", иначе даже лицензионный диск опознается как поддельный, а вот этого уже допускать нельзя. Отсюда вывод – копируем диск на скверную болванку и запускаем ее на разболтанном приводе. Кстати, на некоторых приводах можно даже специально расстроить автоматический регулятор скоростей, за это отвечает специальный подстроечный резистор. Существует некоторый шанс, что скопированный диск опознается как оригинальный. Если же ничего не получится, необходимо повторить фокус на другой партии болванок от другого производителя. Достаточно многие пользователи сообщают, что им удавалось скопировать защищенные диски на CD-RW. За счет невысокой отражательной способности перезаписываемые носители читаются гораздо хуже и, естественно, не так стабильно. Также полезно использовать приводы, которые не позволяют себя "тормозить" с помощью утилит наподобие CDSlow. Если при профилировке диска разброс замеров превышает некоторую величину, Star-Force пытается перевести привод на более низкую скорость.
По моему опыту, для гарантированного копирования диска на CD-R нужно затратить не менее 10 болванок от различных производителей с различной геометрией спиральной дорожки, для измерения которой можно использовать мою утилиту, которую можно найти на прилагаемом к этой книге CD. Конечно, 10 болванок – это много, но лицензионная копия обойдется ничуть не дешевле, а даже дороже. Как правило, квалифицированный хакер может "отвязать" игру от CD самое большее за день (при условии, что он уже знаком со Star-Force), однако универсальный взломщик еще никто не написал, поэтому с каждой программой приходится воевать индивидуально.
Действовать можно так. Запускаем программу Alcohol 120% (рис. 10.6) и создаем образ диска, в типе данных выбрав опции Star-Force 1.x/2.x/3.x или Securom *NEW (V4.x). При этом автоматически устанавливается флажок Измерение позиционирования данных (Точность: высокая). Опция Чтение субканальных данных с текущего диска должна быть сброшена, положение всех остальных – некритично (на некачественных дисках опция Быстрый пропуск ошибочных блоков иногда приводит к проблемам). Скорость измерения позиционирования обычно рекомендуется ставить на минимум, и в течение всей операции не выполнять на компьютере никаких других работ. Возможно, на этом этапе вам придется поэкспериментировать. Например, мой привод TEAC-52x нормально измеряет геометрию спиральной дорожки (также называемую топологией) при 52x, а вот при снижении скорости начинает вести себя непредсказуемо.

Рис. 10.6. Настойка программы Alcohol 120%
Снятый образ не может быть непосредственно записан на новый диск. Он предназначен специально для эмулятора. Одни предпочитают использовать эмулятор, встроенный в программу Alcohol 120%, другие же выбирают Daemon Tools. Для использования встроенного эмулятора в Alcohol 120% достаточно выбрать из меню команды Настойки|Виртуальный диск, указать любое разумное количество виртуальных дисков, отличное от нуля, и, при желании, установить опцию Перемонтировать образы при перезагрузке системы, чтобы они монтировались автоматически.
Древние версии Star-Force доверчиво работали с виртуальным образом, принимая его за подлинный, но затем все изменилось. Если в системе есть хотя бы один IDE-привод, защита требует вставить лицензионный диск именно в IDE. Да! Даже если остальные диски – вполне законные накопители SCSI. Разумеется, можно просто отключить шлейф IDE от привода CD-ROM (или обесточить его), после чего виртуальный образ будет работать, как ни в чем не бывало. Естественно, все эти манипуляции должны проводиться при выключенном компьютере. Исключение составляют приводы, поддерживающие "горячую замену" (hot unplug). Как вариант, можно приобрести SCSI. USB или LPT CD-ROM. Наконец, можно воспользоваться программами типа Star-Force Nightmare, выключающими каналы IDE-каналы "на лету", однако новые версии Star-Force уже научились бороться с ними.
Что делать, если снятый образ не работает? Первым делом необходимо удостовериться, что образ снят правильно. Запускаем программу AdvancedMDSEditor.exe, открываем файл образа и смотрим – если форма кривой, характеризующей скорость чтения спиральной дорожки, имеет "выбросы" или дрожит (рис. 10.7), то снятый образ никуда не годится. В этом случае необходимо выбрать другую скорость и повторить операцию еще раз, или просто "сгладить" кривую, нажав кнопку Linear Interpolation или, что еще лучше, – Spline Graph, добившись максимальной "гладкости" кривой (рис. 10.8).

Рис. 10.7. Исходный график имеет выбросы, поэтому скопированный диск не опознается

Рис. 10.8. Сглаженный график после обработки —скопированный диск запускается нормально
Но и это еще не все! Новые версии Star-Force блокируют работу файловой системы на время проверки ключевого диска и следят, чтобы с жесткого диска не читались защищаемые данные. Что тут можно предпринять? Поскольку блокировка файловой системы осуществляется посредством SFC (возможно, не во всех версиях Star-Force), то, отключив SFC, мы вырвемся на свободу. Запускаем редактор реестра, находим ключ HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon и меняем значение параметра SfcDisable на dword:ffffff9d, а затем перезагружаемся. Чтобы включить SFC, достаточно восстановить исходное значение параметра (0).
Однако отключать SFC на продолжительное время нежелательно. Функция это полезная, позволяющая защитить компьютер от вирусов и червей. К тому же, этот прием работает не со всеми версиями Star-Force. Обладатели приводов DVD на шине SCSI могут запускать образ оттуда. Защита не распознает подмены, и эмулятор работает на ура. На CD-R/RW записать полный образ нельзя, поскольку информация о структуре спиральной дорожки, содержащаяся в файле mds, отнимает примерно 27 Мбайт свободного места и на обычный диск влезает только с пережигом, да и то не всегда.
Хакеры ответили на это безобразие методом "обрезков". Все очень просто. Проверяя структуру спиральной дорожки, защита не проверяет (точнее, не проверяла) ее содержимое. Запустим Alcohol 120% и дождемся, когда "измерение DPM" подойдет к концу. Когда начнется сброс дампа, дадим программе поработать несколько секунд (чтобы успел считаться корневой каталог и некоторые другие служебные структуры, без которых Windows не сможет опознать диск), а затем нажмем кнопку Отмена. Alcohol 120% запросит подтверждения на удаление файлов. На этот запрос следует ответить отрицательно. Затем запускаем Nero Burning ROM и записываем оставшиеся от Alcohol 120% файлы с расширениями mdf и mds на CD как обычные файлы. Вставляем записанный диск в SCSI или USB CD-ROM, подключаем эмулятор и наслаждаемся игрой, причем игру в этом случае придется запускать с винчестера.
К сожалению, в новых версиях этот трюк уже не работает. Теперь защита помимо структуры спиральной дорожки проверяет и ее содержимое. Так что ждем новых версией эмуляторов. Разработчики Daemon Tools обещают вот-вот выпустить четвертую версию, главной "вкусностью" которой станет обход Star-Force без всех этих шаманских танцев с образами и приводами. Пока же приходится использовать хакнутые драйвера для Star-Force, из которых вырезана блокировка файловой системы, благодаря чему полноценный образ (не обрезок!) можно запускать с винчестера. Где их взять? Хороший вопрос. Они постоянно меняют свои адреса, и дать постоянную ссылку довольно затруднительно. Поисковики также не помогают, поскольку к тому моменту, когда они проиндексируют хакерскую страничку, она уже успевает умереть. А вот форумы – это самое то! Если нет хакнутых драйверов, можно запустить снятый образ по сети. Эмулятор его увидит, а вот защита – нет. Разумеется, локальная сеть есть далеко не у всех, а приобретать второй компьютер решится далеко не каждый.
Впрочем, дела обстоят не так уж и мрачно. В ходу до сих пор остается множество старых версий защиты, и Alcohol 120% с ними успешно справляется. Кстати говоря, при установке обновлений на игру вместе с самой игрой зачастую обновляется и защита, поэтому прибегать к обновлениям следует лишь тогда, когда они действительно необходимы. К тому же, с эмуляторами борется только Star-Force Professional. Многие фирмы предпочитают Star– Force Basic Edition, так как она надежнее и дешевле. На сайте разработчиков приводится сводная таблица, сравнивающая защиты друг с другом (http://www.star-force.ru/protection/protection.phtml?c=113), которую полезно изучить перед тем, как кричать на весь мир "я Star-Force сломал!" Basic Edition, действительно, ломается элементарно, а вот над Professional приходится проделывать все вышеописанные "танцы с бубнами".
После экспериментов со Star-Force хотелось бы начисто удалить ее из системы, чтобы исключить всевозможные неполадки и конфликты. Теоретически это должен сделать разработчик деинсталлятора игрушки, практически же "зачисткой" операционной территории приходится заниматься самостоятельно. Предвидя праведный гнев пользователей, разработчики Star-Force выпустили специальную утилиту, которая все делает сама, и отдали ее на всеобщее растерзание. Качайте! http://www.star-force.ru/support/sfdrvrem.zip.
Существует (по крайней мере, теоретически) весьма элегантный метод взлома, основанный на генерации ключей. Действительно, Star-Force "оцифровывает" особенности структуры спиральной дорожки, генерирует знако-цифровую последовательность и сравнивает результат с введенным ключом. Естественно, это упрощенная схема, и вместо простого сравнения используется шифрование. Но суть остается прежней – если восстановить алгоритм генерации ключей, то для скопированного диска можно будет вычислить свой ключ, который будет воспринят как правильный. Программы, защищенные по KeyLess-технологии, не запрашивают ключа, и он хранится на диске в Data Preparer Identifier в Primary Volume Descriptor, где легко может быть изменен. Ковырнув Star-Force, я установил, что разобраться с алгоритмом генерации вполне реально. Однако в новых версиях он наверняка изменится, и тогда весь труд пойдет насмарку. Кстати говоря, в сети уже появилось множество предложений об услугах подобного рода. Причем за деньги, что сразу настораживает. И не зря! Все это сплошное мошенничество. Рабочего генератора пока нет ни у кого!








