记一次破解保卫萝卜金币过程
新手正在学习阶段,有前辈给了一个游戏练手,保卫萝卜,就叫我改个金币,告知我:需要动一下脑。游戏为保卫萝卜1.0.6版本,百度一下就有得下载。
一.发现有检测
不就是改个金币,和改植物大战僵尸的阳光有个弔区别?
这样想着,开了游戏,CE,设置目标进程...
直接搜索金币,果然搜索到了,顺手找个基址。(Luobo.exe+105E68+74)
然后我问前辈,就这?
前辈:小老弟,你修改下金币数字看看再说。
于是我加了个0,如图
然后游戏就寄了{:1_909:},看来是有检测...
二.搞清是什么检测
重新来过,查找是什么指令改写地址,打了一个怪,出来个add指令
显示反汇编,段如图
显然,在add语句里,eax是【打怪获得金币的数量】,是金币地址。
再看下面程序要做什么,mov指令将金币数值存入eax,然后dec指令使eax减一,最后在用mov指令将eax赋值给,
做到这里,我已经猜到这个检测大概是怎么样的了,上图2个地址要相差1,不然检测机制就会认为你作弊,导致游戏关机。
我的修改,只修改了金币数量,没有修改金币数量效验的地址(esi+EC),
那么接下来就是想办法干掉这个检测了。
三.过检测
对esi+ec查访问
找到了,从红框里面的代码看出来的...
(加了1,"复位了",明显是要去比较了,这里我猜想后面会有cmp和je)
果然。
je是等于才跳,直接je改成jmp强跳,检测成功过了
综上所述,现在直接改金币,游戏终于不会闪退了。 说明一下,这个是电脑版的,保卫萝卜beta,版本1.0.6 kickbirds 发表于 2022-7-20 10:55
能不能分享一下文件
百度搜索就能找到官方安装版,CE咱坛子里有,没有修改版,因为是基于内存修改的,不会做成内存修改器{:301_998:} lizooo 发表于 2022-7-20 11:30
百度搜索就能找到官方安装版,CE咱坛子里有,没有修改版,因为是基于内存修改的,不会做成内存修改器{:30 ...
好直接插个眼{:1_886:} 感谢楼主的分享 不错,学习一下 谢谢楼主分享,我试试,有问题请教你 谢谢楼主分享,不错不错,最近刚好有想到这个 吓我一跳,我还以为,是保卫萝卜 4 !!! 为什么是PC版 挺不错的学习了 为什么是PC版 保卫萝卜竟然有PC版本