Простейшая защита десктопной шароварной программы для начинающих
От: BlackEric http://black-eric.lj.ru
Дата: 17.05.17 20:18
Оценка: 2 (1)
Все, кто этим хоть немного интересовался, знают, что существуют специальные программы протекторы и множество покупных средств защиты. Однако у начинающего шароварщика денег — нет. (Иначе чего бы он начинал?) Поэтому защиту приходится писать самим. Я начинал с такой: значения триала шифровал и сохранял в двух местах: в реестре и в ini (config) файле.

Для генерации ключа использовали 2 варианта: любой хеш, скажем от имени пользователя, но это без проблем позволяет сделать кейген взломщику, один раз разобрав алгоритм генерации ключей. Сменить же алгоритм генерации ключей будет весьма проблематично т.к. после этого придется всем ранее купившим пользователям перегенерировать ключи. Второй вариант чуть сложнее, но не позволит сделать кейген. Если же подписать имя пользователя с использованием асимметричной криптографии (RSA), то сделать генератор ключей практически не возможно. Возможно только пропатчить бинарник, но это уже сложнее.

Поэтому, начиная со второй версии, потребовалось зашить в программу список ключей, которые больше не валидны, и постоянно его обновлять, перевыкладывая инсталлятор на сайте.

И еще правильным советом, наверное, будет начинать откладывать с продаж некоторую сумму на покупку протектора.

Пример реализации на С#, с некоторым количеством комментариев, под BSD3 лицензией на github: https://github.com/BlackEric001/sharewarereg

P.S. Я знаю про FileMon и RegMon и прекрасно понимаю, что все это защита от честного человека, однако, как показывает практика — сломать можно все, но тот же тотал коммандер живет фактически вообще без ограничения триала.
Критика и не затратные улучшения, разумеется, приветствуются.
https://github.com/BlackEric001
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.