企业资质

广州安达科技贸易自动化有限公司

普通会员14
|
企业等级:普通会员
经营模式:
所在地区:广东 广州
联系卖家:
手机号码:
公司官网:www.200plc.cn
企业地址:
企业概况

PLC解密服务有:三菱FX3u解密FX3UC解密FX3G解密CP1H解密CP1E解密CP1Eusb口解密CJ1M解密S7-200CN解密S7-1200解密S7-200解密三菱GOT1000解密GOT1150解密GOT1500解密三菱Q解密LGK120S解密台达EH解密松下FPX解密松下FPG解密CJ......

三菱 PLC FX3U解密研究

产品编号:3466317                    更新时间:2020-08-16
价格: ¥100.00

广州安达科技贸易自动化有限公司

  • 主营业务:三菱FX3u解密软件 CP1H解密软件 CP1E解密 S7-...
  • 公司官网:www.200plc.cn
  • 公司地址:

联系人名片:

联系时务必告知是在"产品网"看到的

产品详情
三菱 PLC FX3U解密研究
 

 

 

    我是从2010年5月26日开始研究FX3U解密,查遍网络找不到只言半语,看来FX3U解密没人研究,或者研究的人怕人家学,竟然找不到一丁点有用的信息。看来只有靠自力更生了。 虽然目前已经研究成功了FX3U解密,免拆机的,读出正确程序和参数,包括禁止上载的问题也能读出正确程序和参数。但我还是想把当时研究解密的过程整理出来,供有兴趣的朋友参考,我这里所讲的过程也是我实践研究的过程,这当中也难免要走弯路的。但最终是要通往成功的大道的。

   其实 没必要搞得这么神秘,PLC解密没那么复杂。

    1、三菱 PLC FX3U 用的编程软件必须采用GX Developer8.10以上的版本,我是从网上下载个GX Developer Version8.52E就可以支持FX3U的编程。启动GX Developer,从帮助菜单就可以看到编程软件的版本号,如下图所示。

     从工程菜单,创建新工程,PLC系列中选择FXCPU,PLC类型中选FX3U(C)就可以对FX3U进行编程的各种操作。

    2、FX3U的加密方法是:打开GX Developer 后从菜单 "在线—》登录关键字—》新建登录,改变....."进入,显示如下界面:


     FX3U可以设置两个密码,即关键字和第2关键字,每个有8个字符(字符只能是0-F共16个16进制的字符),这样说明如果两个关键字都设定的话密码总共有16个字符。这样可以组合多少种密码呢,即16^16=18446744073709551616.这是个天文数字,有人想要用穷举法解密,那是不可能的。

    3、首先随便编个测试程序,不加密,两个关键字都不设定,写入FX3U,然后用FXWIN软件选取FX2N型号读出程式,竟然能读出正确的程序来。相信三菱FX PLC的FXWIN程软件大家应该很熟悉了。界面如下所示:

    用自编的FX三菱解密软件连线显示,FX3U PLC竟然显示成FX2N版本号为2.41,说明FX3U是FX2N的高级版本。

    4、继续测试,用 GX Developer 只设定第1关键字,第2关键字为空。

用自编的FX三菱解密软件(可解FX0N、1N、2N、1S、FX2),进行解密。竟然解出密码来。按FX2N型号进行下载也能下载程序,说明当只设一个关键字的时候,FX3U加密机制和FX2N的是一模一样的。

看看我的FX解密软件:

    5、继续测试,用 GX Developer 同时设定第1关键字,第2关键字

这时用老的解密软件解不出来了,用老的编程软件FXGP-WIN-C,企图读入程序,显示通信错误。

    6、看来只有祭出法宝了,那就是PLC解密通用的法宝串口监控软件。

    先启用串口监控软件,设置好开始监控,然后运行编程软件。注意顺序要搞对喔。

从菜单-》在线-》传输设置,进入传输设置界面,然后“按通信测试”键,显示CPU类型为FX3U,通信成功。

此时从串口监控到的数据是:

#       Time        Function                        Data ( Hex ) 

