PLC解密家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15759|回复: 10

丰炜PLC的通讯密码算法

  [复制链接]

196

主题

90

回帖

7079

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
7079
QQ
发表于 2016-11-7 16:51:45 | 显示全部楼层 |阅读模式
最近较为热门的PLC解密话题要数台湾丰炜的了,那么今天我也来跟大家扒一扒它的通讯协议。。。

<丰炜PLC>前面的16进制是监控发送的内容,后面引号内是实际字符, 能够分析出最后两个字节(估计是校验)是如何计算出的吗

82 30 30 B8 30 B1 A0 A0 A0 A0 A0 A0 A0 03 44 C3 “1”
82 30 30 B8 30 B2 A0 A0 A0 A0 A0 A0 A0 03 44 44  “2”
82 30 30 B8 30 33 A0 A0 A0 A0 A0 A0 A0 03 44 C5   “3
82 30 30 B8 30 B4 A0 A0 A0 A0 A0 A0 A0 03 44 C6   “4”
82 30 30 B8 30 35 A0 A0 A0 A0 A0 A0 A0 03 C5 30   “5”
82 30 30 B8 30 36 A0 A0 A0 A0 A0 A0 A0 03 C5 B1   "6"
82 30 30 B8 30 B1 B2 A0 A0 A0 A0 A0 A0 03 C5 C5   "12"
82 30 30 B8 30 B2 B1 A0 A0 A0 A0 A0 A0 03 C5 C5   "21"
82 30 30 B8 30 33 B2 B1 A0 A0 A0 A0 A0 03 30 B1  "321"
82 30 30 B8 30 B2 B1 33 A0 A0 A0 A0 A0 03 30 B1  "213"
82 30 30 B8 30 B8 B7 36 35 B4 33 B2 B1 03 36 C6  "87654321"
82 30 30 B8 30 B1 B2 33 B4 35 36 B7 B8 03 36 C6  "12345678"
82 30 30 B8 30 E1 E2 63 E4 65 66 E7 E8 03 C5 C6  "abcdefgh"
82 30 30 B8 30 41 42 C3 44 C5 C6 47 48 03 C5 C6  "ABCDEFGH"
82 30 30 B8 30 71 E1 FA 77 F3 78 65 E4 03 B4 B2  "qazwsxed"
82 30 30 B8 30 FA 78 63 F6 E2 EE ED 6C 03 33 C6   "zxcvbnml"

数字1、2、4、7、8的ASKII码加80H,3、5、6、9则不变,
继续使用其ASCII码。
大写A、B、D、G、H使用其ASCII码不变,C、E、F的ASCII码加80H。
其他规律相同都是ASCII码数据加80H.
数据SP空格的ASCII码是20,加80则等于A0.

至于校验码的算法是这样的:
03是终止符,后面两位是校验码,先看这一段
82 30 30 B8 30 B1 A0 A0 A0 A0 A0 A0 A0 03 44 C3  密码为1位数 “1” 运算后的结果是6DB  校验码为44 C3,有人会说这个6DB跟校验码毫无关系嘛!不是加法运算那么简单吧!那么我来跟你分析一下这个44 C3是怎么来的。
你打开计算器用16进制计算,从82一直加到03等于6DB然后再加1等于6DC,取运算结果6DC最后两位(6DC Mod 100=DC)是DC,那么DC的ASCII码就是 44 43,你看一下上面的加80说法,44不变,43是要加80的,那么43+80=C3所以校验码就是 44 C3,以下雷同。

这个加80也是有规律的,找到了规律你自己用VB做个解密软件就行了,
真的找不到破解方法的话可以用这种方法穷举,时间就是长点,不过波特率能够设置的够高的话也很快

至于加80的规律你可以对照ASCII码表,或许能找到加与不加的规律,你可以找一下读取系统块的指令,把系统数据,全部读出来就可以找到密码了,还有就是你可以比较plc然后监控所比较的数据,你会豁然开朗的,忽逢桃花林。。。

