Форум: "Основная";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];
ВнизВопрос о привязке проги к компу Найти похожие ветки
← →
Red Alert (2002-01-10 15:21) [14]Сам задавался такой проблемой - как защитить программу от несанкционированного копирования. И однажды пришел к тому:
я снял (а дело было под Досом) серийный номер винта. Здесь кто-то
сказал что не все винты имеют серийные номера, но за мою 12 летнюю практику что-то таких не припомню. Недавно пришлось
опять решится на подобные эксперименты, но под виндой.
Оказалось что не все так просто т.к. для работы с портами ( а получить номер можно только так) требуется несколько другая организация работы с ними. Я нашел на www.torry.ru компонент
Smallport, позволяющий работать с портами на низком уровне.
Проинсталил его и написал небольшой пример, надеюсь он вам поможет. Но суть защиты я выстраиваю сл. образом (он не описан в примере):
RetCode[1]:= SerialNum[1] xor 1;
RetCode[1]:= SerialNum[2] xor 2;
RetCode[1]:= SerialNum[3] xor 3;
RetCode[1]:= SerialNum[4] xor 4;
RetCode[1]:= SerialNum[5] xor 5;
(1..5 - просто значения)
(SerialNum[X] - компоненты серийного номера)
(RetCode[x] - компоненты регистационного запроса)
Программа выдает на запрос не серийный номер, а несколько
модифицированный запрос.
AnswCode[1] := RetCode[1] xor 6;
...
AnswCode[5] := RetCode[5] xor 10;
Это код ответный. То есть если он прописан у юзера в ini-файле,
программа сделав расчеты и сравнив
AnswCode[1] = SerialNum[1] xor 1 xor 6.
...
AnswCode[5] = SerialNum[1] xor 5 xor 10.
проверяет регистрационный номер AnswCode на его ликвидность.
Если все ок, работает далее, иначе выдает
RetCode, который доставляется юзером вам и вы расчитываете ему
(с помощью программы, ес-но) AnswCode. Юзер прет домой, прописывает его в iniфайл и работает.
Вот и все..
А на счет того что есть винты которые не дают серийный номер, на такой случай сделайте какой-нить уникальный номер, для него.
Далее собственно пример как получить серийный номер с винта,
не забывайте про требуемый компонент (внимательно читайте, про используемые VXD и Sys драйвера, их надо при инсталяции программы кинуть в windows\system)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.025 c