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

         

Еще один демонстрационный пример приведен


      buf = malloc(CDROM_RAW_SECTOR_SIZE * n_sec);

     

      // ПОЛУЧАЕМ ДЕСКРИПТОР УСТРОЙСТВА

      hCD = CreateFile(drive,GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,0,0);

      if (hCD != INVALID_HANDLE_VALUE)

     

      // ПЕРЕДАЕМ ДРАЙВЕРУ ПРИВОДА КОМАНДУ IOCTL_CDROM_RAW_READ

      fResult = DeviceIoControl(      hCD, 0x2403E /* IOCTL_CDROM_RAW_READ */,

                                      &rawRead, sizeof(RAW_READ_INFO),

                                      buf, CDROM_RAW_SECTOR_SIZE*n_sec,

                                      &x_size, (LPOVERLAPPED) NULL);

     

      // ВЫВОДИМ РЕЗУЛЬТАТ (если есть, что выводить)

      if (fResult)

           for (a = 0; a <= x_size; ++a) printf("%02X%s",buf[a],(a%24)?" ":"\n");

      else

           printf("-ERROR"); printf("\n");

     

      // СВАЛИВАЕМ

      CloseHandle(hCD); return (fResult)?buf:0;

}

Еще один демонстрационный пример приведен в листинге 1.4.4, изучение которого бывает полезно при анализе некоторых защищенных дисковниже. Он иллюстрирует технику чтения TOC (Table Of Content) —– своеобразный аналог таблицы разделов лазерных аудиодисков.

Листинг 2.1.4.4. [/IOCTL.read.TOC.c] еще один Пример программы, взаимодействующей с CDFS-драйвером через IOCTL и читающей содержимое TOC'а (с расшифровкой), изучение которого бывает полезно при анализе некоторых защищенных дисков

/*--------------------------------------------------------------------------

 *

 *                        ЧТЕНИЕ И РАСШИФРОВКА TOC

 *                        ========================

 *

 * build 0x001 @ 26.05.2003

--------------------------------------------------------------------------*/

main(int argc, char **argv)

{

int              a;

HANDLE           hCD;

unsigned char    *buf;

WORD             TOC_SIZE;

BYTE             n_track;

DWORD            x_size,b;

     

#define DEF_X      "\\\\.\\G:"                  // привод по умолчанию


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







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