结合OD和《植物大战僵尸》,实现随意过关

  • 首先我们使用CE,导入植物大战僵尸。我所利用的模式就是“宝石迷阵”这个娱乐模式。
    在这里插入图片描述
    图 1.1 导入游戏进程
    在这里插入图片描述
    图 1.2 宝石迷阵
  • 我们需要找调用CALL的来源。我们搜索下面的程序的完成数。随后进行一次消除使数字增加从而进行再次搜索。我们使用该方法多次扫描,直到确认结果值地址。
    在这里插入图片描述
    图 1.3 完成数
    在这里插入图片描述
    图 1.4 增加一次结果
    在这里插入图片描述
    图 1.5 首次扫描结果
    在这里插入图片描述
    图 1.6 再次扫描结果
    在这里插入图片描述
    图 1.7 结果值地址
    在这里插入图片描述

图 1.8 汇编指令

  • 接下来把得到的地址放进OD里面,下断点分析查看该结果值的访问信息。
    在这里插入图片描述
    图 1.9 OD中设置断点
    在这里插入图片描述
    图 1.10 在OD中附加进程
    在这里插入图片描述
    图 1.11 OD附加后界面
  • 进入游戏再消除一个以后,观察调用,发现了调用列表使用第一个进行尝试,在第一个显示位置下断点。随后进入游戏再次消除一个,返回OD进入断点处查看返回值。
    在这里插入图片描述
    图 1.12 在调用处下断点
    在这里插入图片描述
    图 1.13 返回值为14h
  • 根据返回值,我们判断参数有5个,我们在返回到CALL 在push 0x1下个点F8往下走,分析参数。
    在这里插入图片描述
    图 1.14 分析参数
  • 可见,ebx是x坐标,esi是y坐标而ecx中存着基址。参数已经分析完毕。测试该call是不是我们所需要的,现在我们的进度是7个。调用一次call,查看进度有无改变。
    在这里插入图片描述
    图 1.15 当前进程
    在这里插入图片描述
    图 1.16 编写call
  • 发现call调用后,进度增加了,并且返回“执行成功”。紧接着,我们开始分析静态地址
    在这里插入图片描述
    图 1.17 call调用成功
    在这里插入图片描述
    图 1.18 分析静态地址
    在这里插入图片描述
    图 1.19 查找地址
    在这里插入图片描述
    图 1.20 基址
  • 我们随便打开一个其他模式根据基址修改call的代码。
    在这里插入图片描述
    图 1.21 更改代码
    在这里插入图片描述
    图 1.22 游戏界面
    在这里插入图片描述
    图 1.23 成功界面
  • 发现无论什么模式,都调用100次call就可以通关了,至此随意过关破解完成。
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值