S7-200的密码比较在PLC侧,也就是说你提供正常的密码之前,你是无法采用监听的办法取得密码的。 方法1:拆机焊芯片法 24C128,因为密码是存在这块串行EEPROM上。可以用通用的编程器读出24C128芯片的内容,然后再解密。或者用编程器烧入一个已知密码。 方法2:读取法 用串口调试软件或自编程序进行调试 熟悉一下PPI指令流: 电脑发送:10 02 00 49 4B 16 PLC返回:10 00 02 02 04 16 电脑发送: 10 02 00 5C 5E 16 PLC返回: E5 设置电脑串口通信参数:9600,E,8,1 以16进制形式发送读密码指令流: 68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 08 00 00 03 00 05 E0 D2 16 意思:要求传送系统存储区05E0位开始的8个字符(这就是8个密码数值)。 如果通信正确的话,PLC将返回“E5”,表示正确接收 电脑收到E5后再次发送指令 10 02 00 5C 5E 16 意思:请执行命令。 如果正确的话,PLC将返回带有密码的数据流: 68 1D 1D 68 00 02 08 32 03 00 00 00 00 00 02 00 0C 00 00 04 01 FF 04 00 40 9B 98 02 06 9D 9A 00 76 7D 16 1、收到刚才的字串后,可能大家看不出来密码是什么,在什么地方,但看懂了PPI协议肯定可以看出来在什么位置,但也有懒办法,可以多设几次密码,然后多读几次对比。 2、由于S7-200的密码是加密保存的,因此解出来的密码也还要解密才能返回明文,加密方式网上有介绍,下载来研究即可。 3、由于此次只是与大家探讨一下解密思路,有些太具体的方法就不说了,有兴趣的可以交流,特别是在工作中真的遇上了,我们可以一起攻关解决。 |