游戏辅助(外挂)运行的原理是什么?

外挂就是利用游戏漏洞来实现某些变态功能

这里来讲一下《魔域》远程访问NPC漏洞分析

---------------------------------------------------------------

一般来说远程访问NPC或者对话等功能都是通过直接发送封包来实现的,以《魔域》这款游戏为例。

因为调用send的函数我们需要对数据进行加密分析,所以我们尝试调用明文包的位置来实现。通过在send函数的数据缓冲区上下写  入,轻松的跳出了线程循环,继续返回可以得到明文包的位置(如图)

图片发自App

随便选择一个NPC断下后得到了一个很简单的封包,包的长度只有0x10,(如图)

图片发自App

通过改变不同的NPC可以得出这个封包中的参数如下

10  00 EF 07 AB  4C 00 00 00 00 00 00 00 00 00 00

包长协议IDNPCID    未知参数,默认0填充

在OD中随便找一片空的内存,使用代码注入器注入测试(如图)

图片发自App


注入成功了,我们移动到一个很远的地方,甚至移动到其他地图,发现依然可以注入成功,这说明我们可以通过调用明文封包就可以达到远程访问NPC的效果,前提是我们需要知道NPC的ID,而事实上大部分的游戏都不会对功能NPC的ID进行改动。(如图所示,我们调用成功的效果,这时我们并不在打开的NPC附近)

图片发自App

其实通过这个办法,我们还可以得到很多的其他功能,因为服务器验证比较弱,所以远程NPC对话等功能是都可以实现的,这里就不一一展示了。

------------------------------分割线---------------------------

本人每天需要讲课 ,从今天起每天会不定时发一篇关于逆向汇编的文章。

本文章仅限于交流,如果本文章侵犯了贵公司权益,请联系我删除。

点赞是一种鼓励,转载是一种美德,分享能给我最大的动力,如有不足之处请予指正。

你可能感兴趣的:(游戏辅助(外挂)运行的原理是什么?)