以上就是丰炜的解密通讯源码。关于加80H的规律就告诉你吧!类似于补码,高位加1,一个字节是8位,高4位8421码中的高位加1就是8,低4位是0,就是80,产生的运算结果就是实际加了16进制的80。那么哪些数据才要高位加1呢?规律就是本数据的2进制数的1的个数为奇数则加80H,1的个数为偶数则不变,不加80
比如1=1   2=10   4=100  7=111   1的个数都是奇数
    3=11  5=101  6=110  9=1001  1的数据个数是偶数
奇数则加80H,偶数则不加,这就是丰炜PLC的加密源代码计算方法  

至于说市面上玲琅满目的软件中各个品牌都有,唯独没有丰炜的软件问世,为什么??校验码难算,补码难以确定,现在明白了吗?你可以制作通讯软件了。

状态探测
82 30 30 30 33 03 C3 36
06 30 30 30 33 30 30 30 30 30 C3 03 C6 39停止
06 30 30 30 33 30 30 30 30 30 44 03 C6 41运行
运行状态
82 30 30 30 B1 03 C3 B4
06 30 30 30 B1 30 30 03 B2 B4
编程状态
82 30 30 30 B2 03 C3 35
06 30 30 30 B2 30 30 03 B2 35
输入密码
82 30 30 B8 B1 B1 B1 B1 B1 B1 B1 B1 B1 03 35 B4
82 30 30 B8 30 B2 B2 B2 B2 B2 B2 B2 B2 03 35 42
82 30 30 B8 30 33 33 33 33 33 33 33 33 03 36 33
06 30 30 B8 30 B2 33 03 33 30密码错误返回
06 30 30 B8 30 30 30 03 B2 42密码正确

回复

使用道具 举报

0

主题

3

回帖

66

积分

一级会员

Rank: 2

积分
66
发表于 2016-11-14 20:03:32 | 显示全部楼层
谢谢楼主倾奉献
回复 支持 反对

使用道具 举报

0

主题

3

回帖

8

积分

新新会员

Rank: 1

积分
8
发表于 2018-7-15 14:00:32 | 显示全部楼层
我有三菱解密其他没有。希望同学们给与帮助
回复 支持 反对

使用道具 举报

0

主题

1

回帖

204

积分

二级会员

Rank: 3Rank: 3

积分
204
发表于 2018-9-8 12:17:35 | 显示全部楼层
大师必须赞一个  无私奉献
回复 支持 反对

使用道具 举报

0

主题

41

回帖

105

积分

一级会员

Rank: 2

积分
105
发表于 2019-5-28 22:25:42 | 显示全部楼层
谢谢楼主
回复 支持 反对

使用道具 举报

0

主题

1

回帖

26

积分

新新会员

Rank: 1

积分
26
发表于 2019-12-28 09:30:00 | 显示全部楼层
h的ASCLL码为68 ,二进制表示为01000100,1的个数为偶数,怎么也加了80H变成了E8了?
回复 支持 反对

使用道具 举报

0

主题

11

回帖

228

积分

二级会员

Rank: 3Rank: 3

积分
228
发表于 2020-3-12 16:40:50 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

1

回帖

204

积分

二级会员

Rank: 3Rank: 3

积分
204
发表于 2020-10-8 17:06:06 | 显示全部楼层
谢谢分享,给你点赞
回复 支持 反对

使用道具 举报

0

主题

17

回帖

54

积分

一级会员

Rank: 2

积分
54
发表于 2022-8-3 15:11:23 | 显示全部楼层
谢谢分享,牛!
回复 支持 反对

使用道具 举报

0

主题

2

回帖

228

积分

二级会员

Rank: 3Rank: 3

积分
228
发表于 2022-8-27 16:34:31 | 显示全部楼层
最后一位crc校验好算,就是最后第二位难搞,不知道计算原理,但也不是没办法,校验码每一位只有16种变化,如果暴力破解也可以,不过时间长点,计算量增加16倍
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|PLC解密家园 ( 京ICP备14025225号-2 )

GMT+8, 2024-11-24 12:10 , Processed in 0.147313 second(s), 27 queries .

快速回复 返回顶部 返回列表