| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как вы защищаете программы при передачи третьим лицам?

Как вы защищаете программы при передачи третьим лицам?

Ответ
Поиск в этой теме
Непрочитано 24.03.2011, 12:16 #1
Как вы защищаете программы при передачи третьим лицам?
Shraybicus
 
Регистрация: 05.12.2010
Сообщений: 104

Здравствуйте!

Все пишут программы, потом их начинают распространять. Как вы защищаете свою программу при передачи третьим лицам. Т.е. если вы дали Петрову программу, но не хотите чтобы он свободно ее потом распространял, да еще получал деньги. Как вы защищаете свое программное обеспечение?

Объясняю почему спрашиваю. Я сам проектировщик, черчу в AutoCAD. Для облегчения работы себе написал программку на VBA. Начальство узнало о полезности ее, и предложило поставить на другие машины, для других проектировщиков. При этом обещали заплатить. Но вот ситуация, я не хочу чтобы потом все остальные начали раздавать ее направо и налево.

Есть мысли выдавать так сказать ключи к программе, но такой, чтобы только подходил к одному ПК. Пока не думал как это реализовать.

Посоветуйте, как избежать этого?
Просмотров: 16942
 
Непрочитано 24.03.2011, 12:29
#2
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Shraybicus Посмотреть сообщение
Пока не думал как это реализовать.
Как вариант:
1. Создайте шифрованный xml-файл, в котором прописано, где в сети следует искать ключ, наличие и содержимое которого разрешает использовать ваш плагин. Разместите этот файл в том же каталоге, где лежит ваш VBA-плагин. В "ключе" пропишите инфу, которую следует проверять на достоверность (например имя домена, а так же имя доменной группы, в состав которой входит юзер, и т.п. - это на ваше усмотрение).
2. При запуске плагина, вы должны программно считать содержимое созданного в п.1 файла и выполнить проверку, после которой плагин либо продолжает работу, либо сообщает юзеру о том, что проверка прав завершилась неудачей, мол обращайтесь к тому-то (т.е. к вам) за помощью в этом вопросе.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 24.03.2011, 12:39
#3
Shraybicus


 
Регистрация: 05.12.2010
Сообщений: 104


hwd,

А что будет подразумеваться под ключом?

Я просто только сейчас начал задумываться о таких вещах. Так что могу спрашивать глупости.

А с помощью VBA или AutoLisp можно, например, получить информацию о железе компа?
Shraybicus вне форума  
 
Непрочитано 24.03.2011, 12:46
#4
Modis


 
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534


Цитата:
А что будет подразумеваться под ключом?
Если погуглить, то можно найти много вариантов.
Например - имя пользователя. Допустим USER. Далее для получения кода вы должны преобразовать его во что-нибудь. Как вариант - представляете буквы в виде цифр, проделываете некие математические действия и получаете ключ. Соответственно в программе должен быть код, который производит обратные действия и сверяет получившееся имя с именем пользователя.
Вариантов в общем масса - тут главное ваша фантазия
Цитата:
А с помощью VBA или AutoLisp можно, например, получить информацию о железе компа?
Можно. Если воспользоваться поиском, то найдете примеры.
Modis вне форума  
 
Непрочитано 24.03.2011, 12:47
#5
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Shraybicus, на создание нормальной защиты у тебя уйдет значительно (возможно на порядок) больше времени, чем на создание твоей программы. Ты готов потратить это время? На VBA я не пишу, но как я понимаю код остается открытым, так что нормально защитить вряд ли получится. В первую очередь подумай нужно ли тебе это. Защищать (IMHO) имеет смысл коммерческие продукты (программы).
Александр Ривилис вне форума  
 
Непрочитано 24.03.2011, 12:49
#6
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Shraybicus Посмотреть сообщение
hwd,

А что будет подразумеваться под ключом?

Я просто только сейчас начал задумываться о таких вещах. Так что могу спрашивать глупости.

