FANUC_31i的PLC密码破解详细过程

[复制链接]
查看1785 | 回复1 | 2010-8-9 22:26:00 | 显示全部楼层 |阅读模式
31I带密码的PLC程序破解过程 首先声明一点,本人没学过破解,有说的不对的地方,欢迎大家指教。 下面说一下过程,需要的软件:1、LADDER III V4.6以上, 2、UltraEdit-32 (16进制编辑软件) 这两个软件网上都有下的。 PLC的密码有2个,一个是显示密码,一个是编辑密码,这两个密码在用LADDER III编译PLC的时候,如果你需要加密码,就在OPTION那个标签下,选择setting of password(设置密码),然后在EXEC(执行)的时候,就会弹出一个要求你输入密码的框,你输入就可以了。LADDER III支持FANUC的所有PLC,其中30I,31I,32I的密码是16位的,而其他的0I,18I等都是8位的。通过自己编译一个程序,然后加密码,我们可以知道,他的密码允许的范围是0-9个数字,A-Z的26个大写字母(没有小写字母,小写字母输入也会自动转换成大写字母,因为在NC上没有小写字母),以及#号。 这样,我们首先用LADDER III建立一个31I的PLC程序,可以随便编写一条。然后带密码编译输出成memory card format file(存储卡格式文件),密码可以随便写(用笔记下来),这个编译过程执行2次,这样就可以得到同一个PLC文件的带有不同密码的两个存储卡格式文件。然后用ULTRAEDIT-32这个软件把这两个文件用HEX(16进制)格式打开,进行比较,找出他们的不同处,这个不同的地方,就是我们想要得到的密码存储的地方。是在0000 022C到0000 026f。然后打开你要破解的PLC程序,找到0000 022C到0000 026f这里,用前面我们自己编译的那两个文件中的任意一个的0000 022C到0000 026f的内容来代替。然后存储退出。这样这个密码就变成了我们自己设置的那个密码了,然后用LADDER III软件打开,输入我们自己设置的那个密码,就可以成功的反编译这个PLC程序了。 这个过程对于所有的用LADDER III来编程的FANUC的PLC都有效,我试验过0I和18I系统的,没有问题。 但这里还存在了一个问题:我们是在电脑上把PLC程序的密码改了,也打开了,但NC系统上的密码还没改呢,我们还是一样不知道系统上PLC的密码?对于0I和18I等8位密码的,网上有专用的软件可以破解这个密码,还有一个办法就是把我们破译的那个程序,重新编译成一下,这样,无论你是编译成不带密码也好,还是带密码也好(反正密码是我们自己加的,我们是知道的)把他输出成存储卡格式文件,用CF卡直接在PLC的I/O功能传送那里传回去,把NC里面的PLC覆盖掉。这个过程我也在0I和18I的系统上试验过,没有问题。因为用I/O功能读写PLC的时候是不用PLC密码的,但如果你要用LADDER III来读写机床上的PLC的话,就需要机床上PLC的密码了。所以不能用LADDER III来操作这个过程。 下面是一个没有密码的HEX代码形式,大家也可以用自己设置的代码去替换。 0 1 2 3 4 5 6 7 8 9 a b c d e f 0000 0220h: EC 1B 86 2C 0000 0230h: AA 5F C5 43 F3 76 EA 40 C6 66 FC 7A 3C 04 20 34 0000 0240h: 20 0C 02 04 04 60 20 88 20 60 78 00 EC 1B 86 2C 0000 0250h: AA 5F C5 43 F3 76 EA 40 C6 66 FC 7A 3C 04 20 34 0000 0260h: 20 0C 02 04 04 60 20 88 20 60 78 00 FC BD 9F 3B
783252984 | 2011-1-14 09:48:00 | 显示全部楼层
谢谢
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则