• 284阅读
  • 0回复

《魔力宝贝》秒遇怪功能分析 [复制链接]

上一主题 下一主题
离线任鸟飞
 

《魔力宝贝》作为一款非常早的网络游戏,可谓是经久不衰。作为这样一款古老的2D回合制网游,早些年的一些开发理念也导致了游戏中的漏洞比较多。秒遇怪和不遇怪是回合制网游玩家梦寐以求的外挂功能,而这款游戏就可以实现。
所谓秒遇怪是只在无需移动或者短距离移动的情况下就可以频繁遇怪,这种功能很明显是通过主动发送协议完成的。或者说游戏中有这样一个功能函数,使游戏在人物移动时被随机触发,如果我们主动去调用这个函数,就可以绕过随机代码,让概率事件变为必然事件。
首先我们附加OD,在send函数处下断观察。很明显,每一步走路都是发包的(如图)


如果我们想在send处断到遇怪包,就要对走路进行过滤,通过条件断点来达到效果。同时我们处理了一些心跳等干扰包后,断到了包长为11的遇怪包(如图)

通过多次下断,我们发现这个遇怪包并不是明文的,而是随机加密的,那么我们就需要到外层函数去寻找明文函数,或者对加密功能进行分析(如图)


在跳出简单的线程循环后我们,不断的返回,来到了一处参数简单,调用方便的功能函数,而这个函数内部将会对遇怪参数进行加密。所以我们调用外部的这个函数即可。(如图)


通过代码注入器注入后,我们发现秒遇怪功能已经实现。既然秒遇怪功能可以实现,那么不遇怪功能自然也是没问题的。我们只需要将遇怪函数屏蔽掉,或者将遇怪协议进行拦截,就可以达到不遇怪的效果。
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个