Организация и технология защиты информации: Введение в специальность. Бабенко Л.К. - 28 стр.

UptoLike

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

28
чальный номер кластера. Это число, являющееся своеобразным ключом, запи-
сывается установочной программой в определенное место файла рабочей про-
граммы (естественно в поле данных). Рабочая же программа после запуска,
прежде всего, выполняет ту же операцию: определяет начальный адрес, а затем
сравнивает его с ключом. Если числа совпадают, программа приступает к вы-
полнению своей содержательной части, если не совпадаютаварийно заверша-
ется. При копировании программы на другой диск (или даже на тот же самый)
она окажется расположенной в другом месте, и номер кластера, записанный
установочной программой, уже не будет соответствовать реальному адресу
файла, в то же время с помощью установочной дискеты программу не
трудно
установить на любом диске.
Запись ключа за логическими пределами файла
Как известно, DOS выделяет место под файлы целыми кластерами, в ре-
зультате чего за логическим концом файла практически всегда имеется свобод-
ное пространство (до конца кластера). При копировании файла на другой диск
реально переносятся только байты, соответствующие самому файлу, так как
число копируемых байтов определяется логической длиной файла. Байты по-
следнего
кластера файла, находящиеся за логическими пределами файла, не
копируются. Если в них записать ключ, то при копировании ключ исчезнет.
Методика работы с программой не отличается от уже описанной. После записи
рабочей программы на жесткий диск, она устанавливается с помощью специ-
альной установочной программы (хранящейся на дискете). Установочная про-
грамма открывает
файл с рабочей программой, перемещает указатель файла на
его конец и записывает ключ (одно или несколько слов) за прежними предела-
ми файла. Затем с помощью средств DOS файл укорачивается до прежней дли-
ны. В результате ключ оказывается физически прилегающим к файлу, но логи-
чески за его пределами. При использовании этого метода установочная
про-
грамма должна перед записью ключа проанализировать длину файла. Если файл
занимает целое число кластеров, его предварительно следует удлинить так, что-
бы он занял часть следующего кластера, иначе некуда будет записать ключ. То
же получится, если, скажем, при длине ключа 2 байта файл занимает целое чис-
ло кластеров минус 1 байт. В
этом случае файл также требует удлинения.
Рабочая программа после запуска выполняет те же операции, что и ус-
тановочная (за исключением удлинения файла) и проверяет, записан ли извест-
ный ей ключ за концом файла.
Ключевая дискета с нестандартным форматом
Достаточно надежный способ защиты программ от переноса на другие
компьютеры заключается в использовании не копируемой ключевой дискеты. В