PLC密码忘了怎么办 这些方法或许对你有用
现在市场上主流的PLC,都带有加密功能,作用就是给你的PLC加上密码,没有密码就不能上载程序,以此来保护你的知识产权,防止别人盗用、篡改你的程序。
另外,还有的PLC编程软件可以对子程序、程序库等进行加密(例如西门子的S7-200系列),这样别人可以使用你编写好的库或子程序而无法看到内容。这样可以保护你的关键算法或流程。
有矛就有盾。看过电视剧《暗算》吗?有加密就有解密。
因此,PLC破解,一种就是指对PLC进行解密,读出里面的程序;一种是指对电脑里面的工程文件、子程序库等进行破解,使其可以显示,可以修改等。
为啥要破解呢?归纳下来,下面几种情况比较多:
1、 自己的密码忘了
2、 学习别人的程序,增加自己的编程水平
3、 设备需要维护,原来的工程师走了
4、 因为种种原因,PLC里面有软件陷阱
5、 设备厂家的PLC加了密,过了保修期厂家又不负责
6、 了解设备的工作原理,了解工艺,仿造设备
7、 “拿来主义”,直接复制别人的产品
……
对于第1种情况,没啥说的。
对于第2种情况,是讨论比较多的。
对于第7种情况,肯定是在道德上要进行谴责的。
对于其他情况,可能需要具体问题具体分析。
一些从事自动化方面工作的技术人员想进行PLC破解,通过学习别人程序的编程方法。这种做法的意义有多大呢?看懂别人的程序,可能比自己编制一个新的程序更累,尤其是程序比较大,而且没什么注释的时候(通过破解PLC读出得来的程序,多半没有注释,没有变量名称)。
下面是一个网友写的关于PLC破解的文章,挺有道理的,引用如下:
“我曾经设计一个龙门刨床的项目,采用三菱F140MR PLC,编写了一个程序,一名维护的技术人员不是很好的了解龙门刨床的设备工艺,而是痴迷于了解我的程序,我告诉他,你应该好好的了解设备的状况和工艺,熟悉电气图纸,发现设备的运行状况中哪些方面还没有满足工艺的要求(也就是程序的不足),自己编写一个,无从下手时看看资料或者问问我,我保证他三、四个月彻底了解PLC,贵在实践。到那时,废掉我的程序。
而他却热衷于了解我的程序的每一步,问来问去已达四年多,至今未能掌握,面对设备、面对PLC仍然茫然无从下手,四年意味着一个大学毕业,意味着一个研究生,甚至一个博士。而他连一个小小的PLC都没毕业。而F系列PLC早已淘汰的快无影无踪了。如果仅从了解别人的程序而热衷于PLC破解,这个实例,已经告诉你,你已走进误区,成为一些商家和一些网站的靶子。
何谓PLC程序,不过是你设计工程项目的工艺而已,有工艺要求才可能有程序,程序只是设备工艺的具体反应,了解了工艺要求也就等于了解了程序。编程不过是个规则,要你用这个规则把设备工艺写出来,因此你重要是了解设备的工艺和具体使用PLC品牌的功能。当你充分了解了设备工艺,设计完电气图纸,你的设计任务可以说基本完成了,剩下的就是看看PLC编程规则,把程序写出来,把工艺写出来。
记住!贵在实践!我在上学时,PLC功课是满分,对梯形图、语句非常了解,也在课本上看过很多程序,可我当第一次面对设计时,却不知道如何下手,当把我的程序(问题很多)输进去并执行时,也就短短的一两天,我的感觉是PLC不过如此,海阔天空的感觉,没有不会的,只有不做的。
我的一个朋友告诉我,他在工厂里,一些设备被一些早进厂的人把持着,PLC加了密,也不让看程序(程序也不是他们编的),以此压着他们,想让他们水平超不过他们,我告诉他,他们不过是个永远长不大的丑陋小人(现在国有企业比比皆是),莫做他们的继承者,也不要学他们的德性,这种人是最脆弱、是最没水平的,好好了解一下工艺,了解一下设备的运行状况。自己编一编,不懂问问学学,这才是他们最怕的。”
说那么多,只是想告诉大家,破解有其存在的合理性,但不要痴迷于此,更不要用这个来做违法、违背道德的事。
我所知道和掌握的S7-200系列PLC的破解方法主要有“软的”和“硬的”两种方法。
先说说“来软的”:西门子的S7-200系列PLC留有“后门”,可以直接通过串口电缆(PC/PPI)来读出其中的PLC密码和POU密码(子程序和库密码),方法和读取PLC的内部寄存器基本类似。读出来的密码是经过位逻辑处理的,经过运算可以得到密码。
再说说“来硬的”:S7-200系列PLC的内部电路板上有一个EEPROM芯片,里面保存有PLC的密码。可以通过I2C接口(一种电路接口)读出EEPROM内容,分析得出密码。
据说最新版本的S7-200系列PLC硬件电路有些不同,软件也有改动,破解可能困难一些。
另外,国内有几家“山寨版”的S7-200系列PLC,据厂家宣传说和西门子的是完全兼容的。但大部分厂家只有扩展模块,没有CPU单元。有CPU单元的目前据我所知有两家。一家在上海,叫正航,一家在深圳,叫合信。两种产品我都用过,也都尝试过破解。
合信的“来软的”、“来硬的”都“招了”。正航的“来软的”算出来是乱码,刚开始以为是计算方法不同,后来折腾了很久,最终我发现不管什么密码和PLC给出的乱码是没有任何关联的。软的不行就来硬的。拆机后找到EEPROM芯片,读出BIN文件分析,和“来软的”一样,算出来仍然是乱码。看来正航的加密和西门子还是不同。