А с помощью VBA или AutoLisp можно, например, получить информацию о железе компа?
В данной ситуации "ключом" может быть другой зашифрованный xml-файл, содержащий в себе информацию о том, какие проверки необходимо выполнить. Т.о. даже если юзер стащит ключ, это ему не поможет, поскольку он не знает, какого рода информация проверяется. В ключе указано только то, какие проверки следует выполнять. Привязка к железу юзера - плохое решение, т.к. компы/запчасти могут меняться/докупаться. Даже если держать эту инфу во внешнем файле - имхо править его каждый раз после таких изменений не захочется.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 24.03.2011, 12:50
#7
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989


Когдя я жлобствовал - привязывал программы к именам компьютеров и пользователям, так:
(if (or
(eq (dos_computer) "NIKOLAEV")
(eq (dos_computer) "SERVER2000")
(eq (dos_computer) "PROJECT3")
(eq (dos_computer) "PROJECT2")
(eq (dos_computer) "PROJECT5")
(eq (dos_computer) "PROJECT6")
(eq (dos_computer) "PROJECT7")
(eq (dos_computer) "HOME")
(eq (dos_computer) "HOME-622C07A623")
(eq (dos_computer) "MULTIPLEXOR")
(eq (dos_computer) "TEXOTDEL1")
...тряляля...

где HOME, HOME-622C07A623 ... - имена домашних компов

Но скоро мои понты иссякли, я жлобствовать перестал и всем раздал свои проги безвозмездно, за что получил респект и уважуху.
Nike вне форума  
 
Непрочитано 24.03.2011, 12:54
#8
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Nike Посмотреть сообщение
(if (or
(eq (dos_computer) "NIKOLAEV")
(eq (dos_computer) "SERVER2000")
(eq (dos_computer) "PROJECT3")
(eq (dos_computer) "PROJECT2")
(eq (dos_computer) "PROJECT5")
(eq (dos_computer) "PROJECT6")
(eq (dos_computer) "PROJECT7")
(eq (dos_computer) "HOME")
(eq (dos_computer) "HOME-622C07A623")
(eq (dos_computer) "MULTIPLEXOR")
(eq (dos_computer) "TEXOTDEL1")
...тряляля...

где HOME, HOME-622C07A623 ... - имена домашних компов
имхо - плохое решение.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 24.03.2011, 12:57
#9
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Nike Посмотреть сообщение
Но скоро мои понты иссякли, я жлобствовать перестал и всем раздал свои проги безвозмездно, за что получил респект и уважуху.
+1000 Offtop: (извиняюсь за нарушение правил)
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 24.03.2011, 13:28
#10
Shraybicus


 
Регистрация: 05.12.2010
Сообщений: 104


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Shraybicus, на создание нормальной защиты у тебя уйдет значительно (возможно на порядок) больше времени, чем на создание твоей программы. Ты готов потратить это время? На VBA я не пишу, но как я понимаю код остается открытым, так что нормально защитить вряд ли получится. В первую очередь подумай нужно ли тебе это. Защищать (IMHO) имеет смысл коммерческие продукты (программы).
А почему код открытый? Можно пароль поставить.

Цитата:
Сообщение от hwd Посмотреть сообщение
Привязка к железу юзера - плохое решение, т.к. компы/запчасти могут меняться/докупаться. Даже если держать эту инфу во внешнем файле - имхо править его каждый раз после таких изменений не захочется.
Идея другая у меня, конечно минус есть, ты его озвучил - это изменение параметра ПК. Идея следующая:
1. извлекаем, например, серийный номер процессора, мат. платы или т.п..
2. предварительно создать шифратор, который будет шифровать полученные данные. доступ к которому у меня будет.
3. в программе тоже установить шифратор.
4. при первом запуске программы, выводится приглашение ввести ключ (зарегистрироваться), который получен с помощью шифратора (ключ я выдаю на основе полученной информации о железе), программа создаст файл и запишет этот ключ в туже паку, где лежит VBA программа. И каждый раз как будет запускаться программа, будет извлекаться серийный номер процессора, шифроваться и сравниваться с тем что был получен.
Shraybicus вне форума  
 
Непрочитано 24.03.2011, 13:38
#11
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от Shraybicus Посмотреть сообщение
Идея другая у меня, конечно минус есть, ты его озвучил - это изменение параметра ПК. Идея следующая:
1. извлекаем, например, серийный номер процессора, мат. платы или т.п..
2. предварительно создать шифратор, который будет шифровать полученные данные. доступ к которому у меня будет.
3. в программе тоже установить шифратор.
4. при первом запуске программы, выводится приглашение ввести ключ (зарегистрироваться), который получен с помощью шифратора (ключ я выдаю на основе полученной информации о железе), программа создаст файл и запишет этот ключ в туже паку, где лежит VBA программа. И каждый раз как будет запускаться программа, будет извлекаться серийный номер процессора, шифроваться и сравниваться с тем что был получен.
Как хочешь. Мне такой вариант не нравится, возможно потому, что у меня пользователей пара сотен и каждому давать ключ - повешусь... Привязку к железу никогда не рассматриваю как вариант проверки (причину указал выше).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 24.03.2011, 13:41
#12
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,840


Цитата:
Сообщение от Shraybicus Посмотреть сообщение
Но вот ситуация, я не хочу чтобы потом все остальные начали раздавать ее направо и налево.
У меня к Вам два вопроса - 1. Вы уверенны что она еще кому-то вобще пригодится кроме вашего отдела. 2. Почему Вам жаль ее "отдавать" - считаете что Вы ее сможете еще кому-то продать? Не спрорю - быть может она весьма ценна - опишите здесь что она делает - может кто-то ее захочет купить.
По поводу защиты - выделите сервер (хоть у себя дома - если есть внешний ip), вырежте из программы только пользовательский интерфейс - это будет клиентская часть, все остальное - расчет - пусть будет выполнятся на сервере - уверяю Вас "сломать" без достпа к серверу ее никто не сможет (если только напишет новую).
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Автор темы   Непрочитано 24.03.2011, 13:46
#13
Shraybicus


 
Регистрация: 05.12.2010
Сообщений: 104


Цитата:
Сообщение от hwd Посмотреть сообщение
Как хочешь. Мне такой вариант не нравится, возможно потому, что у меня пользователей пара сотен и каждому давать ключ - повешусь... Привязку к железу никогда не рассматриваю как вариант проверки (причину указал выше).
С твои уровнем программирования, можно сделать автоматически.) Посылают эл письмо с файлом, который содержит необходимую инфну, в ответ приходит ключ...

Дима_,
Возможно вы правы, что никому не пригодится. Но в той сфере где я работаю, она нужная. Да, думаю и еще что-нибудь написать.
Программа, на мой взгляд простенькая. Я проектировщик, и т.к. черчу в AutoCAD, то часто приходится пдф-ть, то что сделал, и в довольно большом объем, да если еще чертежи в разных файлах, то вообще гемор. Так вот программка это делает автоматически, без дополнительных знаний АвтоКада. Большинство, работающие со мной, владеют базовыми навыками черчения, а есть еще пожилые. Есть кончено вариант работать через подшивки. Но это тоже заранее сделанная работа, отнимающая время, да еще надо обучить. Но не все это умеют, да и не хотят.
Так вот моя программка их избавляет от рутинной их работы. Причем есть еще автоматическая конвертация шрифтов, вставка шаблонов (листов гостовского формата) в пространство модели, откуда они привыкли работать. Также авто заполнение штампов. И еще парочку наработок.

Последний раз редактировалось Shraybicus, 24.03.2011 в 13:58.
Shraybicus вне форума  
 
Непрочитано 24.03.2011, 13:51
#14
приборист

инженер-конструктор
 
Регистрация: 18.04.2006
Молдова
Сообщений: 453


А не проще ли её сделать в двух вариантах.
Демо полнофункциональной и профи. В отличие от первой имеет вторая больше функций особо важных.
И ограничить копирование проги.
Может не очень ясно выразился.
Но у меня есть опыт покупки DeltaCADa.
В демо работал работал некоторое время.
Увидел несомненную полезность (я ранее на других ветках говорил об этом), а затем перешел на полную версию.
То есть сделать так чтоб копирование не более 1-2раз. А копия с копии не осуществлялась.
приборист вне форума  
 
Непрочитано 24.03.2011, 14:02
#15
_Oleg_


 
Регистрация: 28.09.2006
Dnepropetrovsk
Сообщений: 683


Не так давно необходимо было выполнить привязку к железу. Облазил кучу форумов практически везде сходились в том, что единственное место к кторому можно привязать это номер HDD.
Можно делать "слепок" модель мат. платы видео проц и др. но тут если вылетает один элемент - необходимо обновлять регистрацию. Либо отслеживать сколько элементов вылетело и др.
Но прибольшом числе пользователей при привязке к железу видимо регистрировать будет сложновато.

Можно как-то вязать без железа, тут форумы порыть надо идей много.

По регистрации ставить в теле программы несколько точек проверки достоверности номера или др., можно одну рандомную.

Вообще это муторное дело и друдоемкое.

А да, есть themida, winlicense и др. Они могут сами вязать к чему угодно и версии их сломанные в сети есть.
_Oleg_ вне форума  
 
Непрочитано 24.03.2011, 14:04
#16
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989


Цитата:
Сообщение от Shraybicus Посмотреть сообщение
Так вот моя программка их избавляет от рутинной их работы. Причем есть еще автоматическая конвертация шрифтов, вставка шаблонов (листов гостовского формата) в пространство модели, откуда они привыкли работать. Также авто заполнение штампов. И еще парочку наработок.
Не надо это защищать
Nike вне форума  
 
Автор темы   Непрочитано 24.03.2011, 14:06
#17
Shraybicus


 
Регистрация: 05.12.2010
Сообщений: 104


Цитата:
Сообщение от приборист Посмотреть сообщение
А не проще ли её сделать в двух вариантах.
Демо полнофункциональной и профи. В отличие от первой имеет вторая больше функций особо важных.
И ограничить копирование проги.
Может не очень ясно выразился.
Но у меня есть опыт покупки DeltaCADa.
В демо работал работал некоторое время.
Увидел несомненную полезность (я ранее на других ветках говорил об этом), а затем перешел на полную версию.
То есть сделать так чтоб копирование не более 1-2раз. А копия с копии не осуществлялась.
Я только VBA изучаю, и не знаю таких способов.

Nike,

как говорили выше, меня жаба немного душит, так просто раздавать.)
Shraybicus вне форума  
 
Непрочитано 24.03.2011, 14:11
#18
Nike

Шаражпроектхалтурмонтаж
 
Регистрация: 29.10.2004
Талды-Париж
Сообщений: 5,989


Цитата:
Сообщение от Shraybicus Посмотреть сообщение
как говорили выше, меня жаба немного душит, так просто раздавать.)
А человеческая благодарность - хорошая и приятная вещь она твою жабу со временем и задушит..
Nike вне форума  
 
Автор темы   Непрочитано 24.03.2011, 14:14
#19
Shraybicus


 
Регистрация: 05.12.2010
Сообщений: 104


Цитата:
Сообщение от Nike Посмотреть сообщение
А человеческая благодарность - хорошая и приятная вещь она твою жабу со временем и задушит..
Если бы я знал, что это только для этого человека, тогда пожалуйста. Просто есть еще конкуренты, причем есть люди которые работают на них, в нашей компании. И как-то не хочется им помогать.
Shraybicus вне форума  
 
Непрочитано 24.03.2011, 14:54
#20
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588


1. Первое что необходимо сделать, это перевести проект с VBA на VB6. Без этого шага ни о какой защите не может быть и речи.
2. Как правило в конторах железо умирает или меняется очень редко, так что привязка к железу оправдана.
3. В VB6 работать с WEB довольно легко, так что сделать админку к программе просто.
4. Не забываем шифровать общения программки с базой ключей (админкой)

ЗЫ. Если программа будет очень нужна, все равно сломают.
Boxa вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как вы защищаете программы при передачи третьим лицам?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу ГОСТ на зубчатую передачу ЗаяцБо Поиск литературы, чертежей, моделей и прочих материалов 4 14.12.2010 15:54