西门子828D 802 810 840Dsl PLC密码获取

西门子数控系列的plc程序密码即POU密码是4个字节的明文存储在flash中的。从编程软件中导出的ard格式的plc,其内容进行了加密打包,不容易直接从中获取。可行的方式是通过exe的动态调试软件,如windbg或ollydbg加载plc编辑软件并加载工程文件,通过劫持编辑软件的查询密码api(pougetpassword)来直接读取对于子程序的密码。

1获取密码输入确认按键的处理函数

使用ollydbg调试软件加载西门子编程软件,下MessageBoxA断点。

通过跟踪追溯,找到其密码输入确认按键的处理函数:

2获得POU密码的函数

通过反复跟踪键处理函数,其

调用executive802.POU_AuthorizePassword函数很可疑。其字面解释,就是使用密码框中输入的密码,来登录这个子程序。

进一步可以得到GetPassword,这个就是从工程文件中获得的密码文字

3实现任意密码都可以跳过验证

通过把字符串比较后的跳转语句改位NOP指令,可实现任意密码都可以跳过验证,可以实现编辑PLC。

4使用对话框显示密码

使用资源编辑工具给systemdata802.dll增加新的引入函数MFC90. AfxMessageBox对话框显示函数。

把密码获得的密码显示到窗口上。

具体图片请到原文查看

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值