PDA

Просмотр полной версии : Вытащить программу из ПЛК-100



mc_
25.03.2013, 09:35
Собственно, сабж. Нужно вытащить программу из одного ПЛК-100 и залить в другой. Исходников нет. Права на ошибку тоже нет.
Исправного ПЛК-100 без программы, на роль подопытного, тоже пока нет.

Поэтому нужна последовательность действий от и до.

Малышев Олег
25.03.2013, 14:23
Ищите по форуму PLC Commander копируйте все файлы из первого ПЛК.
Главное убедитесь что
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!версия прошивки совпадает!!!!!!!!!!!!!!!!!!!!!

mc_
26.03.2013, 09:39
PLC Commander по форуму не могу найти, яндекс тоже не в курсе. Может, не там ищу?

Есть plc_io и EasyWorkPLC.

Дмитрий Артюховский
26.03.2013, 23:22
Скачать прицепленный архив, распаковать, подключить контроллер сетевым кабелем к компу, запустить download.bat, подключить новый контроллер, запустить upload.bat

да, прошивки должны быть одинаковы...

drvlas
27.03.2013, 00:38
да, прошивки должны быть одинаковы...Я попробовал на одном и том же ПЛК. Но что-то не получилось.
В процессе аплоада немного ругалось на ошибки удаления файлов, но потом бодренько заявило, что все чики-пики.
8379
А ПЛК работать не стал.

mc_
27.03.2013, 06:21
Смотрю батники. Там точно адрес править не надо?
У меня контроллер на COM1 обычно.

Пробовать, увы, до сих пор не на чем, под рукой только 63-й.

Дмитрий Артюховский
27.03.2013, 09:55
Я попробовал на одном и том же ПЛК. Но что-то не получилось.
В процессе аплоада немного ругалось на ошибки удаления файлов, но потом бодренько заявило, что все чики-пики.
8379
А ПЛК работать не стал.

ошибка 100 - нет связи с ПЛК по какой то причине... скорее всего у вас кодесис законнектен с плк...

в файле upload удаляются предыдущие файлики, в том числе уникальные для моих проектов, поэтому они не будут найдены..

Дмитрий Артюховский
27.03.2013, 09:57
Смотрю батники. Там точно адрес править не надо?
У меня контроллер на COM1 обычно.

Пробовать, увы, до сих пор не на чем, под рукой только 63-й.

если на COM - то в бат файлах надо указать не TCP а COM .... вызовите PLC_IO c ключем H или ? чтобы посмотреть правильный синтаксис...

drvlas
28.03.2013, 01:27
ошибка 100 - нет связи с ПЛК по какой то причине...Вроде как не было такого... Ну, ладно, допустим я разберусь. Вот что интересно: это так с любого ПЛК можно вытянуть прогу или есть способы защиты от копирования?

Дмитрий Артюховский
28.03.2013, 21:57
на прицепленной картинке видны ошибки.
Вы вытаскиваете не программу, а выполняемый образ. Защита обсуждалась, самый приемлемый вариант - некий программно-аппаратный ключ на один из портов. Есть еще некоторые способы, но они не очень устойчивы и рассчитаны на неопытного пользователя.
Самый правильный способ защиты - обеспечивать заказчику сервис, чтобы у него мысли такой не возникало ))

drvlas
28.03.2013, 22:24
Самый правильный способ защиты - обеспечивать заказчику сервис, чтобы у него мысли такой не возникало ))Ладно, это из другой оперы. Это не потому, что я хочу непременно держать заказчика за... горло. Но есть разные бизнесы. Есть просто серийные изделия, которые расползаються по планете :) Там кое-какие меры все равно нужно принимать. И несомненная польза для меня (спасибо!) - оценка защищенности контроллеров ОВЕН от копирования. Это сэкономит силы.

Евгений_Томск
30.03.2013, 03:48
Подумал поначалу,что можно в программе анализировать MAC и IP контроллера для разрешения работы программы (если конечно к ним есть доступ).Но они в файле,легко переносятся. Что если попробовать сделать первичную инициализацию проекта? Типа ввода параметров станка,но сохранять в Ретэйн память.На одном раннем отечественном ЧПУ такая фишка была,пока не нашли десяток параметров и не ввели их,станок не заработал.Заодно иногда будут вспоминать автора,когда RETAIN сбросится.

