Ваша проблема (контроль доступа с целью принудительного применения лицензии на программное обеспечение) аналогична проблеме безопасности / шифрования в целом. Но правило номер один: никогда не запускайте собственную криптовалюту. Я думаю, что здесь это определенно применимо.
Подумайте, как легко победить все механизмы идентификации, которые вы можете найти. Затем подумайте, как легко исправить двоичный файл, чтобы не выполнять сравнение, которое заставило бы его выполнить код «ваше программное обеспечение не лицензировано». А теперь подумайте, как легко загрузить патч, который сделает это для всех в мире.
Теперь попытайтесь сбалансировать свое желание помешать пользователям, которые не могут понять этого, с воздействием на ваших законных пользователей, которые обнаружат, что ваше программное обеспечение «сломано», когда они заменят свой неисправный жесткий диск (построенный с частями зоны наводнения, например: ). Как ваше программное обеспечение будет реагировать, когда вы работаете на платформе без сетевой карты или дисков (вполне возможно, ваше программное обеспечение может работать дольше, чем любой аппаратный API, который вы используете). Будет ли он безопасным / параноидальным или не соответствует требованиям / доверием? Вы уверены, что действительно хотите использовать эту схему?
Если вам действительно нужен механизм лицензирования, рассмотрите алгоритм для создания строк идентификации лицензии.
person
Brian Cain
schedule
26.11.2011