C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Теория о привязки
Любитель
  Отправлено: 01.05.2005, 10:48


Дежурный стрелочник

Группа: Участник
Сообщений: 53



Раскажите немного о привязки к железу. Читал несколько статей, но понять не могу sad.gif
vvoid
Отправлено: 02.05.2005, 19:30


Машинист паровоза

Группа: Участник
Сообщений: 171



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

А дальше простор для действий:
Полученное значение можно сохранить в системе и при последующих запусках программы выполнять те же действия и сравнивать результат с уже посчитанным значением. Если равны — ОК, если нет — КАРАУЛ пираты (program close, system kill, format c: или что-нибудь на твоё усмотрение :-) ).

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

Отредактировано vvoid — 02/05/2005, 19:32
Влад
Отправлено: 03.05.2005, 13:07


Не зарегистрирован







Работа с железом описана в в новой книге Тагина и Архангельского. "Приемы программирования на С++ Builder 6. Механизмы Windows и сети".
Любитель
Отправлено: 03.05.2005, 16:10


Дежурный стрелочник

Группа: Участник
Сообщений: 53



QUOTE (vvoid @ 02/05/2005, 19:30)
Далее от этого баняка данных считается некоторая контрольная сумма (значение хеш-функции, ну или CRC, на худой конец).

Нельзя ли здесь поподробнее? Что-то я не догоняю sad.gif

QUOTE (vvoid @ 02/05/2005, 19:30)
Полученное значение можно сохранить в системе и при последующих запусках программы выполнять те же действия и сравнивать результат с уже посчитанным значением.

Допустим моя прогу пират скопировал и установил незаконно на другом компе, то опять моя прога поличит системную инфу нового компа и при следующем запуске сравнит ее. То ведь она совпадет. Наверно я чуть-чуть туповат sad.gif
vvoid
Отправлено: 13.05.2005, 16:01


Машинист паровоза

Группа: Участник
Сообщений: 171



При помощи хеш фунции можно посчитать некий уникальный образ данных. Изменение хотя бы одного бита в данных влечёт за собой координальное изменение значения хеш-функции! CRC — контрольная сумма, которая вычисляется по более простому алгоритму, и имеет меньшую длину (CRC32 — 32 бита, хеш-функция SHA1 — 160 бит).
Соответственно криптостойкость CRC — гараздо меньше (справедливости ради надо заметить, что роль играет не только размер значения, а и алгоритм).
По значению хеш функции невозможно определить данные, от которых она была подсчитана (за исключением "функций с лазейками", но о них речь не идёт).

Так вот, наиболее примитивное применение может сводиться к следующему:
Программа собирает инфу о железе установленном на компе.
Считает от собранной инфы хеш.
Просит послать посчитанное значение разработчику, для получения ключа активации (не бесплатно)
Разработчик, по одному только ему известному алгоритму (ему и его программе) расчитывает из полученного значения ключ активации и шлёт его пользователю.
Пользователь втаптывает полученный ключ и радуется использованию зарегистрированной программы!
Lizard
Отправлено: 16.05.2005, 05:30


Ученик-кочегар

Группа: Участник
Сообщений: 20



Прочти здесь

Вернуться в Вопросы программирования в C++Builder