文档库 最新最全的文档下载
当前位置:文档库 › AB (罗克韦尔)rs5000 PLC项目密码破解

AB (罗克韦尔)rs5000 PLC项目密码破解

AB (罗克韦尔)rs5000 PLC项目密码破解

接触AB的PLC有几天了,一直在想办法解开加密的程序块,在网上百度各种解密方法,不是过时了就是收费,在亿万论坛上看到几位大牛负责免费给解密程序,具体方法没有透露,只有亿万AB论坛的郭版主曾经发过破解补丁,但没有流传开,我这是到处求爷爷告奶奶也没有解决问题,一狠心自己研究搞定它。

我先做了几次试验,先将自己测试的一个ACD程序文件进行源保护配置,如下图

注:如果没有“Configure Source Protection”这项,可运行RS5000安装包路径下的RSLogix5000 V17.00.00_Prot\ENU\Tools\Source Protection Tool\RS5KSrcPtc.exe文件一次即可

进入配置源保护提示下图

生成个sk.dat文件,这个文件是用来存储密码的,我做了多次试验,ACD程序块设置的密码都存在这个文件里,而且可以用记事本查看sk.dat这个文件,里面肯定有一组密码和刚才设置的密码一样。程序块密码设置好后,如果这个文件丢失,或者这个文件里面没有了原来的密码,这程序块显示灰色无法打开。

经以上实验分析:rs5000软件打开项目时先检查密码保护文件sk.dat,然后结合已打开的ACD程序项目进行校验,如果sk.dat里面有已打开项目的密码,则显示加密程序块,如果没有,则加密程序块变灰色无法查看,或根本不显示。

这个实验说明密码关键sk.dat文件里,咱们如果没有sk.dat文件或者不知道密码怎样解密呢?

我自己设想了几个方法:

1、既然密码也存在ACD项目里,咱用文件比较器查看一个项目加密前后的区别,看是否能找出规律,实验证明,RS5000的项目文件是不行的,以前早期产品可以用此方法,现在早已被和谐,密码不在直接在程序ACD文件里显示。

2、修改rs5000软件,用反汇编加动态跟踪找出rs5000软件在运行项目以后如何比较密码,然后进行显示或者不显示加密块,咱来个强制JMP到显示程序块,这不就OK了吗,咱汇编功底不行,用OD加载rs5000,查找各种字符串“key、sk.dat、lock等等”设置断点,改了好几处JE为JMP,保存复制可执行文件,然后替换RS5000.Exe,结果还是不行。跟踪半天也找不到关键汇编指令位置,干脆放弃,这方法还是留给大牛吧。

3、自己做个sk.dat的字典用文件,用黑客字典生成器生成一个,然后看看能不能暴力破解出来。实验证明我成功了!

下面就介绍一下成功的方法:

sk.dat 文件可以更改,但是必须关闭rs5000

还是用自己做测试的ACD程序

第一步,配置文件源保护,设置好sk.dat的路径,我给它设为C:\sk.dat 然后对程序段进行加密,密码自己设定为12345 然后关闭rs5000 ,

第二步,用记事本打开sk.dat文件,将12345删除,重新打开测试的ACD程序,此时程序块也显示灰色,说明密码不匹配,关闭rs5000。第三步,用黑客字典生成个sk.dat文件,选择数字纯数字模式,位数选择1-5位,然后点击生成字典,提示密码总数111110个,大小747K,然后把这个文件替换原来的sk.dat。

第四步,重新打开测试的ACD程序,经过几秒钟,项目顺利打开,加密的程序块已经可以看到(因为生成的sk.dat文件里有12345)。到此破解实验成功。

然后我用此办法解密单位的斗轮机ACD程序,先生成纯数字的1-6位字典sk.dat,运行项目没有成功,显示

说明1-6位的数字密码全部不正确,我又生成纯小写字母的1-4位字典文件sk.dat,运行项目,此时加载时间稍长,请耐心等待,等加载成功后显示

证明密码已经破解,再查看文件源保护配置

看到密码原来是aa

至此,密码已经破解!

2013-10-08

唐山味儿不浓

相关文档
相关文档 最新文档