Проектирование программного обеспечения. Николаев С.В. - 141 стр.

UptoLike

Составители: 

141
Рекомендуемые методы привязки к компьютеру
10. Использование в качестве ключевой информации атрибутов
дата/время создания каталога, в который помещается программа в момент
инсталляции. При переименовании каталога эти атрибуты не меняются. В
нормальной ситуации эта информация доступна из трех источников:
дата/время каталога и записей "." и "..", даты/время создания
которых
изначально совпадают. При копировании целого каталога на целевом диске
создается новый каталог с тем же именем, но с датой/временем на момент
копирования, Изменение этих атрибутов и может служить признаком
нарушения защиты. Недостаток: если заранее знать об использовании такой
привязки, атрибуты дата/время можно легко подправить нужным образом с
помощью
нортоновских утилит или подобных им. Но это если знать!
11. Использование в качестве ключевой информации некоторой
служебной (и обычно уникальной) информации из IDE контроллера
жесткого диска (винчестера): серийный номер, дата изготовления,
параметры. Увы не на всех компьютерах стоят такие контроллеры.
12. Привязка к ROM (ПЗУ). На материнской плате компьютера всегда
установлено постоянное запоминающее
устройство, в котором размещена
базовая система ввода-вывода (BIOS) и другая служебная информация.
Некоторые области этой памяти уникальны. Точнее "почти" уникальны, так
как выпущенные в один день микросхемы будут все же неотличимы. В
частности, по адресу F000:FFF5 (8 байт) размещена дата создания, а по
адресу F000:FFFE (1 байт) размещен код типа компьютера. Для большей
надежности (чтобы
снизить вероятность случайного совпадения на разных
компьютерах) можно в качестве ключевой информации использовать
сигнатуру (побайтную контрольную сумму по модулю два) с последних 256
или 512 байт ПЗУ. По этим адресам изготовители часто помещают
недокументируемую информацию и она практически всегда отличается от
одного экземпляра ПЗУ к другому. Использование сигнатуры избавляет от
необходимости точного
знания в каких ячейках содержится требуемая
информация и позволяет просто констатировать факт различия хранимой в
данной области памяти информации.
13. Привязка к имени и/или содержимому некоторого "секретного"
файла (или каталога). В момент инсталляции либо создается файл с
известным именем и/или содержимым либо фиксируется имя какого-нибудь
уже существующего файла (
или даже целого списка файлов) в каком-нибудь
каталоге, отличном от каталога, в котором размещена защищаемая
программа. При нелегальном копировании секретный файл скорее всего не