各种品牌plc程序加密解密方法详解
时间:2018-08-29 07:30 来源:未知 作者:admin 点击:次
大家都知道,很多品牌plc的程序都可以通过软件解密,那么一旦解密后程序就非常透明的显示在了别人的眼中,而将设备卖给别人又将PLC程序整个锁死的话又不切实际,甲方会无法维护;而保密和维权更是中国市场经久不衰的话题,其实德国的工程师从来不会给自己的程序整体加密,而是使用其他方式,既不影响发生故障时的诊断,又可以保护自己的核心机密。今天给大家介绍一下这些方式,供大家参考。 一、使用西门子安全PLC或者博途的KNOWHOW功能 西门子安全PLC作为西门子主打安全功能的一款产品,它的性能毋庸置疑,而且安全PLC的程序块加密后无法破解;可以很好的保护核心。而博途PLC作为西门子的最新产品,其版权保护也是它的主要功能之一,KNOWHOW功能是软硬件双重加密,不加密的块可以正常监控,没有密码的话甚至无法下载到其他PLC;因此使用博途的KNOWHOW功能既可以将程序交给甲方方便维护,又可以保护自己的核心程序不被窃取。 二、采用高级语言编写部分重要的工艺程序 西门子除了最基础的LAD梯形图编程,FBD功能块编程和STL语句表编程还有很多其他的方式,比如说PCS7的CFC,SFC; 除此之外还有SCL,S7-GRAPH等等。对于这些语言,一般的工控人员很难全部精通,因此仿制难度大大提升,因此非常关键的工艺程序可以由这些语言编写,也可以很好的保护自己的核心。 1.编程方式的采用 a)采用模块化的程序结构,采用符号名,参数化来编写子程序块 b)尽量采用背景数据块和多重背景的数据传递方式 c)多采用间接寻址的编程方式 d)复杂系统的控制程序尤其是一些带有顺序控制或配方控制的程序,可以考虑采用数据编程的方式,即通过数据的变化来改变系统的控制逻辑或控制顺序。 用户应该尽量采用以上几种高级层次的编程方式,这样编出来的程序中嵌入系统的保护加密程序,才不容易被发现而仿制。 2.主动保护方法 a)利用系统的时钟 b)利用程序卡或者CPU的ID号和序列号 c)利用EEPROM的反写入功能,及一些需要设置的内存保持功能 d)利用系统提供的累时器功能 e)在用户程序的数据块中设置密码 f)软件上设置逻辑陷阱 g)可以反向利用自己在编程时犯的错误 3.被动保护方法 a)在内存容量利用许可的条件下,不要删除被认为是无用的程序 b)在数据块里留下开发者的标识,以便于将来遭到侵权时可以取证 4.应用反窃取技术的注意事项 a)在用户程序中嵌入保护程序要显得自然一些,不能很突兀的加出一段程序来,代码要尽量精简,变量符号名应与被嵌入程序段的变量保持一致 b)往往一种保护加密手段是不够的,应该多种方法并用,并且这些保护程序一旦激活后对系统造成的后果也应该尽量不同,造成所谓的“地雷效应”,从而增加程序被窃取的难度,时间与成本,短时间内让抄袭者束手无策, c)保护好程序的原代码,如果需要交付程序的,在不影响用户对设备维护的前提下,应对交付的程序做适当的技术处理,如删除部分符号名,采用上载的程序或数据块 d)做好严格的测试,以避免保护程序的不完善引起的误动作而带来的不必要的麻烦,同时也能降低售后服务的的费用。
|
- 上一篇:誉达PLC专用语音模块,报警信息语音播放!
- 下一篇:PLC的中断程序 中断事件描述