Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2013, 18:42   #1
Dimasio
Новичок
Джуниор
 
Регистрация: 07.08.2013
Сообщений: 1
По умолчанию Лицензионная защита программ на Delphi

Всем привет. Необходимо защитить свою программу по такому алгоритму:

1. При первом запуске программа собирает серийники компа (материнская плата, биос, жесткий диск), полученные данные шифрует и передаёт итоговые данные пользователю программы. Пользователь программы в свою очередь передает этот ключ мне.
2. Я принимаю ключ, дешифрую его и получаю серийные номера железа у пользователя. Далее на основе этих серийных номеров мы создаем новый ключ активации и пересылаю его пользователю программы;
3. Далее пользователь вводит ключ активации, полученный от нас, программа его дешифрует тем же алгоритмом, что и у нас и получает из ключа активации серийные номера железа. Далее полученные серийные номера железа он сравнивает с серийными номерами реального железа. Если они совпадают, то программа работает, если нет, то закрывается.

Необходимо готовое решение в виде платного SDK, поддерживающее Delphi XE, например как IonWorx SerialShield.

Точнее мне необходим ваш совет: какие альтернативы есть у SerialShield, какой библиотекой лучше всего защитить программу? желательно, чтобы решение было одобрено ФСТЭК. Но не обязательно.

Последний раз редактировалось Dimasio; 07.08.2013 в 18:46.
Dimasio вне форума Ответить с цитированием
Старый 07.08.2013, 19:58   #2
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Как я понял мы защищаемся от активаторов(keygen не сработает)?
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 07.08.2013, 20:16   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Что именно делает программа? С какой целью ее защищаешь?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.08.2013, 23:42   #4
IvaniuS
Форумчанин
 
Аватар для IvaniuS
 
Регистрация: 16.04.2007
Сообщений: 225
По умолчанию

подскажу что только в твоем случае нужно использовать как включах ассиметричный алгоритм, чтобы нельзя было получить исходную формулу из кода... а дальше читай на вики
IvaniuS вне форума Ответить с цитированием
Старый 10.08.2013, 09:21   #5
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

или посмотрите этот пост + (или)
beegl вне форума Ответить с цитированием
Старый 10.08.2013, 10:15   #6
bakanaev
Форумчанин
 
Регистрация: 27.03.2012
Сообщений: 438
По умолчанию

Цитата:
Необходимо защитить свою программу по такому алгоритму
А другие алгоритмы принимаете в рассмотрение? А это это не самый надежный.
bakanaev вне форума Ответить с цитированием
Старый 10.08.2013, 17:28   #7
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Если пользователь захочет обновить/заменить железо, данные не совпадут, и *опа будет. От такого способа давно отказались.
Alter вне форума Ответить с цитированием
Старый 10.08.2013, 18:45   #8
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Цитата:
Сообщение от Alter Посмотреть сообщение
Если пользователь захочет обновить/заменить железо, данные не совпадут, и *опа будет. От такого способа давно отказались.
А какой нынче способ используют? (я надеюсь без HASP)
Lime вне форума Ответить с цитированием
Старый 10.08.2013, 21:37   #9
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от Lime Посмотреть сообщение
А какой нынче способ используют? (я надеюсь без HASP)
Записываешь кое-какие данные(рандомные) в ключи реестра и от туда ссчитываешь. Или генерируешь код активации в программе и хранишь в реестре. При проверке, от туда его проверяешь.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 11.08.2013, 14:18   #10
zumm
БохЪ
Форумчанин
 
Аватар для zumm
 
Регистрация: 30.09.2009
Сообщений: 724
По умолчанию

Проще всего защищать программы работающие с сетью. Так как ключи от них можно хранить на своем сервере. Я, например, храню ключи длиной 64 символа. Рэндомные. Это полностью защищает программу от кейгенов. Сервер делает работу с ключом однопоточной. То есть не дает подключения если с ключом уже работают. (Программа каждые несколько минут оповещает сервер, что она работает с ключом). Это позволяет пользователю использовать продукт на любой машине. Что бы защищаться от внедрения в exe можно скачивать с сервера какую нибудь необходимую информацию. На моем примере, это библиотека с константами, которую сервер шифрует при помощи пользовательского ключа, а программа на своей стороне расшифровывает эту библиотеку и грузит ее в память, не сохраняя на диск.

Получается довольно надежно. Кул хацкерам для взлома придется написать свой сервер + разгадать метод шифрования и расшифровать библиотеку. Добавляем к этому особый алгоритм генерации ответов сервера, который внешне кажется случайным и, основываясь на проверке этих ответов, размазываем кое какие не очевидные сюрпризы по программе. Время которое придется потратить на взлом будет непомерным, мало кто решит с этим возиться.
В планах порабощение вселенной...
zumm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лицензионная политика Sweta Помощь студентам 0 07.12.2011 01:29
Защита отключение программ Simbad Безопасность, Шифрование 1 15.08.2011 15:06
Защита от нещелательных программ Pigoreva Помощь студентам 9 27.05.2011 00:01
Лицензионная версия Delphi Lokos Софт 11 28.09.2010 16:57