Очень простой способ сделать это - составить список соответствующего оборудования ПК в строку, а затем запустить MD5-хэш поверх Это. Таким образом, ваша строка будет, например, содержат
"Pentium 4 Dual Core 3.8 GHz, HDD1: 320GB"
и т. д. Существует множество бесплатных реализаций хеширования MD5 почти на каждом языке, вы можете выполнить поиск в Google.
Вы не говорите, на какой платформе вы нацеливаетесь, но если вы используете Windows, вы можете получить конфигурацию оборудования ПК, запросив WMI или вызовы Windows API. Например, класс физической памяти для просмотра в WMI - Win32_PhysicalMemory.
Когда программное обеспечение установлено впервые, этот хэш скомпилирован и затем отправлен на сервер активации, который отправляет обратно соответствующий код, который будет соответствовать только этому хешу. Действительно простой/бесполезный пример - скажем, аппаратный хеш - 123, а алгоритм проверки - все цифры должны быть 9 после добавления хэш-кода и кода активации, сервер активации вернет 876. Программа добавит 2 кодирует вместе и получает 999, затем разблокирует его для использования.
Периодически программа будет воссоздавать хеш-память оборудования, добавить ее в код активации (только в моем простом примере) и убедиться, что они все еще складываются. Если они не делают продукт, он может заблокировать себя и настаивать на повторной активации.
Однако: Я настоятельно рекомендую вам не использовать этот метод защиты от копирования. Почему нет?
- Каждый раз, когда пользователь обновляет свое оборудование, переустанавливает свой компьютер и т. Д., Вы, вероятно, будете нести расходы на поддержку, помогая им повторно активировать программное обеспечение и неудобства для пользователя.
- Если вы когда-либо прекращаете работу своих серверов активации, продукта или закрываете свою компанию, вы фактически закрываете доступ для людей, которые платили за использование продукта.
- Это в значительной степени превращая компьютер пользователя в аппаратной заглушкой - которая звучит как хорошая идея на поверхности, но отпугивает пользователей от покупки программного обеспечения
Скорее я хотел бы предложить вам использовать хэш регистрирующего имя участника или название компании и вставлять его в программу таким образом, чтобы было очевидно, что программа зарегистрирована для них. Да, это технически позволяет им легче копировать программное обеспечение.
Подводная черта - если ваше программное обеспечение действительно ценно для многих людей, кто-то обойдет вашу схему защиты от копирования, как бы она ни была запутана. Использование активации продукта на основе конфигурации оборудования только усугубит одну группу людей, с которыми вы действительно хотите вести бизнес, - тех, кто в основном честен и хочет использовать ваш продукт на законных основаниях. Люди, которые не дают информацию о юридическом программном обеспечении, будут использовать версию, в которой была взломана ваша схема активации.
Я лично презираю покупку любого продукта, где нет гарантии, что я смогу использовать его, если я сменил свой компьютер, или компания отключится. Это похоже на недавний случай, когда люди покупали Джорджа Оруэлла в 1984 году за свои Kindles, а затем, когда был спор об авторских правах, Amazon удаленно удалил все копии этой книги, которые люди купили.
Только мой 2c.
«[H] ow код активации сгенерирован», вероятно, отличается в случае каждого поставщика, который это делает. И, равновероятно, это тщательно охраняемая тайна. –
Удостоверьтесь, что вы не мочите пользователей, кодируя 100% точное соответствие любых элементов оборудования, но допускайте некоторые варианты. Мне бы очень хотелось, чтобы программные пакеты не запускались просто потому, что я обновил второй жесткий диск или заменил мою мышь или видеокарту. –