Автор Тема: Привязка скрипта к одному компьютеру (железу)  (Прочитано 61864 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mef-t [?]

  • Осваивающий
  • **
  • Сообщений: 277
  • Репутация: 29
    • Награды
Как я понимаю, в данной теме уже опробовали сервер, связку, пришли к некоторому выводу, и на этом закончили.

(нажмите для показа/скрытия)

Как на счет такой логики.
1. Каждый экземпляр программы имеет свой ID
2. Для входа требуется логин (почта) и пароль.
3. Пароль проверяется по логину, ID программы, UID оборудования
Таким образом один и тот же пароль нельзя использовать на разных машинах.

Первый экран, или отдельная форма с полями логина и пароля.
В качестве логина используется почта.
Если пароль еще не известен, то рядом с логином можно нажать кнопку "Запросить пароль".
Далее программа формирует письмо и отправляет на вашу почту логин, ID программы, UID оборудования. (можно нарисовать формат письма, зашифровать и прочее)

Вы раз в день/час проверяете почту. В свой программе указываете полученные данные.
Программа проверяет, оплачен ли данный экземпляр (по ID программы в каком нибудь файле).
Если оплачен, то формирует пароль по полученным данным и отправляет обратно на почту.
У Вас в файле дописывается привязка экземпляра (id программы) к почте.

Алгоритм формирования пароля и проверки в программе одинаковый.

Просьба высказать о недостатках такого метода и трудностях реализации

Русское сообщество AutoIt

Re: Привязка скрипта к одному компьютеру (железу)
« Ответ #90 Отправлен: Февраль 02, 2016, 13:52:28 »

Оффлайн inververs [?]

  • AutoIt Гуру
  • *****
  • Сообщений: 2052
  • Репутация: 448
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
mef-t вы изобрели серийный ключ. Вам присылается строка в виде XXXX-XXXX-XX-XXX-XXXXX, а ваша программа проверяет его на валидность.

Оффлайн Vovsla [?]

  • Осваивающий
  • **
  • Сообщений: 461
  • Репутация: 24
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Если цель - простая привязка ПО к железу, то мне кажется лишним ID программы, логин, пароль.
Можно же просто брать UID оборудования, шифровать его вместе с каким-нибудь контрольным словом, например.
Код: AutoIt [Выделить]
$UID= ;получить UID
_Crypt_EncryptData('ПО для UID ПК '&$UID&' не активировано', 'Огроменный ключ шифрования', $CALG_AES_256)
 


Шифрованные данные отправляются на сервер, сервер расшифровывает данные, проверяет наличие слов которые должны быть постоянно, например "ПО для UID ПК". Если слова есть, то пришел корректный код и сервер просто меняет "не активировано" на "активировано" и отправляет шифрованный ключ.
Код: AutoIt [Выделить]
_Crypt_EncryptData('ПО для UID ПК '&$UID&' активировано', 'Огроменный ключ шифрования', $CALG_AES_256)
 


Клиент получает код, дает его программе, программа расшифровывает код, ищет контрольные слова "ПО для UID ПК" для проверки корректности ключа, потом проверяет соответствует ли UID в коде UIDу текущего ПК, смотрит в коде какой статус должен быть у программы "не активировано" / "активировано".

Оффлайн mef-t [?]

  • Осваивающий
  • **
  • Сообщений: 277
  • Репутация: 29
    • Награды
mef-t вы изобрели серийный ключ. Вам присылается строка в виде XXXX-XXXX-XX-XXX-XXXXX, а ваша программа проверяет его на валидность.

Все верно. Я отталкивался от истории существующих защит.
Это простой вариант в реализации. Не требует настройки серверной части. Можно просто проверять почту.
Этот вариант защищает программу от неразрешенной установки.
Этот вариант защищает программу от копирования. Но при этом позволяет выслать новый ключ, если переустановлена система, произведен апргрейд компа, или вообще новый комп.
Я допускаю простоту обхода защиты, но и затраченные средства на защиту достаточно малы.

Если цель - простая привязка ПО к железу, то мне кажется лишним ID программы, логин, пароль.
...

А что делать, если произошел апгрейд?
В остальном все тоже самое, только вместо того, чтобы отправлять на сервер, как реализовать который я не знаю, данные отправляются на почту.
Вместо одной составляющей их будет три, т.е. общий шифрованный код будет сформирован из трех составляющих.
В остальном все почти так.
Разве что почта появляется. Но ее вводить так же можно всего один раз в начале.
Ваш вариант более приятен, если все абсолютно автоматизировано. Т.е. данные отправились, программа ждет. Сервер получил, обработал, вернул данные. Программа получила данные и активировалась.
« Последнее редактирование: Февраль 03, 2016, 16:42:32 от mef-t »

Русское сообщество AutoIt

Re: Привязка скрипта к одному компьютеру (железу)
« Ответ #93 Отправлен: Февраль 03, 2016, 13:47:44 »

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3679
  • Репутация: 934
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
mef-t

ПредупреждениеЗа нарушение общих правил (пункт В.2):
Цитировать
Старайтесь избегать “Over quoting” (преувеличенное цитирование) - цитируйте только необходимую часть сообщения, которая наилучшим образом подчеркнёт суть цитируемого.


С уважением, ваш Глобальный модератор.

Скорблю и помню.




Оффлайн Vovsla [?]

  • Осваивающий
  • **
  • Сообщений: 461
  • Репутация: 24
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Цитировать
А что делать, если произошел апгрейд?
А как отличить апгрейд от передачи логина и пароля другому лицу?
Как вариант, можно брать не UID, а например, серийный номер системного диска.

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

Русское сообщество AutoIt

Re: Привязка скрипта к одному компьютеру (железу)
« Ответ #95 Отправлен: Февраль 04, 2016, 11:18:49 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
52 Ответов
19917 Просмотров
Последний ответ Май 24, 2010, 19:06:31
от Greens
5 Ответов
7880 Просмотров
Последний ответ Сентябрь 16, 2012, 23:24:05
от shift72
21 Ответов
15036 Просмотров
Последний ответ Июнь 28, 2011, 11:33:24
от Centurion
6 Ответов
4199 Просмотров
Последний ответ Август 27, 2011, 14:49:30
от Kaster
0 Ответов
2398 Просмотров
Последний ответ Август 27, 2011, 11:53:08
от Kaster
9 Ответов
5345 Просмотров
Последний ответ Ноябрь 05, 2011, 19:32:17
от ArtInt
5 Ответов
3316 Просмотров
Последний ответ Февраль 03, 2015, 16:13:48
от rivega
12 Ответов
4885 Просмотров
Последний ответ Май 10, 2013, 13:41:12
от CreatoR
5 Ответов
1258 Просмотров
Последний ответ Август 10, 2015, 08:03:56
от Александр_
2 Ответов
794 Просмотров
Последний ответ Февраль 04, 2017, 02:44:54
от reset86