家家通 | 所有行业 | 所有企业                                          加入家家通,生意很轻松! ·免费注册 ·登陆家家通 ·设为首页
关于我们
关于我们
今日加盟
今日加盟
会员中心
会员中心
 
当前位置: 首页 » 资讯 » 正文

西门子S7-200CN与02版解密研究

发布日期:2021-01-11 11:29:46  浏览次数:418

今天给大家分享的是:西门子02版与CN版PLC解密,老版的S7-200 PLC都被网友解密出来了,新出来02版和CN版的都用软件读不到密码,我们也尝试了很多种方法,对PPI协仪也进行了深入了解,下面把我监控的PPI协仪给大家分享。

读命令分析:一次读一条数据

SD LE LER SD DA SA FC DASP SSAP DU FCS ED

SD:(Start Delimiter)开始定界符(68H)

LE:(Length)报文数据长度

LER:(Repeated Length)重复数据长度

SD: (Start Delimiter)开始定界符(68H)

SA:(Source Address)目标地址,指该地址的指针,为地址值乘以8

DA:(Destination Address)本地地址,指该地址的指针,为地址值乘以8

FC:(Function Code)功能码

DSAP:(Destination Service Access Point)目的服务存取点

SSAP:(Source Service Access Point)源服务存取点

DU:(Data Unit)数据单元

FCS:(Frame Check Sequence)校验码

ED:(End Delimiter)结束分界符(16H)

报文数据长度和重复数据长度为自DA至DU的数据长度,校验码为DA至DU数据的和校验,只取其中的末字节值关于这个校验码的计算方法同上面说明。

在读写PLC的变量数据中,读数据的功能码为 6CH,写数据的功能码为 7CH。

对于一次读取一个数据,读命令都是33个字节。前面的0—21字节是相同的,为 :

西门子解密

s7-200解密

因为是PC上发的读PLC数据的命令,SA=00,DA=02,如果有b多个站,DA要改成相应的站号。读命令中从DA到DU的长度为1B即27个字节。从22字节开始根据读取数据的类型、位置不同而不同。表一是读不同存储器命令的Byte22—32。

西门子02版与CN版S7-200解密

表一读命令的Byte22-32从表中我们可以得出以下结果:

Byte 22 读取数据的长度

01:1 Bit 02:1 Byte

04:1 Word 06:Double Word

Byte 24数据个数,这里是01 ,一次读多个数据时见下面的说明。

Byte 26 存储器类型,01:V存储器 00:其它

Byte 27 存储器类型

04:S 05:SM 06:AI 07:AQ 1E: C

81:I 82:Q 83:M 84:V 1F: T

Byte 28,29,30存储器偏移量指针(存储器地址*8),如:VB100,存储器地址为100,偏移量指针为800,转换成16进制就是320H,则Byte 28—29这三个字节就是:00 03 20。

Byte 31 校验和,前面已说到这是从(DA+SA+DSAP+SSAP+DU) Mod 256 。

一次读多条数据

对于一次读多个数据的情况,前21Byte与上面相似只是长度LD,LDr及Byte 14不同:

Byte 14 数据块占位字节,它指明数据块占用的字节数。与数据块数量有关,长度=4+数据块数*10,如:一条数据时为4+10=0E(H);同时读M,V,Q三个不同的数据块时为4+3*10=22(H)。

Byte 22 总是02 即以Byte为单位。

Byte 24 以字节为单位,连续读取的字节数。如读2个VD则Byte24=8

Byte 19---30 按上述一次读一个数据的格式依次列出,

Byte 31---42 另一类型的数据,也是按上述格式给出。

以此类推,一次最多读取222个字节的数据。

写命令分析:一次写一个Double Word类型的数据,写命令是40个字节,其余为38个字节。写一个Double Word类型的数据,前面的0—21字节为 :

68 23 23 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10

写一个其它类型的数据,前面的0—21字节为 :(与上面比较,只是长度字节发生变化)

68 21 21 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10

从22字节开始根据写入数据的值和位置不同而变化。表二是几个写命令的Byte22—40。表二 写命令的Byte22—40

经分析我们可以得出以下结果:

Byte 22-- Byte 30 写入数据的长度、存储器类型、存储器偏移量与读命令相同。T,C等不能用写命令写入。

Byte 32 如果写入的是位数据这一字节为03,其它则为04

Byte 34 写入数据的位数

01: 1 Bit 08: 1 Byte 10H: 1 Word 20H: 1 Double Word

Byte 35--40值、校验码、结束符

如果写入的是位、字节数据,Byte35就是写入的值,Byte36=00,Byte37=检验码,Byte38=16H,结束。如果写个的是字数据(双字节),Byte35,Byte36就是写入的值, Byte37=检验码,Byte38=16H,结束。如果写个的是双字数据(四字节),Byte35—38就是写入的值, Byte39=检验码,Byte40=16H,结束。

看完上面的指令分析我们现在就举例几个常用的PPI协议来分析一下:

PC寻呼:10 02 00 49 4B 16

PLC返回:10 00 02 02 04 16

PC发送:10 02 00 5C 5E 16

PLC返回: E5

我们先来看看西门子S7-200PLC的读取密码指令:

请用串口软件以16进制发送,端口设置9600;e;8;1

发送: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,意思:已经收到

那么这时上位机再次发送指令 10 02 00 5C 5E 16 意思:请执行命令。(说到这里打住一下,PLC返回E5指令后上位机PC要在很短的时间内发送确认指令,晚了刚才的指令就无效了具体多长时间我也没测准,反正1 2秒时间是没有问题的。)

那么这时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

好了,说到这里就此停止,大家看看密码是多少啊!你如果真正明白了PPI协议就不难看出密码了,你多做实验一定能得出结果的。

下面再看一个读取PLC版本号的指令:

我们在解密中首先要确定的是PLC的版本号。就是要看看是老版本还是02版的,也好做出加解密方案。他的通讯源码是这样的:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

68 1B 1B 68 02 00 7C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 14 00 00 03 00 00 00 09 16

发送完上面数据PLC返回E5.

再次发送确认指令:10 02 00 5C 5E 16

这时plc的版本号就返回来了。看下面:

68 29 29 68 00 02 08 32 03 00 00 00 00 00 02 00 18 00 00 04 01 FF 04 00 A0 43 50 55 20 32 32 36 20 43 4E

20 20 20 20 20 20 30 32 30 31 D7 16

你看这一段:43 50 55 20 32 32 36 20 43 4E 20 20 20 20 20 20 30 32 30 31 就是plc版本号的ASCII码。用ASC方式显示就会看的更明白上面数据是:C P U SP 2 2 6 SP C N 0 2 0 1 (sp就是空格)

再一个就是读TD200密码指令:

68 1B 1B 68 02 00 6C 32 01 00 00 00 00 00 0E 00 00 04 01 12 0A 10 02 00 02 00 01 84 00 00 50 B9 16

(VW10)

通过对上面协仪分析,成功找到西门子S7-200CN解密方法,好了,今天的西门子02版与CN版PLC解密经验分享就到这里了,希望大家多支持,我们将继续突破更多更复杂的PLC解密技术。



 
推荐企业
热门产品

机电之家网 - 机电行业权威网络宣传媒体

关于我们 | 联系我们 | 广告合作 | 付款方式 | 使用帮助 | 会员助手 | 免费链接

Copyright 2011 jdzj.com All Rights Reserved技术支持:杭州滨兴科技股份有限公司

客户服务热线:0571-87774297
网站经营许可证:浙B2-20080178 浙B2-20080178-4


经营性网站备案信息 ICP经营
许可证
营业执照(副本) 不良信息举报中心