petera
30.03.2013, 05:10
Ладно, это из другой оперы. Это не потому, что я хочу непременно держать заказчика за... горло. Но есть разные бизнесы. Есть просто серийные изделия, которые расползаються по планете :) Там кое-какие меры все равно нужно принимать. И несомненная польза для меня (спасибо!) - оценка защищенности контроллеров ОВЕН от копирования. Это сэкономит силы.
Если используется ПЛК+Панель, то для халявного дублирования Вашей разработки, переноса файлов из одного ПЛК в другой будет не достаточно, нужно так же дублировать проект из панели, а это не возможно.
Сама панель и будет аппаратным ключом защиты от копирования.:)

capzap
30.03.2013, 09:15
Если используется ПЛК+Панель, то для халявного дублирования Вашей разработки, переноса файлов из одного ПЛК в другой будет не достаточно, нужно так же дублировать проект из панели, а это не возможно.
Сама панель и будет аппаратным ключом защиты от копирования.:)

Не дороговат ли ключ получится, если визуализация не нужна :)
Не помню высказывалась такая мысль или нет, но я это представляю таким образом: в работающий плк залили файл с идентификатором, через кдс активировали его через функцию, которая после активации удаляет (очищает файл), по выключению питания записывает код из ОЗУ в файл, по включению обратно в ОЗУ. Хотя если копирайтер догадается зайти в плк через КДС не загружая проект и зная что он хочет найти и непредусмотрено ни какого шифр/дешифр.-я то ...
С другой стороны зачем переносить содержимое флеш, когда в онлайне без загрузки можно скопировать весь код, ну может за исключением библиотек, получится долго но просто. Сам не проверял, еще не доехал до дома

drvlas
30.03.2013, 11:19
Не дороговат ли ключ получится, если визуализация не нужна :)
Не помню высказывалась такая мысль или нет, но я это представляю таким образом:
Не, ребята, все не то
Все не так, как надо...

...как сказал классик. Если говорить о способах создания защиты, то тема необъятна. Лично для меня было важно увидеть, каковы штатные подходы к защите кода. То есть, как на это смотрели разработчики ПЛК100. Пока (поправьте, буду рад) вижу, что никак. Есть прекрасная кнопочка в меня ОНЛАЙН Кодесиса "Читать файл из ПЛК" - и это показывает...
В то же время, известный мне подход из микроконтроллерной техники с локбитами - вполне себе рулит. Поставил защиту при прошивке - вуаля! "Обратно взад" прогу не качнешь. Ни через интерфейс программирования. ни через бутлодер (близкий аналог нашего онлайн соединения). Да, там тоже умельцы чей-то думают, как это взломать, но трудозатраты копирования возрастают на порядки. Тут уж только параноидально озабоченные разработчики продолжают бояться, что их бесценный продуХт украдут.
Почему тут было не предусмотреть такой бит, байт, хранцуськое слово по-турецки, чтобы его записал в ПЛК вместе с прогой или после нее - и ПЛК не отдавал бы свою прогу никому? Вложить такую фичу, на мой непросвещенный взгляд - двапальцаобасфальт. Но я так понимаю, к разработчикам ОВЕН взывать бесполезно. Они в своей башне из слоновой кости нас не услышат. Может хоть Николаев Андрей расскажет, что я не верно понимаю. Тот редкий случай, когда хочу быть посрамленным :)

Николаев Андрей
30.03.2013, 13:21
Не, ребята, все не то
Все не так, как надо...
...как сказал классик. Если говорить о способах создания защиты, то тема необъятна. Лично для меня было важно увидеть, каковы штатные подходы к защите кода. То есть, как на это смотрели разработчики ПЛК100. Пока (поправьте, буду рад) вижу, что никак. Есть прекрасная кнопочка в меня ОНЛАЙН Кодесиса "Читать файл из ПЛК" - и это показывает...
В то же время, известный мне подход из микроконтроллерной техники с локбитами - вполне себе рулит. Поставил защиту при прошивке - вуаля! "Обратно взад" прогу не качнешь. Ни через интерфейс программирования. ни через бутлодер (близкий аналог нашего онлайн соединения). Да, там тоже умельцы чей-то думают, как это взломать, но трудозатраты копирования возрастают на порядки. Тут уж только параноидально озабоченные разработчики продолжают бояться, что их бесценный продуХт украдут.
Почему тут было не предусмотреть такой бит, байт, хранцуськое слово по-турецки, чтобы его записал в ПЛК вместе с прогой или после нее - и ПЛК не отдавал бы свою прогу никому? Вложить такую фичу, на мой непросвещенный взгляд - двапальцаобасфальт. Но я так понимаю, к разработчикам ОВЕН взывать бесполезно. Они в своей башне из слоновой кости нас не услышат. Может хоть Николаев Андрей расскажет, что я не верно понимаю. Тот редкий случай, когда хочу быть посрамленным :)
1. На провокации я не ведусь, бесполезно.
2. На все Ваши вопросы ответил Дмитрий Артюховский.
Хотя именно благодаря ему вроде и есть возможность копирования кода :)



