Russian Qt Forum

Программирование => Общий => Тема начата: mezmay от Март 20, 2015, 11:37



Название: защита от копирования через hardware ID, реализация
Отправлено: mezmay от Март 20, 2015, 11:37
Надо защитить программу от бесплатного копирования. Платформа Windows. Первое время мне надо будет распространить всего несколько копий и их установкой могу заниматься я сам.
Чтобы защита была более-менее осознанной, решил при установке программы "привязывать" её к ID-никам оборудования (материнка, проц, оперативка).
Конкретно - через WMI узнавать следующие параметры:
(указан WMI класс и его поле):

WIN32_BaseBoard, SerialNumber
Win32_Processor, ProcessorId
Win32_PhysicalMemory, SerialNumber


Для привязки хочу зашить алгоритм вычисления хэша в основную программу и в технологическую. Технологическая прога будет вычислять этот хэш и записывать в бинарный файл. А основная прога не будет запускаться без данного бинарника, содержащего нужный хэш.

Как вам идея защиты и выбор параметров?
p.s. - от декомпиляции пока защищать не планирую


Название: Re: защита от копирования через hardware ID, реализация
Отправлено: Пантер от Март 20, 2015, 11:40
Не проще будет заюзать готовые решения в виде токенов? Да, дороже, но затраты можно добавить к стоимости продукта.


Название: Re: защита от копирования через hardware ID, реализация
Отправлено: mezmay от Март 20, 2015, 11:45
Да, но мой алгоритм уже почти готов и достается мне бесплатно, а с токенами придется доплачивать за каждую копию


Название: Re: защита от копирования через hardware ID, реализация
Отправлено: qate от Март 21, 2015, 12:30
вполне хорошее решение для малого количества копий


Название: Re: защита от копирования через hardware ID, реализация
Отправлено: Igors от Март 21, 2015, 12:51
Вечнозеленая тема :) Недавно жевалось здесь (http://www.prog.org.ru/index.php?topic=28322.msg207138#msg207138). Ну и, как обычно, ничем не кончилось  :)


Название: Re: защита от копирования через hardware ID, реализация
Отправлено: qate от Март 23, 2015, 13:10
Вечнозеленая тема :) Недавно жевалось здесь (http://www.prog.org.ru/index.php?topic=28322.msg207138#msg207138). Ну и, как обычно, ничем не кончилось  :)

по той теме я для себя сделал такие выводы:
1. лучшая защита - это аппаратно-программное решение, т.е. без железа программа не имеет смысл (например какаято своя плата, которая делает основную работу)
2. работать с usb ключами можно только под вендой, код их библиотек и драйверов не открыт, что может мешать
3. простые решения (типа этого) тоже имеют смысл при определенных условиях


Название: Re: защита от копирования через hardware ID, реализация
Отправлено: Igors от Март 23, 2015, 14:09
по той теме я для себя сделал такие выводы:
1. лучшая защита - это аппаратно-программное решение, т.е. без железа программа не имеет смысл (например какаято своя плата, которая делает основную работу)
Жаль что не всегда требуется "нечто специальное"  :)

2. работать с usb ключами можно только под вендой, код их библиотек и драйверов не открыт, что может мешать
На OSX usb ключ прекрасно работает, есть framework для него (т.е. минимум хедеры имеете). На линукс не знаю, там вроде "все вокруг колхозное" - но сильно сомневаюсь чтобы на одной nix OC все бегало а на др по нулям.


Название: Re: защита от копирования через hardware ID, реализация
Отправлено: Fregloin от Март 23, 2015, 18:13
если от декомпиляции не защищаете то естественно любой разбирающийся спец сможет ее ломануть. впрочем ключи тоже ломаются (вспоминаю 1С).