外挂就是利用游戏漏洞来实现某些变态功能
这里来讲一下《魔域》远程访问NPC漏洞分析
---------------------------------------------------------------
一般来说远程访问NPC或者对话等功能都是通过直接发送封包来实现的,以《魔域》这款游戏为例。
因为调用send的函数我们需要对数据进行加密分析,所以我们尝试调用明文包的位置来实现。通过在send函数的数据缓冲区上下写 入,轻松的跳出了线程循环,继续返回可以得到明文包的位置(如图)
随便选择一个NPC断下后得到了一个很简单的封包,包的长度只有0x10,(如图)
通过改变不同的NPC可以得出这个封包中的参数如下
10 00 EF 07 AB 4C 00 00 00 00 00 00 00 00 00 00
包长协议IDNPCID 未知参数,默认0填充
在OD中随便找一片空的内存,使用代码注入器注入测试(如图)
注入成功了,我们移动到一个很远的地方,甚至移动到其他地图,发现依然可以注入成功,这说明我们可以通过调用明文封包就可以达到远程访问NPC的效果,前提是我们需要知道NPC的ID,而事实上大部分的游戏都不会对功能NPC的ID进行改动。(如图所示,我们调用成功的效果,这时我们并不在打开的NPC附近)
其实通过这个办法,我们还可以得到很多的其他功能,因为服务器验证比较弱,所以远程NPC对话等功能是都可以实现的,这里就不一一展示了。
------------------------------分割线---------------------------
本人每天需要讲课 ,从今天起每天会不定时发一篇关于逆向汇编的文章。
本文章仅限于交流,如果本文章侵犯了贵公司权益,请联系我删除。
点赞是一种鼓励,转载是一种美德,分享能给我最大的动力,如有不足之处请予指正。