PLC解密家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5287|回复: 1

松下PLC FPX解密研究侧记

[复制链接]

8

主题

6

回帖

131

积分

一级会员

Rank: 2

积分
131
QQ
发表于 2021-9-5 10:23:18 | 显示全部楼层 |阅读模式
性痴,则其志凝:故书痴者文必工,艺痴者技必良。——世之落拓而无成者,皆自谓不痴者也。

 这句子的意思是说:个性一往情深,则其心志专一:因此专心在书籍上的人,文章必定写得好;专心在工艺上的人,技术必定精良。——人世间那些碌碌无为的人,都说自己不是书呆子一类的人。

 起因是为了研究一种叫桥切的石材机械,通过朋友找到一家石材厂,有这种机械,于是把电脑带上,赶了一个小时路到了那家石材厂,到了才发现人家采用的是FPX的PLC,而且还加密呢。无功而返,所以才萌发起要解FPX。

 为了研究松下PLC FPX解密,我也真是达到如痴如醉的程度,从没接触过FPX到现在对FPX了如指掌,全是因为热衷于解密,为了解密,首先就是要找相关资料,学习研究资料,《fp-x用户册》,《fpx-l用户手册》,《Control Fpwin GR操作指南》,《FP系列编程手册》,《fp编程手册》附加版,都要全面阅读反复研究,还有反复参阅《松下FP通迅协仪》,上网寻找专家论文,找到《松下PC-link网络与PC通讯问题》等文章反复拜读。所以使我从一个对松下PLC一点都没有了解,到非常熟悉,其I/O分配,继电器、存储器区域分配,指令系统都有了全面的了解。

 为了研究FPX解密,认真学习松下FP通迅协议MEWTOCL协议,反复监控协议内容,上下载程序的过程,比较内存区域数据,从而使我对FPX的数据存储结构有了全面的了解,包括程序上下载的协议等隐含的协议,在松下FP通迅协议中没公布的协议,都有了深入的了解,比如松下PLC上载程序是采用%EE#010命令,PLC下载程序是采用%EE#020命令。这些命令的用法以及回复数据的意义都搞的一清二楚。

 通过反复下载上载程序,比对密码的密文,下了大量的数据,明文-密文对比,终于搞清楚密文算法,找到密文就能算出密码。比如在PLC密码寄存器里存的数据是20 DF 20 DF 20 DF 20 DF,那么对应的密码就是77777777,密码密文是38 CB 30 D3 28 DB 20 E3那么对应的密码就是12345678。

 关于禁止上载,FPX,只要设置禁止上载,即使不加密,也不能上载程序,但是反复比较存储在PLC内部的数据,终于发现,禁止上载,存储在PLC内部的程序并没有加密,存储的位置也没有变化,这样只要找到合适的方法,就能上载到程序。

 通过一个多月的努力,终于突破了种种障碍,解决了以上两个问题,密文算法,解决禁止上载的方法,上载程序、注释正常,只要PLC里面存有注释,注释也能上载上来, 所有内行的PLC编程者都了解,一个程序的可读性与否的关键就是注释,没有注释的程序简直就是天书,FPX经过解密后,注释是正常的,还有一点因为,这个我对解密的研究是基于对PLC的研究开始的,对PLC的内存、编程,特殊继电器、特珠寄存器、数据寄存器等的研究,所以解密后,不会破坏,内部存储的数据,包括一些保存在PLC内部的停电保持位,数据,配方,工艺参数等都完好无损。

 有一种网上下载个软件,或那里偷人家的软件,没有核心技术的解密,是只知其然不知其所以然的解密,在解密时就不可能注意这么多细节了,关键的东西也不会给你解释的,一不小心还会破坏掉程序,或数据。特别是数据,往往被忽略,有的人只知道拿到了程序就万事大吉了,其实不然,有时数据也是很关键的,下面我就花点时间来罗嗦下PLC的数据,也是希望看了我这篇文章的人,能看到有用的东西,那怕是你是高手,也能重温一下这方面内容。

 在PLC有用户手册和编程手册里,一定会有这样的章节,用户手册中有一章节是《性能规格》,编程手册里有一章节是《继电器,储存器一览表》或者称为《软元件一览表》,里面就会介绍各自PLC的输入输出的点数、程序容量、内外部继电器的编号、数据存储器分类、区域,以及哪些是停电保持,哪些是停电不保持的。哪些是保存在内部FLASH ROM ,哪些是靠电池保存数据的,这些内容,这些章节一定要反复研究,编程者往往在这里面做文章。举个例子,比如FPX的内部继电器R2480是断电保持继电器,程序里面把R2480作为自动的条件之一,在程序第一次输入的时候,要人为的使R2480置ON,这样程序才能正常工作,再比如,DT32710数据寄存器存有机器设备工作循环次数的参数,在程序第一次输入的时候,要人为的设置,如果你拷贝程序或解密读出程序,没有把断电保持的继电器状态、数据寄存器数据一起拷贝,你的程序也是不能正常运行的。所以解密也是要了解该PLC的这些继电器,寄存器的作用,以及如何进行备份,拷贝,保护不在解密时被清除。在如在PLC操作说明书中,虽然是中文的,可是有些是从外文翻译过来的,比较拗口。比如如下这一段:


单单靠这些文字,你是不容易理解其含义的,都是要反复实验才能得到正确结论的。

 所以,没有研究,就不要轻言解密,没有一定的软硬件基础知识,解密也是不彻底的。我并不是为了解密而解密,在学习一种机型的解密过程中,我能从中学到相关的知识,能从中了解PLC的操作、编程方面的知识,还有解出密来的那种兴奋才是我乐此不疲的动力。

回复

使用道具 举报

0

主题

10

回帖

276

积分

二级会员

Rank: 3Rank: 3

积分
276
发表于 2022-3-12 08:17:32 | 显示全部楼层
难度比较大,一般人搞不定
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 12:49 , Processed in 0.112256 second(s), 22 queries .

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