MS-DOS для программиста


Защита программ на жестком диске


Обычно процесс установки защищенного от копирования программного продукта выглядит следующим образом:

  • в НГМД вставляется установочная дискета; с нее запускается программа установки;
  • программа установки уменьшает на единицу счетчик выполненных установок (этот счетчик может находиться в нестандартном секторе или в каком-нибудь другом месте на дискете);
  • если количество установок, выполненных с этой дискеты, превысило максимально допустимое, на экран выдается сообщение об этом и работа программы установки завершается;
  • если ресурс количества установок еще не исчерпан, выполняется копирование файлов программного продукта на жесткий диск и другие необходимые действия;
  • выполняется настройка программного продукта на параметры используемого компьютера.

Последний шаг необходим для того чтобы защищенный от копирования программный продукт стало невозможно перенести на другой компьютер, используя программы копирования файлов или разгрузки дисков на дискеты либо магнитные ленты с последующим восстановлением на жестком диске другого компьютера.

В этом разделе книги мы опишем несколько методов настройки программного обеспечения на конкретный компьютер:

  • привязка файлов программного продукта к их физическому расположению на диске (метод основан на том, что при восстановлении файлов на другом компьютере они будут располагаться в других секторах диска);
  • запись в неиспользуемый участок последнего кластера, распределенного файлу, контрольной информации (при выгрузке и восстановлении файлов эти неиспользуемые участки файлов пропадают);
  • привязка программы к конкретной версии BIOS, при этом используется дата трансляции BIOS и метод контрольных сумм;
  • проверка производительности отдельных подсистем компьютера.

Первый способ предполагает исследование расположения какого-либо достаточно длинного файла, записанного на диск в процессе установки на предмет определения его расположения на диске.

Программа установки, пользуясь таблицей размещения файлов FAT , определяет список кластеров, распределенных файлу и записывает этот список в конец защищаемого файла или в отдельный файл. Можно использовать, например, файл конфигурации, предназначенный для хранения текущих параметров программного пакета. Список кластеров можно зашифровать, сложив его с каким-либо числом, например, с использованием логической операции "ИСКЛЮЧАЮЩЕЕ ИЛИ".




Начало  Назад  Вперед



Книжный магазин