一、解密的概述
加密是出于对数据和程序的保护,在数据和信息的传输中采用加密技术对所需要保护的数据或者信息进行适当的处理,包括一定的规律进行计算。目的是使数据和信息不被别人轻易的识别和盗用。通过信息处理的这个过程就是加密过程,逆过程就是解密过程了。为了方便理解,我们把在信息加密过程中需要处理的信息称为“明文”。而经过一定的计算处理后的信息就叫做“密文”。加密的过程是把“明文”变化成为”“密文”,以此相反,把“密文”通过一定的处理变成“明文”这一过程就称为解密。
同理,PLC的解密是为了能够读出PLC的程序,解密出来的程序能够方便直接写到另一台PLC中,因为有时在工业生产过程中,PLC生产设备有可能出现故障,把PLC解密出来的程序写到新的PLC上可以确保设备正常工作生产。这对工业生产的设备进行维修和改造来提升性能有一定的帮助。这个解密过程通过软件或者拆机解密进行串口监视,从而把PLC的密码破解,使用户能够对程序进行读和写,以及上载和下载程序。
二、解密的原理
PLC解密的原理:对于西门子S7-200PLC版本比较低的,一般版本是低于2.00的用软件直接监视通讯口,就可以直接找出明文,也就是密码。对于高于版本2.00的PLC,就需要拆机解密,通过监视通讯口,接着跟踪编程软件,再找出密码明文与密文的算法关系,也能够找出密码。
监测的原理和方法:首先要有监测的硬件,串行通讯端口在工业控制系统中经常用到的通讯串口。其中主要有RS232和RS485,目前计算机大部分采用美国电子工业协会制定的RS232C,其中“RS”是英文“推荐标准”的缩写,数字为标识号,C是表示修改次数。在RS232c通讯接口中,2脚为数据接收端,3脚为数据发送端,5脚为公共的地线。而且大部分PLC制造商生产都通讯方式与RS相兼容的PLC通讯模块或者PLC编程接口转换电缆。因此,我们可以利用串口调试软件来获取并记录数据发送线和接受线串行传输的数据,这样就可以对计算机和PLC通讯的信息进行监控和分析。
实现数据的监视有两种方法,一种是通过RS232C的引脚信息截获,这是因为串行端口是通过传送和接收引脚来实现数据的传送。由此可知,如果我们截获了引脚的信息,就能够完成对整个串行通讯数据进行监视,从而获取密码。另一种方法是通过端口的侦探方式进行监视数据,可以在不占用串口资源的情况下对串口发送和接收的数据进行捕获。
三、解密的意义与作用
随着经济的快速发展,对于工业自动化技术的需求越来越大,PLC又是控制系统的核心,在工业控制领域中所占地位越来越重要。在复杂的工业生产中,为了保护好现场和知识产权,制造商一般会给程序加密。经过加密的PLC设备经过一段时间运作后出现了故障,有可能设备生产商倒闭或者其他有关利益的原因,不能提供用户访问的密码,当然也看不到程序,监测不到哪个地方出问题,无法及时监控程序来分析设备故障的原因。这样会导致维修设备困难,耽误设备的正常运转。为了确保正常生产,需要的PLC进行解密,从而分析故障原因或者是把程序写入新的PLC中保持设备能够继续工作。还有另一种好处是解密能够降低设备的维修成本,这是因为如果程序加密,没有密码,就不能对程序进行修改,如果PLC的输入输出端口模块或者是数字量模块或者是模拟量等一些模块出现故障,尽管有备用的模块也用不上场,只能整体更换了。因为不能监控程序和修改程序,无形中增加的设备维修成本。通过解密能够对工业生产的维修改造及提升性能提供了便利。 |