Вы вытаскиваете не программу, а выполняемый образ. Есть еще некоторые способы, но они не очень устойчивы и рассчитаны на неопытного пользователя.
Самый правильный способ защиты - обеспечивать заказчику сервис, чтобы у него мысли такой не возникало ))

И последнее. Есть такая штука - здравый смысл:
1. Ваша интеллектуальная собственность защищена - проект достать нельзя. В принципе.
2. Даже для того, чтобы просто копировать код, как видите надо иметь ОЧЕНЬ высокую компетенцию. А компетентному спецу, как известно, легче написать программу с нуля (быстрее и дешевле), чем разбираться с компилированным исполнительным кодом другого :)
3. Если Ваш партнер по каким то причинам пытается Вас кинуть (что само по себе странно), то может не стоит на зеркало пенять?

Вопрос защиты обсуждался миллион раз. С тех пор ничего не изменилось. Тему предлагаю закрыть.

Евгений_Томск
01.04.2013, 21:36
Не, ребята, все не то
Все не так, как надо...

...как сказал классик. Если говорить о способах создания защиты, то тема необъятна.

Остаётся вариант с регистрацией лицензии на станок через интернет.Пусть станки стучатся,например, на хозяйский ПЛК,который всегда включен, по модбас TCP. ПЛК проверит запрос, и вышлет в ответ как-то код, который позволит работать станку в течении очередного месяца или более.И так на весь срок жизни станка...

drvlas
01.04.2013, 22:11
Остаётся вариант с регистрацией лицензии на станок через интернетТа не... ЩАС придет модератор и надает по ушам. Он-то на провокации не поддается, а рубит сразу по самое никуда. Если уважаемый Николаев Андрей решил, что он умеет охватить мысленным взором все мыслимые бизнес-ситуации, если закидает мне, что я сам, может быть, проходимец и мастер стырить - оттого и партнеры у меня такие, то что у ж тут говорить. Тема должна считаться закрытой.

Мои станки стоят в глухой степи и интернета не видят. Если чьо :)

Николаев Андрей
02.04.2013, 00:43
Но но но...
Не надо передергивать мои слова, и популизмом заниматься :)
Очень удобно взять слова общего содержания, и совершенно пропустить фразы по существу дела :)
Я всего лишь предложил честно и прямо вести бизнес. И не иметь Вам, в том числе, дел с авантюристами.
Много вот лично у Вас программ пытались стянуть со станков в глухой степи????

Евгений_Томск
02.04.2013, 19:10
Смотря как рассуждать...Предполагаю,что иногда НЕвозможность защитить программный код может привести глобально к застою в желании писать программы(проекты) компаниями.Следствие: сокращение числа купленных контроллеров или поиск альтернативы. Думаю, что код ,написанный в среде CODESYS (или иной) имеет зачастую немалую ценность даже по непосредственным затратам на труд.Над проектом может работать коллектив из нескольких человек и не один месяц или год.Представим,если компания выпустила оборудование в котором материалы, например ,составляют 300т.руб и программа 100...200т.р.(подразумевая не только код, но и исследовательские работы,эксперименты,тестирование контроллеров и периферии).Потом какие-то люди, добросовестно делают клона ,легко переписывая шильдики с контроллеров,пускателей,автоматов.Создают аппаратную копию.А программы просто вытягивают из образцового ПЛК? БЕСПЛАТНО!?! Это не есть хорошо...У каждого своя работа. Почему бы тогда не сделать открытым доступ к внутреннему ПО контроллера? Пусть люди паяют контроллеры дома, и заливают в них ворованные мозги,не покупая лицензию CDS на каждый экземпляр ПЛК.Так могут прекратиться и отчисления Альянсу...Кто на это пойдёт?

