100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 用od ce实现植物大战僵尸自动收集阳光

用od ce实现植物大战僵尸自动收集阳光

时间:2021-08-19 17:55:35

相关推荐

用od ce实现植物大战僵尸自动收集阳光

找地址

首先使用ce查看阳光的地址

然后F6是什么改写了地址地址找到了,复制00430A11这个地址,在od中搜索

分析

打开od,file–>attach(关掉ce

才可以打开进程),找到植物大战僵尸ctrl+G搜索地址

我们这里先下断,进游戏点击阳光以后会断到这里。当阳关快被加上数值的时候 会被断下。

F2下断点,进入游戏收集阳光,发现在这里暂停

查看寄存器的值

ECX是32,现在游戏内阳光值为十进制50,换算为十六进制正好是32.

然后选择debug–>execute till return(执行到返回)

向下看有一个call指令,推测这个call就是增加函数。我们可以把这个语句nop掉,然后发现点击阳光数值是不增加的。我们确定了增加函数。撤销修改。

下面判断call之前jnz语句。是一个if逻辑,在这下断点。多次放行之后发现点击的阳光向上运动。

回到游戏收集一个阳光,发现值并没有增加,由此推断出这个call就是增加阳光的call 然后右键撤销.

这次在jnz条件跳转这里下断点。

然后F9,发现点击阳光后停止了

多次尝试结果都是。那是这个jnz是干嘛?

再来一次点击快消失的阳光

jnz主要目的是判断阳关是否到位,只有当阳光完全在左上角的时候才会真正执行增加阳光的call ,当阳光到位之后他会执行这个call

实现破解

定位点击函数

这里增加阳光的call上面有跳转 可以看到 只有当这个jnz执行成功之后才会增加这个call 那么就简单了 我们直接在这个jnz上下断看看他的执行流程

这个call可能是阳关下落跟执行动画使用的call 那么我们直接断在这个增加阳光的call上 试试 然后会发现当我们点击阳关的时候会被断下

这个语句就是没有被点击,就会一直执行动画call,如果被点击就会执行增加阳光的call所以这里就可以吧jnz改为无条件跳转jmp再次进入游戏发现实现了自动收集

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。