找一个很久的网络游戏?

我通过一个平台卖了个游戏账号,可号再卖出去后被盗了,买家找上我,这是不是网络是不是网络诈骗?

  • 如果在网络上以非法为目的,利用互联网采用虚构事实或者隐瞒真相的方法,骗取数额较大的公私财物的,则认定为网络诈骗。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

我要回帖

更多关于 网络游戏漏洞寻找 的文章

 

随机推荐