| Как вы уже знаете я делаю софт на Delphi . И я задумывался вопросом как привязать софт к железу, и я нашел выход.Теперь делюсь им с вами. Как это все происходит, спросите вы, отвечаю! Пользователь получает ваш продукт и генератор серийного номера. Затем он запускает генератор который выводит код текущего компьютера, после чего клиент сообщает его вам. Вы, используя генератор лицензий создаете уникальный файл на основе полученного кода и после оплаты передаете его пользователю. В свою очередь он помещает его в папку с вашей программой и запускает её. Приложение запустится только в том случае если существует корректный файл лицензии. Как это все подключить, его Модуль: Для того, чтобы постоянно не переписывать защитный код, я решил создать отдельный модуль - BindEx. С помощью него можно произвести быструю привязку к железу в несколько строк кода. Шифрование/сжатие файла лицензии производится библиотекой Zlib, которая использует комбинацию алгоритма LZ77 и алгоритма Хаффмана. Сам серийный номер преобразуется в хэш через алгоритм MD5. http://i018.radikal.ru/1201/3d/36bec7d8968b.png Описание модулей Disk 1 property Disk: char write FDisk; Свойство, принимающее в качестве значения, букву диска для которой будет формироватся серийный номер (по умолчанию - C). KeyFile 1 property KeyFile: string write FKeyFile; Свойство, принимающее в качестве значения, имя файла лицензии (по умолчанию - key.lic). Salt 1 property Salt: string write FSalt; Свойство, принимающее в качестве значения, добавочное секретное слово (соль) для создания уникального серийного номера (по умолчанию пусто). CreateKeyFile 1 procedure CreateKeyFile(ASerial: string); Процедура создает файл лицензии на основе серийного номера ASerial. CheckNow 1 procedure CheckNow; Процедура проверяет файл лицензии и если он неверный завершает работу. GetDiskSerial 1 function GetDiskSerial: string; Функция возвращает серийный номер текущего компьютера. В архиве вы также найдете пример реализации типичного приложения с использованием модуля BindEx. Всем спасибо с вами был Антошка! Удачи Smile |
|