mapbox 修改初始位置_⑩的游戏修改小课堂1——WinDepth

bc9e19aafa5b900c90864f2dc146c034.png

咱今天比较闲,所以来误人子弟啦~

来讲一讲如何用Cheat Engine与OllyDBG来修改简单的小游戏~

当然,这是只最初级的修改(露米娅比较笨qwq),不过,这也意味着非常地简单易学~


今天露米娅下载了一个反潜小游戏(WinDepth)来怀旧一下~

211380911a5ce465c53958af064c541b.png

当年玩到这个游戏的时候,咱还在上幼儿园……系统是win98,ghost系统自带一个十个小游戏的合集,其中就有这个潜艇的小游戏。不过版本可能不同,因为我记得那个游戏中的奖励潜艇是金色的,而这个WinDepth中的奖励潜艇是绿色圆形的。不过游戏的模式还是一样的,空格扔深水炸弹,左右移动。敌人(潜艇)的图像与攻击模式也是一样的。

一顿操作之后……

9db5efcbed406907d2a488972edc6cb7.png

玩得还不如当年呢……

所以咱就打开了罪恶的工具Cheat Engine……首先在CE中打开游戏进程。

4995fcd709a3418e10dcc8898efa5e4f.png

首先自然是要逆天改命,开始游戏,用First Scan 搜索4(初始的生命值)。

35f5e09ede33e6a246b5431c5cfc2f53.png

故意死掉一次,再用Next Scan 搜索3。

4ebfe9d47506d4374042c6b9b0fc3a5c.png

这样就直接搜索到生命值的地址啦,双击添加到列表中~大家可以直接修改内存,改成更大的值。不过,咱的目标不仅仅是这样~咱想要修改游戏~所以要用到调试器~

大家可以用CE自带的调试器来修改,不过咱还是喜欢用OllyDBG来处理~

在OD中打开程序,F9运行,正常开始游戏。

然后,在数据窗口中ctrl+g转到0012E9BC(这是我们刚刚搜到的内存的地址)。

4c973b28fc7e1e35c9a74ac49863a056.png

看到0012E9BC这个地址了嘛~在这里下一个内存断点(右键->断点->内存写入)

然后F9继续运行游戏,再死掉一次,就会发现断点触发,程序暂停了。

0da33bc59dc160829f617542c76be7bf.png

看指令窗口,我们抓到了写入的指令~相信学过汇编的诸君都知道要怎么做了吧~

什么,没学过汇编……那咱就解释一下这些汇编指令~

地址为00402F00的指令是将内存移动到寄存器eax中

地址为00402F10的指令将eax减1

地址为00402F17的指令将减1后的值放回内存

也就是说,这三条指令完成了将生命-1的效果。

5ee545274b5e6bb6bdb8a7d7352735fd.png

双击dec eax,改成inc eax(将eax加1)

之后删除内存断点(在0012E9BC上右键->断点->删除内存断点),F9继续程序~

再一次死掉之后,我们可以看到,生命值+1啦~

4e977ee2a2b94990d9821300ea36025a.png

接下来,我们要保存成果。

在OD中右键->复制到可执行文件->所有修改,然后在新出现的窗口中右键->保存文件

4164f4ff4c546a330318a202dcbed761.png

我们就得到一个死了之后生命+1的版本啦~之后用这个保存的来玩就容易多啦~是不是很开心呢~

不过,有没有其它的方法呢?

刚才,我们已经得到了内存地址,那么,我们可以写一个C语言程序。

#include

这个程序会通过窗口得到窗口的句柄,然后通过窗口句柄得到进程的PID,然后将进程的对应内存地址修改成99999。

为什么窗口名是WinDepth (Sleep)?因为这个游戏在窗口失去焦点之后,就会自动暂停,同时窗口名也会变成WinDepth (Sleep)这样(真是贴心的设计^^)。

编译之后,先开始游戏,然后运行程序,就会看到……

47854135d5258562d4b06eb7ee249229.png

生命变成99999啦~

用类似的方法,我们还可以修改关卡来达到跳关的效果,修改BOSS的初始血量来让BOSS更容易击败(搜索的方式不太一样,一开始要模糊搜索),大家可以去尝试~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值