用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
- 再次进入游戏发现实现了自动收集
用od、ce实现植物大战僵尸自动收集阳光相关推荐
- C语言实现植物大战僵尸自动收集阳光(一) 问题分析与寻找基址
C语言实现植物大战僵尸自动收集阳光(一) 问题分析与寻找基址 C语言实现植物大战僵尸自动收集阳光(二) C语言控制台程序的实现 C语言实现植物大战僵尸自动收集阳光(三) 解决收集不全与收集奖杯卡死的问 ...
- C语言实现植物大战僵尸自动收集阳光(三) 解决收集不全与收集奖杯卡死的问题
C语言实现植物大战僵尸自动收集阳光(一) 问题分析与寻找基址 C语言实现植物大战僵尸自动收集阳光(二) C语言控制台程序的实现 C语言实现植物大战僵尸自动收集阳光(三) 解决收集不全与收集奖杯卡死的问 ...
- C语言实现植物大战僵尸自动收集阳光(二) C语言控制台程序的实现
C语言实现植物大战僵尸自动收集阳光(一) 问题分析与寻找基址 C语言实现植物大战僵尸自动收集阳光(二) C语言控制台程序的实现 C语言实现植物大战僵尸自动收集阳光(三) 解决收集不全与收集奖杯卡死的问 ...
- 利用java多态实现植物大战僵_植物大战僵尸自动收集阳光金币
一.自动收集阳光 大致思路,猜测有一个点击阳光的函数,当我们点击阳光后,会调用它,完成增加阳光的一系列操作.但是只有当我们点击的是阳光时,才会调用它,所以点击阳光应该是有一个判断的,判断点击的是否是阳 ...
- CE实现植物大战僵尸之阳光篇
阳光篇 阳光基址 阳光基址 扫描初始值 首次精确扫描50,收集一次阳光后再次搜索数值增加了,数值选择50.可以得到唯一的地址 2.右键"是什么访问了地址" 3.记下地址和偏移量,再 ...
- CE实战:修改植物大战僵尸中阳光数值
CE实战:修改植物大战僵尸中阳光数值 游戏版本:植物大战僵尸中文版( PlantsVsZombies ) Cheat Engine 版本:Cheat Engine 7.0 一.打开游戏 二.打开CE并 ...
- ce修改植物大战僵尸阳光
ce修改植物大战僵尸阳光 准备: CE修改器 植物大战僵尸游戏 易语言 选择进程,最重要的是找到阳光的基址 阳光数量为50 首次扫描和再次扫描 找到阳光的动态地址 找出是什么改写了这个地址,并双击 偏 ...
- CE修改植物大战僵尸-天上无限掉落阳光(小宇特详解)
CE修改植物大战僵尸-天上无限掉落阳光 里是CE修改植物大战僵尸的第三个博客,其他的操作请看我之前的博客. 天上无限掉落阳光. 这里说明一下版本: CE:CE6.8 植物大战僵尸版本:植物大战僵尸95 ...
- [re入门]ce对植物大战僵尸的修改
CE对植物大战僵尸的修改 1.对阳光的修改 思路:通过种植物来改变阳光的数值,ce中使用精确数值搜索即可,如下图 植物偏移地址的寻找(不需要每次都搜阳光地址,直接修改即可) 上面的地址点右键,什么访问 ...
最新文章
- 老司机也晕车--java字符串String晕车之旅
- iframe出现双层滚动条解决方案
- python convert函数_Python内置函数
- 关于常用的编码工具如何引入jar包
- Bootstrap中水平排列的表单form-inline
- 《Pro Ogre 3D Programming》读书笔记 之 第十一章 动态阴影 (转)
- win7美化_为Windows笔记本外接显示器!附实用工具/桌面美化折腾指南
- 创建一个Employee类
- 2017,在驻足间回首
- 【优化】利普希茨连续(Lipschitz continuous)及其应用
- 三步搞定ABAP DOI操作EXCEL
- Angular Router的组件路由介绍
- Cordova App 热更新 超详细教程
- 计算机医学应用的前景,未来这3大专业,不仅就业前景广阔,而且不容易被外行人轻易取代...
- netty初使用——实现http及https代理服务器
- c语言中优先级劣后级,基金优先级与劣后级之间的区别是什么?
- 【面试大全-MQ】-消息队列
- Python数据分析实战之葡萄酒质量分析
- 手动刷入recovery的方法
- 法律权利与法律义务的二重性
热门文章
- python代码怎么变成软件_从Python代码到APP,你只需要一个小工具:GitHub已超6000星
- 考研高数——积分中值定理证明
- Windows安装最新版Pygame
- 【单片机毕业设计】【mcuclub-304】智能保温杯 | 语音智能水杯 | 恒温杯 | 多功能水杯
- 事件(一)绑定与解除事件
- maven-jar包的来源
- Eclips显示行号
- 163VIP邮箱全新域名上线,见证蜕变开启全新的VIP邮箱体验!
- Redis - increment 递增方法 | 处理防重复和并发问题
- 供应商分级方案:企业供应商管理系统助力汽车零部件企业实现供应商自动分级