Дмитрий Артюховский
02.04.2013, 20:25
Вы не очень хорошо представляете себе позиционирование обсуждаемых контроллеров на рынке. Это дешевое решение для практически мгновенного автоматизирования какого либо процесса. Добавлю не очень сложного процесса. Большинство пользователей начинающие автоматизаторы, которым лишние функции лишь забивают голову и здорово мешают при отладках и поисках ошибок.

Разумеется на них можно делать и глобальные вещи, в вашем примере, уникальная метка стоимостью 100 рублей полностью решит задачи защиты. Но 95% применений ПЛК100 - это пробросить десяток переменных из одного интерфейса в другой и щелкнуть парой релюх. Смысла городить защиту - 0.

Для шифроманьяков, могу подкинуть идею ... вспомните некопирующиеся диски с игрухами )))) Все возможно, если не тривиально думать! Но не стоит все же платить за игры разума надежностью и ремонтопригодностью установки.

BETEP
02.04.2013, 21:47
конечно лучше заплатить производителю кодесиса.
http://www.rnbo.ru/press-center/news731.php
чем дать доступ к ID проца.

Евгений_Томск
02.04.2013, 23:00
Вы не очень хорошо представляете себе позиционирование обсуждаемых контроллеров на рынке. Это дешевое решение для практически мгновенного автоматизирования какого либо процесса. Добавлю не очень сложного процесса... По-моему Вы слегка недооценили ПЛК1ХХ :( Мягко говоря,они способны на большее...

Евгений_Томск
02.04.2013, 23:14
конечно лучше заплатить производителю кодесиса.
http://www.rnbo.ru/press-center/news731.php
чем дать доступ к ID проца. Хорошая ссылка. Наконец увидел те два важных правильных слова: "пиратство и реинжиниринг". А Овен ,отмахнувшись сегодня от размышлений о дополнительном функционале по защите,завтра,возможно, будет вынужден бороться за "нас" с немцами и французами.Как только они попрут сюда всем ходом со своими технологиями и маркетингом.Кстати, только SPS/IPC...1500фирм vs ПТА...менее100.Есть о чём задуматься!

Евгений_Томск
02.04.2013, 23:35
...Для шифроманьяков, могу подкинуть идею ... вспомните некопирующиеся диски с игрухами )))) Все возможно, если не тривиально думать! ... Давно это было...Можно детализировать основу идеи? Возможно это и будет решением задачи.

Дмитрий Артюховский
03.04.2013, 14:05
конечно лучше заплатить производителю кодесиса.
http://www.rnbo.ru/press-center/news731.php
чем дать доступ к ID проца.

а кодесис причем??? то что они интегрируют поддержку IPSEC в обмен с контроллером?? вот уж точно для маньяков, защищать от прослушивания сниффером обмен контроллера со средой кодесиса )))

а про защиту - дык там же открытым текстом написано "использование ВНЕШНИХ аппаратных ключей"... о чем и писали неоднократно, кто мешает прямо сейчас сделать себе копеечную штучку и цеплять к каждому своему контроллеру, нуждающемуся в защите...

пы.сы. да знаю я что на любой железке можно поднимать любые задачи, только нужно учитывать, что вас могут и не понять заказчики, если в дорогостоящий проект будет заложено дешевое железо ))) как говориться для респектабельных прихожан, нужен респектабельный господь...:D

Евгений_Томск
03.04.2013, 17:31
пы.сы. да знаю я что на любой железке можно поднимать любые задачи, только нужно учитывать, что вас могут и не понять заказчики, если в дорогостоящий проект будет заложено дешевое железо ))) как говориться для респектабельных прихожан, нужен респектабельный господь...:D Ну некоторое и не такое уж дешёвое...Но в основном всё достаточно неплохо.Если не останавливать развитие новых продуктов и подпиливать уже созданные, всё будет норм!!! В СССР в нашем детстве нам прививали правильную мысль что наша страна сильна,а люди талантливы и могут многое.Ок, хочу ,чтоб снова стало так! Может кто-то не знает,какую роль отвели нашей стране при мировом разделении функционала между странами? Кто с этим согласен? Если рассуждать экономически, то всегда важен результат .ПЛК1ХХ справляется с большинством задач.Зачем брать имп.контроллер за 40руб ,если можно взять пять по семь,да ещё у "своих".Важно движение и здоровая конкуренция. Не надо сдавать позиции! Болтуны с 1-го канала уже всем остопи.....

Евгений_Томск
04.04.2013, 19:42
...
а про защиту - дык там же открытым текстом написано "использование ВНЕШНИХ аппаратных ключей"... о чем и писали неоднократно, кто мешает прямо сейчас сделать себе копеечную штучку и цеплять к каждому своему контроллеру, нуждающемуся в защите...