1       [00000000]  IRP_MJ_CREATE                   Port Opened - Gppw.exe
2       [00000000]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 115200
3       [00000000]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: Even, DataBits: 7
4       [00000001]  IRP_MJ_WRITE                    Length: 0001, Data: 05
5       [00000002]  IRP_MJ_READ                     Length: 0001, Data: 06
6       [00000002]  IRP_MJ_WRITE                    Length: 0011, Data: 02 30 30 45 30 32 30 32 03 36 43
7       [00000003]  IRP_MJ_READ                     Length: 0001, Data: 02
8       [00000003]  IRP_MJ_READ                     Length: 0001, Data: 42
9       [00000003]  IRP_MJ_READ                     Length: 0001, Data: 31
10      [00000003]  IRP_MJ_READ                     Length: 0001, Data: 35
11      [00000003]  IRP_MJ_READ                     Length: 0001, Data: 45
12      [00000003]  IRP_MJ_READ                     Length: 0001, Data: 03
13      [00000003]  IRP_MJ_READ                     Length: 0001, Data: 46
14      [00000003]  IRP_MJ_READ                     Length: 0001, Data: 30
15      [00000004]  IRP_MJ_WRITE                    Length: 0011, Data: 02 30 30 45 43 41 30 32 03 38 45
16      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 02
17      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 37
18      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 31
19      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 33
20      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 46
21      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 03
22      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 45
23      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 34
24      [00000005]  IRP_MJ_WRITE                    Length: 0011, Data: 02 30 30 45 30 32 30 32 03 36 43
25      [00000006]  IRP_MJ_READ                     Length: 0001, Data: 02
26      [00000006]  IRP_MJ_READ                     Length: 0001, Data: 42
27      [00000006]  IRP_MJ_READ                     Length: 0001, Data: 31
28      [00000006]  IRP_MJ_READ                     Length: 0001, Data: 35
29      [00000006]  IRP_MJ_READ                     Length: 0001, Data: 45
30      [00000006]  IRP_MJ_READ                     Length: 0001, Data: 03
31      [00000006]  IRP_MJ_READ                     Length: 0001, Data: 46
32      [00000006]  IRP_MJ_READ                     Length: 0001, Data: 30
33      [00000006]  IRP_MJ_WRITE                    Length: 0011, Data: 02 30 30 45 43 41 30 32 03 38 45
34      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 02
35      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 37
36      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 31
37      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 33
38      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 46
39      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 03
40      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 45
41      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 34
42      [00000015]  IRP_MJ_CLOSE                    Port Closed

 

开始花大量时间来分析这些数据吧。

    上述 从串口监控到的数据是十六进制的数据,还真不好看,先转换成ASC码,就好看多了。

#       Time        Function                        Data ( String ) 

1       [00000000]  IRP_MJ_CREATE                   Port Opened - Gppw.exe
2       [00000000]  IOCTL_SERIAL_SET_BAUD_RATE      Baud Rate: 115200
3       [00000000]  IOCTL_SERIAL_SET_LINE_CONTROL   StopBits: 1, Parity: Even, DataBits: 7
4       [00000001]  IRP_MJ_WRITE                    Length: 0001, Data:
5       [00000002]  IRP_MJ_READ                     Length: 0001, Data:
6       [00000002]  IRP_MJ_WRITE                    Length: 0011, Data: 00E02026C
7       [00000003]  IRP_MJ_READ                     Length: 0001, Data:
8       [00000003]  IRP_MJ_READ                     Length: 0001, Data: B
9       [00000003]  IRP_MJ_READ                     Length: 0001, Data: 1
10      [00000003]  IRP_MJ_READ                     Length: 0001, Data: 5
11      [00000003]  IRP_MJ_READ                     Length: 0001, Data: E
12      [00000003]  IRP_MJ_READ                     Length: 0001, Data:
13      [00000003]  IRP_MJ_READ                     Length: 0001, Data: F
14      [00000003]  IRP_MJ_READ                     Length: 0001, Data: 0
15      [00000004]  IRP_MJ_WRITE                    Length: 0011, Data: 00ECA028E
16      [00000004]  IRP_MJ_READ                     Length: 0001, Data:
17      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 7
18      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 1
19      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 3
20      [00000004]  IRP_MJ_READ                     Length: 0001, Data: F
21      [00000004]  IRP_MJ_READ                     Length: 0001, Data:
22      [00000004]  IRP_MJ_READ                     Length: 0001, Data: E
23      [00000004]  IRP_MJ_READ                     Length: 0001, Data: 4
24      [00000005]  IRP_MJ_WRITE                    Length: 0011, Data: 00E02026C
25      [00000006]  IRP_MJ_READ                     Length: 0001, Data:
26      [00000006]  IRP_MJ_READ                     Length: 0001, Data: B
27      [00000006]  IRP_MJ_READ                     Length: 0001, Data: 1
28      [00000006]  IRP_MJ_READ                     Length: 0001, Data: 5
29      [00000006]  IRP_MJ_READ                     Length: 0001, Data: E
30      [00000006]  IRP_MJ_READ                     Length: 0001, Data:
31      [00000006]  IRP_MJ_READ                     Length: 0001, Data: F
32      [00000006]  IRP_MJ_READ                     Length: 0001, Data: 0
33      [00000006]  IRP_MJ_WRITE                    Length: 0011, Data: 00ECA028E
34      [00000007]  IRP_MJ_READ                     Length: 0001, Data:
35      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 7
36      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 1
37      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 3
38      [00000007]  IRP_MJ_READ                     Length: 0001, Data: F
39      [00000007]  IRP_MJ_READ                     Length: 0001, Data:
40      [00000007]  IRP_MJ_READ                     Length: 0001, Data: E
41      [00000007]  IRP_MJ_READ                     Length: 0001, Data: 4
42      [00000015]  IRP_MJ_CLOSE                    Port Closed

