PDA

Просмотр полной версии : Защита от пользователей



Игоррр
14.09.2011, 20:13
Здраствуйте, такой вопрос как сделать чтобы из ПЛК100 нельзя было считать программу.
Заранее спасибо.

capzap
14.09.2011, 20:23
все очень просто, её туда не надо "заливать"

lara197a
14.09.2011, 20:41
Обычно серьёзным заказчикам ПО передаётся, чтоб местные инженеры потом сами с оборудованием разбирались.
Ну и меня не материли.

Andy
15.09.2011, 11:27
Поищите по форуму, защита здесь уже обсуждалась. И определитесь, Вам чтоб не считать, не декомпилировать или не тиражировать в другие ПЛК?
А то звучит как "как заработать денег?"

Александр Приходько
15.09.2011, 13:41
Программа в ПЛК заливается в уже скомпилированном формате. Поэтому от туда исходные коды взять ни кто не сможет. Даже если кто-то и вытащит из ПЛК бинарник, он должен многое учесть, чтобы тот-же бинарник заработал на другой железке.

hilih
15.09.2011, 14:56
Предложу аппаратный ключ. RS232 или RS485.
Бинарник могут скопировать и перезалить на ещё один плк.
А без аппаратного ключа, работать не будет.

Могу изготовить такой. Мы себе изготавливаем, когда требуется защита.

Игоррр
15.09.2011, 16:22
Проблема в том что заливая программу в ПЛК на постоянную работу. я на следующий день прихожу с обычным ноутом подключаюсь к ПЛК и через codesys спокойно считываю свой проект. Нужно сделать чтобы либо его нельзя было считать, либо он был под паролем.

Николаев Андрей
15.09.2011, 17:10
Еще раз.
1. В контроллере выполняемая программа - "набор 0 и 1". Даже если Вы её считаете - это ничего не даст.
2. Связываетесь Вы с контроллером только по тому, что используете не измененный проект для CoDeSys, который клиенту Вы, по моему мнению зря, отдавать не хотите. Если исходный проект изменен - Вы просто сотрете программу в контроллере (о чем CoDeSys конечно предупреждает).
3. По паролированию проектов - в документации все расписано.

capzap
15.09.2011, 18:56
А может дело все в пункте меню КДС: "Онлайн -> Загрузка исходных текстов", так это делать не обязательно при заливке проекта

Sergey1024
15.09.2011, 19:50
Еще раз.
1. В контроллере выполняемая программа - "набор 0 и 1". Даже если Вы её считаете - это ничего не даст.
Возьмем для примера мою ситуацию - я разрабатываю ПО для сторонних фирм. Оплатить всю разработку сразу фирме чаще всего невыгодно, главным образом потому, что в случае оплаты "за каждый экземпляр" фирма уверена, что а) я никуда не пропаду б) я точно исправлю в процессе все ошибки и дополнения в) оплачивать покупку будет реальный покупатель.
В случае Windows вопрос защиты решался применением hasp, под AVR - лок-битами при прошивке. Теперь вопрос - каким образом я смогу организовать подобную схему используя оборудование Овен + CoDeSys? Что помешает фирме-покупателю после покупки первого образца просто скопировать выполняемую программу?
Предложение использовать самодельные аппаратные ключи не устраивает хотя бы из-за отсутствия свободных портов под это дело.
Есть ли способ программно получить любые уникальные идентификаторы контроллера (заводской номер, еще что-то), к чему можно было бы привязаться?

Николаев Андрей
16.09.2011, 10:41
Тема не раз обсуждалась.
Можно привязываться к IP. Можно специально на диск класть файл с нужным Вам кодом, и в начале программы проверять...

Sergey1024
16.09.2011, 12:18
Можно привязываться к IP.Как привязаться к IP в ПЛК63\73?

Можно специально на диск класть файл с нужным Вам кодом, и в начале программы проверять...Что помешает скопировать все содержимое диска на другой ПЛК?

capzap
16.09.2011, 12:22
например дата последнего изменения файла

swerder
16.09.2011, 12:29
например дата последнего изменения файла

это не серьезно, эту дату можно за 5 минут подделать

hilih
16.09.2011, 13:21
Аппаратный ключ на RS485. Надёжно.
И не дорого.

capzap
16.09.2011, 13:25
это не серьезно, эту дату можно за 5 минут подделать

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

swerder
16.09.2011, 13:37
сначала создаем в новом плк файл-бирку с поддельными датами, а потом копируем .prg. и ничего ваша программа в новом плк не заметит.

capzap
16.09.2011, 14:12
:) вместо того чтобы спорить, поискали бы какую нибудь функцию в библиотеках КДС вызывающую идентификатор ПЛК, если файл не подходит, помогли бы товарищам в решении вопроса

Sergey1024
16.09.2011, 14:22
Аппаратный ключ на RS485. Надёжно.
И не дорого.Два порта, RS-232 занят, на 485 контроллер сидит как слейв. Куды пихать ключ?

:) вместо того чтобы спорить, поискали бы какую нибудь функцию в библиотеках КДС вызывающую идентификатор ПЛК, если файл не подходит, помогли бы товарищам в решении вопроса+100
Все что нужно - программно получить уникальный Id контроллера, неважно, что это будет.

swerder
16.09.2011, 16:52
тема не раз обсуждалась. нет никаких уникальных id, смиритесь. задача КДС - программирование ПЛК, а не защита ПО.

hilih
17.09.2011, 21:35
Два порта, RS-232 занят, на 485 контроллер сидит как слейв. Куды пихать ключ? ---- А кто мастер в сети, тот и опрашивает ключ.

Sergey1024
17.09.2011, 23:02
Два порта, RS-232 занят, на 485 контроллер сидит как слейв. Куды пихать ключ? ---- А кто мастер в сети, тот и опрашивает ключ.Пост ни о чем - каким боком это поможет защитить ПО на контроллере?

Terrano1992
18.09.2011, 08:55
каким боком это поможет защитить ПО на контроллере?
Вы таки его от чего именно защитить хотите? От "реверс-инжиниринга"? Так ведь исходный текст программы (если его не загружали в ПЛК) из скомпилированного бинарника все равно не восстановишь. Проще свою программу разработать и отладить, "по образу и подобию".
От несанкционированного тиражирования? Что толку в 10 экземплярах прошивки, если упомянутый аппаратный ключ, необходимый каждому из них для работы, имеется только в одном экземпляре и представляет собой не поддающийся тиражированию "черный ящик"?
Или от самого события "слива" бинарной прошивки из ПЛК? А зачем от него защищаться, если слитые файлы можно использовать только при ремонте установки, в случае замены погоревшего ПЛК?