64位游戏找call_网络小游戏怎么修改技能满级,满血?教大家一个很简单的修改方法!...

最近去忙着给小弟培训,都忘记上来发文章了,刚好小弟找了个小游戏练练逆向数据分析,下面就给大家讲讲他是怎么做到修改数据后,达到无限满血,全技能升级完的。

ce089b3a5c97a0c0771042f3986e5dec.png

首先介绍几个概念:

网络游戏的变态功能的一般实现方式:

逆向数据分析主要去看的就两个点

1:本地数据

某些网络游戏将人物的血量,攻击力,坐标,这些重要数据存在游戏本地的客户端,当然可能会有一些加密,这样的游戏可以直接修改内存实现无敌,秒杀,瞬移等变态功能。当然这种网络游戏并不多见,大多数游戏重要数据都存放在服务器,我们修改内存看到的只是假象。

ad4357de2b0212a10922b1bec5b8f0a5.png

2:伪造封包

既然是网络游戏,就肯定要与服务器进行网络通信,比如我们在游戏里使用技能,就会向服务器发送使用技能封包,喊话就回向服务器发送喊话封包。大多数封包的漏洞都是服务器判断不严谨或者有一些逻辑漏洞造成的,比如,如果游戏服务器并没有对技能冷却时间进行判断,我们直接一直向服务器发送使用技能的封包就可以实现技能无CD的效果,有些网游怪物死亡会向服务器发送怪物死亡的封包,那我们就可以伪造封包向服务器发送达到秒杀怪物的效果。某些射击网游,玩家朝着敌人射击时会发送一条封包,我们可以通过玩家和敌人坐标计算精确的值修改这些封包,就可以实现枪枪爆头等变态功能。还有些游戏刚进副本时会向服务器发送封包增加人物血量攻击力之类的,我们可以把这条封包找出来,调用游戏发包函数向服务器发送,也可能可以实现倍攻无敌等效果。

0782ca41e29ed3428846e9506f950c8a.png

大多数网络游戏通过send或者WSASend发包函数向服务器发送封包,当然现在很多网络游戏可能会调用更底层的发包函数,或者一些其他处理,导致用od在这些函数上下断点并不会命中断点,这种情况我们不在赘述。

为什么要找明文发包call?因为我们在这些系统的发包函数下断点,断下看到的数据一般都是加密的 ,所以我们要找到游戏明文的发包函数才能方便分析封包内容。

我们今天讨论的重点是某袋西游的封包bug

我们先要找到游戏中的明文发包函数以及分析使用技能的封包内容

这个游戏的发包函数调用过程非常简单,简单可以概括为

功能CALL==》组包==》明文发包CALL==》加密等等==》send

我们可以在send头部下段,在游戏中 做相应的功能动作,断下时通过栈回朔就可以返回到明文发包call。

我们要找到的是游戏过程中攻击或攻击后所发生变化的封包数据如图所示:

6ecee05bcb5ad8974ca44bb1e74b2bd1.png

这里只有使用技能才会断下,我们可以观察下这个call的参数;

647dadcf27fe316d8a6f29ed687e75e8.png

29 00 45 00 00 00 FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 42 A3 03 00

经过我们的对比分析,可以分析出

29 00//包头

45 00 00 00//技能ID

FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01//固定数据

01 42 A3 03 00//如果是选中怪物攻击的技能,这里就是怪物id,如果不需要选中怪物就攻击的,就是我们人物自己的id

技能封包分析完了,接下来就需要分析技能遍历,我们可以继续ctrl+f9几次找到技能call,技能call应该有个参数是技能id,分析技能id的来源可能就可以找到技能遍历;

fa9c2bcc706205b05db5ac111765ee51.png

游戏中显示的人物只有两个技能,但是我们在内存中遍历出17个技能

我们看下最后一个叫月饼的技能,我们在游戏中看不到并且不能使用这个技能,我们调用明文发包call使用这个技能就可以实现无限满血了。

人物id可以直接在人物对象下观察到,这里就不再赘述。

7b1de619fd2315fc64517125f2e25b51.png

那么,我们看看改好的效果如何,被怪打血少了,5秒的冷却CD直接满血,都不用买药了。

7dd2a17ccbfeac7303eed1d48affd85b.png

游戏修改轻松搞定!!!其实学这个很简单的,找到数据,修改就可以了。文化要求不高,初中文化都能学会了,又不难。

更多干货可以关注 公众号《云技术君》 满足你想知道的一切技巧,有问必答!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值