从上面数据看到,其实只有四个回合的数据通信,其中还有两个回合是一模一样的重复的数据。

分析如下:

电脑发:00E0202      ’查询D8001的值

PLC回:B15E           ‘回复为5EB1,回复的数据高位在后、低位在前,所以要对调个位,

                                       5EB1转为10进数据值为:24241,24表示PLC型号FX2N或3U,241表示版本号

电脑发:00ECA02码   ’查询D8101的值

PLC回:713F            ‘回复为3F71转为10进数据值为:16241,16表示PLC型号为FX3U,241表示版本号

 以上这一大段数据也就是编程软件查询一下PLC的型号,以便接下来按相应的通迅协议进行通迅。

    7、接下来就编个简单的程序,从PLC上载程序,对上载过程的数据交换进行监控,现抄录如下:

一次完整的FX3U上载程序的数据

这上面我标明了通迅协议的注释,明眼人一看就明白

PLC上载参数和上载程序采用的命令协议是什么。

这上载参数与程序的过程中有一大段是先读取D区的数据,关于这些D区数据的意思在GX-D里有说明,我也整理出来,有助于大家理解这些参数的意义。

 

 
 
 


    到了这一步,我停了好长一段时间没有研究,因为解密有时是要靠灵感的,没有灵感是没办法找到解密方法的。

    经过大概半年左右,有个解密的同行,一起再探讨此事时说能不能用我们当时解松下FPX的方法试一下FX3U,于是又是几个不眠之夜,终于搞定了,可以上载程序和参数,可是当时只能是拆机。但是灵感一旦涌现,就会像泉水一样源源不断,一个又一个的设想,一次又一次的测试,终于完美搞定FX3U解密。程序、参数、内存全部OK。
  上面的通迅数据中好好研究就有解密的命令喔。

 

 

 

S7-200CN解密 CP1H解密 CJ1M解密 CP1E解密 CQM1H解密 13682291256 三菱FX3U解密 S7-1200解密 台达EH解密 LG120S解密软 永宏FBS解密  GOT1000解 QQ121667231

S7-200CN解密,CP1H解密,CJ1M解密,CP1E解密,CQM1H解密,FX3U解密,S7-1200解密 FX3u解密 FX3G解密

FX3u解密 FX3G解密 S7-200CN解密软件,CP1H解密软件,CQM1H解密软件,lg120解密软件,CP1L解密软件  S7-200CN解密软件 S7-1200解密软件 S7-200解密软件,EH解密软件

联系手机:13682291256
S7-200CN解密QQ: 121667231
CP1HCJ1M解密QQ: 632234468
三菱FX3U解密QQ: 632234468


三菱FX3U解密软件开发成功:13682291256完美读出程序、参数、软元件区数据.


欧姆龙CP1H解密软件开发成功:本软件能够解CP1H.CJ1M带禁止复盖的加密方式,点解密后会提示完成,完成后请直接用CXP编程软件上载程序,解密完成后千万不能把PLC运行,上载完后在下载到PLC就行了,在点运行,这样解完全成功。

 

 

广州安达科技贸易自动化有限公司电话:传真:联系人:

地址:主营产品:三菱FX3u解密软件 CP1H解密软件 CP1E解密 S7-...

Copyright © 2024 版权所有: 产品网店铺主体:广州安达科技贸易自动化有限公司

免责声明:以上所展示的信息由企业自行提供,内容的真实性、准确性和合法性由发布企业负责。产品网对此不承担任何保证责任。