Открытие VI с помощью ключа

Делись идеей, получай поддержку и критику!
Ответить
Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1193
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Репутация: 0
Версия LabVIEW: 2013
Откуда: Санкт-Петербург, Кронштадт
Контактная информация:

Открытие VI с помощью ключа

Сообщение Sergey Ivanov »

В общем, возникла задача установки ключа регистрации на программу.
Реализовал я её вот так (см. архив в приложении). KeyGen - генератор ключей, StartVI- главное окно программы, которую необходимо "защитить".

окно кейгена
111.png
111.png (35.01 КБ) 5848 просмотров


окно программы
222.png
222.png (60.93 КБ) 5848 просмотров


архив с :vi:
Паролька.rar
(115.26 КБ) 356 скачиваний



Как вы решате подобные задачи ?
Добро пожаловать на http://rk-stud.ru/

Аватара пользователя
Andrew Lunev

Activity Professionalism
leader
leader
Сообщения: 882
Зарегистрирован: 11 дек 2010, 12:31
Награды: 2
Репутация: 0
Версия LabVIEW: 2018
Откуда: Москва

Re: Открытие VI с помощью ключа

Сообщение Andrew Lunev »

Бегло посмотрел ваш алгоритм. Он обходится простой сменой текущей даты в Windows или я что-то упустил? Если это так, то пользователь получает вечный триал... :)

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3477
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Репутация: 0
Версия LabVIEW: 2.5 — 2019
Контактная информация:

Re: Открытие VI с помощью ключа

Сообщение dadreamer »

Base64 - обратимый алгоритм, при желании ваш код могут подобрать. Лучше использовать MD5, однако потребуется каждый раз вычислять хэш и сравнивать с контрольным.

Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1193
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Репутация: 0
Версия LabVIEW: 2013
Откуда: Санкт-Петербург, Кронштадт
Контактная информация:

Re: Открытие VI с помощью ключа

Сообщение Sergey Ivanov »

Andrew Lunev писал(а): Он обходится простой сменой текущей даты в Windows или я что-то упустил? Если это так, то пользователь получает вечный триал... :)


нее, сча опишу подробнее.

заполняем поля Имя, Фамилия, Сок действия


срок действия пересчитываем по алгоритму Base64 (именно обратимый алгоритм и нужен) и записываем полученное число в последний ряд символов:

MTM6M0lyNTI1MDl2-15217-NQZZ

берём первую цифру от срока действия, соединяем её с текущем временем ( текущее время нужно, чтобы можно было создавать много ключей с одним и тем же именем, но с одним сроком действия) пересчитываем по алгоритму Base64 - получаем первый ряд символов

MTM6M0lyNTI1MDl2-15217-NQZZ

соединяем Имя и Фамилию, вычисляем CRC16 - это средний набор символов

MTM6M0lyNTI1MDl2-15217-NQZZ


на стороне программы я делаю всё в обратном порядке. сохраняю все ключи в файле. время ввода нового ключа и есть время его активации. и, если, программа обнаружит ранее введённый ключ, то программа не запуститься.
Вложения
рег код.png
Добро пожаловать на http://rk-stud.ru/

Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3477
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Репутация: 0
Версия LabVIEW: 2.5 — 2019
Контактная информация:

Re: Открытие VI с помощью ключа

Сообщение dadreamer »

Sergey Ivanov, а не боитесь, что злоумышленник взломает вашу программу банальным перебором? Тем более после вашей публикации алгоритма работы... :crazy:

Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1193
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Репутация: 0
Версия LabVIEW: 2013
Откуда: Санкт-Петербург, Кронштадт
Контактная информация:

Re: Открытие VI с помощью ключа

Сообщение Sergey Ivanov »

хм )

перебор...надо ограничения будет поставить по вводу ключей(2 ключа в день, например). принцип генерации ключа такой же, а нюансы - немного разные.

это не общедоступный софт будет, а как программа для управления вот такой штукой:



не думаю, что у каждого дома такая будет стоять )
Добро пожаловать на http://rk-stud.ru/

bee
junior
junior
Сообщения: 51
Зарегистрирован: 12 июн 2013, 09:04
Репутация: 0
Версия LabVIEW: 2014
Контактная информация:

Re: Открытие VI с помощью ключа

Сообщение bee »

Очень интересное решение :super:
При вводе данных в Start.vi выскакивает ошибка, хотя прога отрабатывает...
Вложения
error 10.png
error 10.png (23.12 КБ) 5796 просмотров

Аватара пользователя
Sergey Ivanov

Activity Professionalism Gold Автор
expert
expert
Сообщения: 1193
Зарегистрирован: 01 мар 2009, 20:54
Награды: 5
Репутация: 0
Версия LabVIEW: 2013
Откуда: Санкт-Петербург, Кронштадт
Контактная информация:

Re: Открытие VI с помощью ключа

Сообщение Sergey Ivanov »

т.к. папка такая есть. программа пытается её создать, а она есть. в этой папке хранятся ключи, которые ранее были использованны. (надо добавить проврку наличия/отсутствия папки). если папка найдена - просто записываем файл. если не найдена -то создаём.
Добро пожаловать на http://rk-stud.ru/

Ответить

Вернуться в «Проекты»