信捷解密实例.docx

上传人:b****3 文档编号:2489283 上传时间:2022-10-30 格式:DOCX 页数:2 大小:2.25MB
下载 相关 举报
信捷解密实例.docx_第1页
第1页 / 共2页
信捷解密实例.docx_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

信捷解密实例.docx

《信捷解密实例.docx》由会员分享,可在线阅读,更多相关《信捷解密实例.docx(2页珍藏版)》请在冰豆网上搜索。

信捷解密实例.docx

信捷PLC的解密方法

信捷PLC的解密具有一定的难度,很多人特别是新入门者,会觉得很难解。

下面就分享一下笔者的一些经验,供大家参考。

经笔者试验,信捷PLC在设计方面有几个漏洞,可以用于PLC解密。

先说软件方面的两个漏洞:

第一,在PLC已加密的情况下,如果最后一次PLC与电脑连接时,曾向PLC输入密码,在退出软件前PLC是在线状态的,那么通过串口向PLC发送如下十六进制代码:

先发,

01017402000147FA

再发,

010344540001D12A

最后发,

0103440A00033139

这时PLC就会直接返回11个字节:

010306313233343536C55C

在这11个字节中,前3字节是地址和命令代码,最后2字节是CRC校验的高字节和低字节;从第4字节到第9字节,这6位就是密码了,可以直接对应ASCII码表翻译出来,如上面的31-36就是十进制的1-6,所以返回的密码就是123456。

第二,除了上面的漏洞,还有一个就是,可以通过试错来得到,

信捷的密码解除指令为:

0103400A0001B1CB

发出这个指令与01017402000147FA

都会访问密码,不过后者在返回密码后还会上传程序,前者只是单纯的解除密码。

在发出这个指令后,再发如下指令

0110442C000306******#$

*表示十六进制的密码,#表示CRC校验的高字节,$表示CRC校验的低字节,这串代码需要用计算机自动发送,运气好的情况下,很快会返回密码。

这个方法同样适用于三菱等PLC。

再谈谈硬件方面的漏洞:

先发张图看看,下面的图是信捷XC3-24RT-E的PLC的拆机照片,

说说这个板子上的东西吧,下面介绍其中的芯片:

1.图中最上方的PLCC封装的芯片,是PLC的控制芯片。

我们知道,在软件上PLC的组成由系统程序和用户程序组成。

系统程序有的也称自举程序,用户程序是用户也就是PLC使用者编写的程序。

该块芯片内存放的,就是系统程序。

2.图中下方右侧是一片单片机,它的作用是辅助主芯片进行系统方面的控制。

3.图中下方左侧的一大一小两片芯片是存储用户程序的内存芯片,也就是说我们编写的PLC控制程序都是存放在这里面的。

4.其他的芯片,包括驱动芯片,通信芯片,运放等等与我们破解无关,就不细述了。

在了解了以上内容后,大家会有疑惑了,PLC程序我们知道在哪里了,问题是密码在哪里呀?

其实这个问题很简单,密码一般是放在内存中的,当然也有存放在主控芯片中的。

但是无论哪种情况,主控芯片在初始化扫描程序的时候,一定会扫描自身的某个寄存器,这个寄存器存放的是一个标志,即程序有无加密的标志。

如果该寄存器被置位(表示程序已加密),那么在运行上位机软件登录时就调用密码输入程序,反之则不进行密码输入程序的调用,直接调用用户程序。

因此,一切的玄机都在这个神奇的寄存器中!

我们在无法改变这个特殊寄存器的值的情况下怎么办呢?

怎么才能绕过密码读取程序呢?

或者直接得到密码呢?

方法有两个:

一,更换控制芯片,内存芯片不变,这时PLC的程序就可以直接读出来了;二,更换内存芯片,将内存芯片更换到另一块没有密码的板子上,亦可以直接读出程序。

以上就是此次介绍的利用漏洞破解信捷PLC密码的全部方法了!

除了以上的,当然还有一些其他的漏洞,在此就不分享了。

最后给诸位分享一组万能代码:

3135323739313935313931

使用串口工具发送模式,输入万能代码,然后在HEX/ASCII中切换至ASCII形式,将代码发送即可。

技术需要交流才能进步,望诸位不吝门户之见,坦诚交流。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1