Техника защиты компакт-дисков от копирования

         

Пример реализации табличного алгоритма скремблирования


            

             p = (DWORD*)(raw_sector + 12);

             for (a = 0; a < 2340 / 4; a++)

             {

                     p[a] ^= MyScramblerTable[a];

             }

}

Листинг 3  Пример реализации табличного алгоритма скремблирования на языке Си

Теперь Оостается разобраться лишь непосредственно с самой псевдослучайной последовательностью, первые восемь членов которой (выдранные[n2k44]  полученные с помощью дизассемблераом из того же Clone CD) выглядят следующим образом (листинг 1.4). так:

Листинг 1.4. Первые восемь членов псевдослучайной последовательности, используемой для скремблирования сектора, полученные из копировщика CloneCD

dd 060008001h

dd 01E002800h

dd 006600880h

dd 081FE02A8h

dd 028606080h

dd 0889E1E28h

dd 0AAAE6668h

dd 0E0017FFCh

Листинг 4 Первые восемь членов псевдослучайно последовательности, используемой для скремблирования сектора, выдранные из Clone CD

Вся таблица слишком великавелика, для того чтобы быть приведенной здесь целиком (даже напечатанная самым мелким шрифтом, который только допускают санитарные нормыслужбы, она занимает целую страницу, —– свыше четырех тысяч знаков, которые очень трудно "перебить" с бумаги в компьютер, не допустив при этом ошибок). Поэтому, представляет интерес найти закономерность, которой связаны члены данной последовательности, и воссоздать алгоритм, вычисляющий все члены последовательности по первому из них. Эта маленькая программистская головоломка отнюдь не так сложна, какой кажется поначалу. Да, беглый взгляд на первые восемь членов псевдослучайной последовательности не обнаруживает и намека на их природу —– числа меняются хаотично и сильно смахивают на "пляшущих человечков" над которыми ломал голову Шерлок Холмс. Только частотный анализ в данном случае бесполезен и в "лоб" эту задачу не решить. Но ведь мы начинаем анализ отнюдь не на пустом месте! Во-первых, нам достоверно известно, что скремблирование осуществляется по 16-разрядным словам (разрядность регистра скремблера как раз и составляет 16  бит), а раз так, то и анализировать мы должны именно слова, а не двойные слова.

Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий