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

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

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2012, 14:58   #1
Rashid__
 
Регистрация: 19.11.2012
Сообщений: 9
По умолчанию Как можно защитить твою программу??

Народ, встал такой вопрос - есть программка, нужно ограничить её пользователей... То есть, Я даю ссылку человеку, он скачивает, и как сделать так, чтобы он не мог её передать другому, или другой не мог пользоваться ей. Извиняюсь если не там написал
Rashid__ вне форума Ответить с цитированием
Старый 20.11.2012, 15:01   #2
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

Привязать к железу - самый простой и более-менее трудно обходимый способ, но есть ограничения конечно.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 20.11.2012, 15:05   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Да, привязка к железу при первом запуске... Но если программа популярна, то в этой стране только через суды)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 20.11.2012, 15:23   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Народ, встал такой вопрос - есть программка, нужно ограничить её пользователей... То есть, Я даю ссылку человеку, он скачивает, и как сделать так, чтобы он не мог её передать другому, или другой не мог пользоваться ей. Извиняюсь если не там написал
Ключ. Вчерне, это работает так: программа на первом запуске исследует "железо" (да хоть бы и MAC-адрес) и говорит "код". Человек должен прислать этот код Вам, Вы в ответ высылаете код активации, человек скармливает его программе, программа его сохраняет и потом при каждом запуске проверяет на "правильность".
Соответственно, если другой человек попробует сделать то же самое, ему придётся просить у Вас другой код активации... а Вы его, естественно, не дадите.
Abstraction вне форума Ответить с цитированием
Старый 20.11.2012, 15:43   #5
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Ключ. Вчерне, это работает так: программа на первом запуске исследует "железо" (да хоть бы и MAC-адрес) и говорит "код". Человек должен прислать этот код Вам, Вы в ответ высылаете код активации, человек скармливает его программе, программа его сохраняет и потом при каждом запуске проверяет на "правильность".
Соответственно, если другой человек попробует сделать то же самое, ему придётся просить у Вас другой код активации... а Вы его, естественно, не дадите.
Разве это и не есть привязка к железу?)
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 20.11.2012, 15:49   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Разве это и не есть привязка к железу?)
Да. Это называется - "хреновая связь".
С другой стороны, расписал чуть подробнее, может пригодится. Вообще, ТС следует учесть, что программа не в состоянии просто так узнать, что её скопировали - нужен общий репер для всех возможных копий программ. В простейшем (изложенном) случае, этим репером работает вначале разработчик, а потом соглашение об уникальности MAC-адресов.
Abstraction вне форума Ответить с цитированием
Старый 20.11.2012, 15:51   #7
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Поиском по форуму пользуйтесь. Таких тем навалом создавалось. Самое простое и интересное - это разработать свой алгоритм генерации и проверок серийных номеров. Не брать готовые, которые уже сломаны. Я вот, например, для своего проекта разработал свой алгоритм и шифрование. Сейчас я его (алгоритм) на 95% закончил делать и постепеннно внедряю в свой проект. Не знаю, сколько он продержится по стойкости взлома и как скоро это произойдет, но, я его признаю только когда мне сломавший, а именно понявший сам принцип по-шагово, мой алгоритм подробно расскажет. Слова, что типа "ключ формируется мол так и так" я не приму, т.к. это пальцем в небо. Подробнейшее описание - и я признаю, что алгоритм сломан. На данный момент, алгоритм генерирует ключ, и, что самое главное осуществляет обратные действия. Я это к чему. Я к тому, что лучше разрабатывать что-то свое, т.к. когда делаешь сам, то это жутко как интересно и азарт. Пробуйте, удачи.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 20.11.2012, 15:54   #8
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Я к тому, что лучше разрабатывать что-то свое, т.к. когда делаешь сам, то это жутко как интересно и азарт. Пробуйте, удачи.
А заодно можно наступить на самые разные грабли. Полезно для самосовершенствования, плохо для результата.

Критерий взлома, вообще-то, не объяснение, а работающий кейген.
Abstraction вне форума Ответить с цитированием
Старый 20.11.2012, 16:05   #9
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,085
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Да. Это называется - "хреновая связь".
С другой стороны, расписал чуть подробнее, может пригодится. Вообще, ТС следует учесть, что программа не в состоянии просто так узнать, что её скопировали - нужен общий репер для всех возможных копий программ. В простейшем (изложенном) случае, этим репером работает вначале разработчик, а потом соглашение об уникальности MAC-адресов.
На деле имеем невыполнение соглашение об уникальности МАС-адресов. Так же имеем виртуальные машины. Привязываться к железу - это последнее деле, которое нужно использовать. Я не хочу покупать программу, а потом не иметь возможности ею пользоваться в новогодние праздники, т.к. свежеподаренный ноутбук - это другое железо, старый комп я отдал кому-то за ненадобностью, а разработчик бухает 10 дней и не высылает мне новый ключик.
pu4koff вне форума Ответить с цитированием
Старый 20.11.2012, 16:08   #10
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Сегодня для хорошей программы, привязка к железу - дурной стиль. Сегодня хорошая программа должна требовать Интернет, и часть ее мозгов подгружаться runtime. При запуске - логин скрин, на сервере - прверка id, проверка за что заплачено. Ну, и грамотный сценарий подгрузки тех участков мозгов, которые проплачены.
f.hump вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как защитить программу perpetuum-mobile Безопасность, Шифрование 5 19.10.2012 14:28
Как защитить программу Armiol Безопасность, Шифрование 33 09.11.2011 14:21
Нужно придумать как защитить программу Bright-rider Работа с сетью в Delphi 6 31.12.2010 20:21
Как защитить программу от копирования 1234 Общие вопросы Delphi 5 24.07.2008 21:30
Как защитить программу?? PONKA Безопасность, Шифрование 8 19.05.2008 08:16