Дмитрий! Подскажите что Вы имели ввиду,когда говорили про недорогой ключ.А то пока в голову ничего не пришло.Могу только предположить несколько вариантов:

1.RC цепочка (кинул TRUE и измеряешь время зарядки).
2.Резистивный делитель на аналоговом входе.
3.Проверка тривиального наличия в сети MODBUS устройства с определённым адресом.
4.RFID считыватель и метка рядом с ним.
5.USB ключ с битиками.
6.Внутренняя мелкая доработка,типа отрезать вход или выход.
7.Установить время в определённое значение, как стартовый пароль

Дмитрий Артюховский
04.04.2013, 20:02
нет, все это ломается на раз.

Наиболее устойчиво повесить на порт, например, RS232-DEBUG, микропроцессорик с неким алгоритмом преобразования. ПЛК периодически посылает туда строку, и получает преобразованный ответ. При правильном ответе - работаем, при ошибке - соответственно принимаем меры. Подслушать обмен разумеется можно, но это мало что даст, без знания алгоритма преобразования. Каждый обмен идет со своей строкой. Микроконтроллер защищен своими битами, посмотреть и модифицировать программу ПЛК также нет возможности. Длину строки, алгоритм преобразования, частоту опросов выбираем исходя из своей подозрительности ))) Заодно можно и скорость по порту менять, для пущего смеха.

Можно совместить приятное с полезным и реализовать в этой же платке некую неотъемлемую часть алгоритма работы установки. Заодно и порты расширить. Для примера, чтобы не особо колхозить - купить платку ARDUINO и добавить к своей системе порт для подключения флэшкарт, заодно, реализовав в нем ключ защиты...

mc_
05.04.2013, 06:45
Тем временем, контроллер, с которого началась эта увлекательная беседа, пришел из ремонта. Естественно, пустой - программа слетела начисто.

Есть второй контроллер с такой же программой, в работе. Надо клонировать. plc_io ремонтный контроллер видит без проблем. Нужен список файлов, которые нужно скопировать. DEFAULT.PRG, DEFAULT.CHK и config.dat будет достаточно, или есть еще?
Просмотреть потроха покамест не нашел чем, нужно список знать.

KRIK
31.01.2015, 12:07
Скачать прицепленный архив, распаковать, подключить контроллер сетевым кабелем к компу, запустить download.bat, подключить новый контроллер, запустить upload.bat

да, прошивки должны быть одинаковы...

подскажите по подробнее поключить первый контроллер запустить download.bat, после этого первый отключить и подключить новый и запустить upload.bat

Steve
20.04.2016, 10:59
Скачать прицепленный архив, распаковать, подключить контроллер сетевым кабелем к компу, запустить download.bat, подключить новый контроллер, запустить upload.bat

да, прошивки должны быть одинаковы...

не скачивается obraz.zip

У меня такая проблема - 150-й контроллер начал загибаться, отдали в ремонт, хорошо, что я я попросил не трогать по возможности программу, взять её негде, связь с теми, кто её делал, потеряна. Хорошо, что контроллер вылечили (проблема была по питанию), а если бы нет...Вот надо скачать программу, понимаю, что исходник я ниоткуда не получу, но хотя бы скопировать образ должна же быть возможность, чтобы потом, если будет необходимость, залить его в новый контроллер?

capzap
20.04.2016, 11:05
не скачивается obraz.zip

У меня такая проблема - 150-й контроллер начал загибаться, отдали в ремонт, хорошо, что я япопросил не трогать по возможности программу, взять её негде, связь с теми, кто её делал, потеряна. Хорошо, что контроллер вылечили (проблема была по питанию), а если бы нет...Вот надо скачать программу, понимаю, что исходник я ниоткуда не получу, но хотя бы скопировать образ должна же быть возможность, чтобы потом, если будет необходимость, залить его в новый контроллер?

прочитать документацию КДС на предмет браузера, изучит команды чтения списка файлов, их выгрузки и т.п. Этого будет достаточно чтоб залить образ в точно такой же плк

maximov2009
20.04.2016, 11:09
Добрый день. Была такая же история с ПЛК 100. Выкачал через PUTGET. Прилжил к сообщению - попробуйте. Описание не помню где, должно быть в интернете.
Что то не получается сегодня с вложениями. Если не найдёте в интернете, дайте почту - скину.