Защита программы в контроллере от копирования |
Ответить | Страница 12> |
Автор | |
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
Опубликовано: 23 Октябрь 2008 09:26 |
Имеется PC-совместимый контроллер (ADAM5510E, Fastwel RTU188) Сам по себе контроллер стоит цену производителя и является устройством универсальным, а с установленой программой превращается в законченое функциональное устройство, и стоит уже другую цену. В общем случае пользователь может купить у меня одно устройство (на базе Fastwel RTU188), потом купить нужное ему количество контроллеров, и на свой страх и риск (совсем небольшой) накопировать в свои контроллеры моих программ. Как мне (производителю программы) от этого защитится, желательно техническими и несложными средствами |
|
Сергей
|
|
Участник Присоединился: 23 Декабрь 2003 Online Status: Offline Публикации: 83 |
|
Можно попробовать контролировать из программы уникальные характеристики контроллера (серийный номер и т.д.). |
|
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
|
Или такие характеристики контроллеру как-то сообщать, например писать какое-то число в какую-то облать памяти (на Flash диск). Может еще какой способ придумать? Если стереть в контроллере Fastwel утилиту загрузки- выгрузки программ? (ftrans.exe), что могут придумать в ответ на это недобросовестные пользователи?
|
|
Сергей
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 02 Октябрь 2007 Категория: Russian Federation Online Status: Offline Публикации: 427 |
|
Каждую прошивку сделать уникальной. В батарейную память (в свободное место, тут придется поковыряться и разобраться как писать и читать, вообще говоря в каждом компьюторе это делается по своему) записывать число, а программой это число проверять.
|
|
При экспериментах ни один чайник не пострадал
----------- Плохому системному интегратору всегда OPC сервер мешает. ______________ Пишу на C++ за еду |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 24 Февраль 2004 Категория: Russian Federation Online Status: Offline Публикации: 185 |
|
Встречный вопрос - а зачем надо защищаться? Ваша программа настолько отторгаемый продукт, что один раз написанная - будет жить долго? Очень сомневаюсь, наверняка вы будете ее постоянно модернизировать, общаться с заказчиков, а значит - будете в курсе сколько у него контроллеров. И когда вопрос вылезет - просто скажите ему, что не будете оказывать сопровождение, пока он не купит необходимо число лицензий. Или же изначально за большую сумму продайте ему лицензию без ограничений. Для примера - наша исполнительная система KLogic никак не привязывается к контроллеру, мы периодически высылаем обновления прошивки. Рынок автоматизации - не тот, где все подряд используют пиратское ПО. А кто использует - только на свой страх и риск, четко осознавая, что случись что - спросить будет не с кого. |
|
Александр Бурмистров,
www.entels.ru |
|
Действительный член Присоединился: 14 Январь 2005 Категория: Russian Federation Online Status: Offline Публикации: 322 |
|
В том и состоит цель разработки универсальной программы, чтобы не вносить в нее изменений. Пусть с небольшим ущербом для функциональности, одна программа подходит для определенного количества сходных объектов. Устанавливает и настраивает уже не программист, а наладчик или эксплуатационщик. Программист в это время пусть другие программы пишет. В определенных случаях получается выгодно, когда автоматизация локальная, и не предполагает дальнейшего развития. Если -же произойдет скачек технического прогресса, или на программиста найдет вдохновение и он напишет новую программу, нужно предусмотреть возможность обновления "прошивки", силами разработчика |
|
Сергей
|
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 24 Февраль 2004 Категория: Russian Federation Online Status: Offline Публикации: 185 |
|
Да все это понятно, безусловно. Но есть только один верный способ защиты - привязка каждого экземпляра программы к аппаратным средствам - серийный номер контроллера и прочее. А это - уже сразу не универсальная программа. Мы от такого решения отказались. Лучше иметь небольшой риск пиратства, которое все равно вылезет наружу, нежели - большой геморой с сопровождением прошивок, привязанных к железу. |
|
Александр Бурмистров,
www.entels.ru |
|
Действительный член Присоединился: 09 Октябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 187 |
|
Можно делать так:
1. Найти функцию ДОС, которая возвращает серийный номер оборудования (под Windows например легко узнать серийный номер раздела винчестера). 2. В каком-либо текстовом файле рядом с исполняемым хранить серийный номер программы, котоый вычисляется следующим образом: серийный номер оборудования XOR произвольная маска. 3. Программа при запуске читает серийный номер оборудования, серийный номер программы из файла и проверяет их соответствие. Если все нормально, то программа запускается. Таким образом вы имеете неизменную исполняемую программу и коротенький изменяемый текстовый файлик. Причем при выходе новой версии прошивки пользователь сам может заменить исполняемый файл, не трогая файл с серийным номером Еще полезно сделать, что исполняемый файл при обнаружении несоответсвия серийного номера программы и оборудования выдавал пользователю (например, в DOS-консоль) серийный номер оборудования. Дальше пользователь сообщает вам его по телефону/электронке, и получает от вас серийный номер программы. |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 24 Февраль 2004 Категория: Russian Federation Online Status: Offline Публикации: 185 |
|
Полноценно этот механизм реализуется следующим образом: 1. Даем юзеру серийник. Алгоритм генерации - любой, желательно с защитой валидности. 2. Юзер используя серийник запускает программу на контроллере, она используя серийник и аппаратную конфигурацию (номер процессора и пр.) выдает код активации. Код отсылают вам. 2. Вы на основе серийника и кода активации генерите ответный код регистрации, отсылаете весь комплект в виде файла. Юзер подкладывает файл в контроллер. Вся секретность кроется в алгоритмах генерации номеров. У нас такой алгоритм используется для активации SCADA-системы ЭНТЕК. Для контроллеров - все таки с этим заморачиваться не будем. |
|
Александр Бурмистров,
www.entels.ru |
|
Действительный член Присоединился: 09 Октябрь 2003 Категория: Russian Federation Online Status: Offline Публикации: 187 |
|
Я описал самый простой вариант :)
|
|
Ответить | Страница 12> |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |