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

         

перезагрузив компьютер) заблокируйте лотки их


А если все-таки упрут ( перезагрузив компьютер) заблокируйте лотки их приводов CD-ROM'ов –— пусть теперь перезагружаются!

Листинг 2.5.434. [/etc/CD.lock.c] Утилита для блокирования/разблокирования лотка в приводе CD-ROMе

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

 *

 *                  БЛОКИРУЕТ/РАЗБЛОКИРУЕТ ЛОТОК CD-ROM

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

 *

 * build 0x001 @ 04.06.2003

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

#include <windows.h>

#include <winioctl.h>

#include <stdio.h>

#define IOCTL_CDROM_MEDIA_REMOVAL 0x24804

main(int argc, char **argv)

{

      BOOL                       act;

      DWORD                      xxxx;

      HANDLE                     hCD;

      PREVENT_MEDIA_REMOVAL      pmrLockCDROM;

     

      // ПРОВЕРКА АРГУМЕНТОВ

      if (argc<3){printf("USAGE: CD.lock.exe \\\\.\\X: {+,-}\n"); return -1;}

     

      if (argv[2][0]=='+') act=TRUE;               // УВЕЛИЧИТЬ СЧЕТЧИК БЛОКИРОВОК

           else if (argv[2][0]=='-') act=FALSE;    // УМЕНЬШИТЬ СЧЕТЧИК БЛОКИРОВОК

                 else {printf(stderr,"-ERR: in arg %c\n",argv[2][0]); return -1;}

     

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

      hCD=CreateFile(argv[1],GENERIC_READ,FILE_SHARE_READ,0,OPEN_EXISTING,0,0);

      if (hCD == INVALID_HANDLE_VALUE) {printf("-ERR: get CD-ROM\n");return -1;}

     

      // ЗАБЛОКИРОВАТЬ/РАЗБЛОКИРОВАТЬ ЛОТОК CD-ROM'а

      pmrLockCDROM.PreventMediaRemoval = act;

      DeviceIoControl (hCD, IOCTL_CDROM_MEDIA_REMOVAL,

                 &pmrLockCDROM, sizeof(pmrLockCDROM), NULL, 0, &xxxx, NULL);

}


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







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