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

         

битными кусками ничего не меняет,


То, что выполнение операции XOR[n2k45]  "ксоренье" идет 32- битными кусками ничего не меняет, ведь – она XOR побитовая операция и потому конкретная разрядность операндов никак не влияет на конечный результат! Во-вторых, анализ закономерностей выгоднее всего проводить на битовом уровне, т. к. именно на битовом уровне эта псевдослучайная последовательность и генерируются.

Следующий Скрипт

(
script)[n2k46] , показанный в листинге 1.5, автоматически преобразует все элементы таблицы в 16-разрядные слова, отображаемые в двоичном виде. Запустите дизассемблер IDA Pro, нажиме <F2> и загрузите файл, содержащий этот скрипт. Затем, подогнав курсор к первому элементу таблицы, нажмите <Shift-F2> и введите следующую команду: x2bin(ScreenEA(), ScreenEA()+2340, 2). Комбинация <Ctrl-Enter> (в ранних версиях IDA Pro просто <Enter>) запустит скрипт на выполнение.:

Листинг 1.5. Скрипт на IDA-Си, преобразующий элементы таблицы в двоичный вид

// x_start - начальный адрес для преобразования

// x_len   - кол-во байт для преобразования

// x_pow   - кол-во байт в одном элементе

static x2bin(x_start, x_end, x_pow)

{

            auto a,p;          

            for(p=x_start;;)

            {

                    // преобразуем в элемент нужной разрядности

                    if (x_pow == 1) MakeByte(p); else if (x_pow == 2) MakeWord(p); else

                    if (x_pow == 4) MakeDword(p); else return 0;

                    

                    // в двоичный вид

                    OpBinary(p, 0);

                    

                    // след. элемент

                    p = p + x_pow;

                    

                    // выход, если все уже сделано

                    if (p>x_end) break;

            }

}

Листинг 5 Скрипт на IDA-Си, преобразующий элементы таблицы в двоичный вид. Запустите IDA, нажиме <F2> и загрузите файл, содержащий этот скрипт. Затем, подогнав курсор к первому элементу таблицы, нажмите <Shift-F2> и введите следующую команду "x2bin(ScreenEA(), ScreenEA()+2340, 2)".

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







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