12558网页游戏私服论坛

 找回密码
 立即注册
游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
攻城掠地-仿官 全新玩法,觉醒武将,觉醒技能 每周新区 经典复古版本,长久稳定 进入游戏
巅峰新版攻 攻城掠地公益服 攻城掠地SF 新兵种、新武将(兵种) 进入游戏
攻城掠地公 散人玩家的天堂 新开 进入游戏
改版攻城掠 上线即可国战PK 稳定新区 全新改版,功能强大 进入游戏
少年江山 高福利高爆率 刚开一秒 江湖水落潜蛟龙 进入游戏
太古封魔录 开服送10亿钻石 福利多多 不用充钱也可升级 进入游戏
神魔之道 签到送元宝 稳定开新区 送豪华签到奖励 进入游戏
神奇三国 统帅三军,招揽名将 免费玩新区 激情国战,征战四方 进入游戏
龙符 三日豪礼领到爽 天天开新区 助你征战无双 进入游戏
王者之师 免费领豪华奖励 免费玩新区 6元送6888元宝 进入游戏
查看: 488|回复: 0

游戏漏洞挖掘之协议获取

[复制链接]
发表于 2019-8-20 10:53:12 | 显示全部楼层 |阅读模式
协议分析是游戏漏洞挖掘的关键,确定游戏的协议是漏洞挖掘的前置条件。游戏客户端与服务器间通过事先定义的协议进行通信。只不过通信的数据往往被加密后,难以从信道上直接获取有效信息清楚数据打包的过程,便是协议获取的关键。打个不恰当的比喻,未学习其他语言基本知识时,我们很难听懂外国人对话的,此时了解了加密过程,就好比将他们的对话翻译成国语,了解了序列号过程,就好比知道了他们的断句,了可读懂的语言,再加上断句,我们就能清楚的知道他们每一句话的意思。协议分析也是这个道理,其分析的关键便是弄清楚明文数据和序列化过程。
一般协议的明文buff分析从游戏的socket连接开始进行逆向分析,借助网络工具,可以清楚的了解到游戏使用的tcp/udp链接,然后针对性对send/sendto, recv/recvfrom断点进行逆向。部分游戏因为自身的复杂性,可能会有多socket连接,一般我们可以通过分析每一次数据交互过程,进一步确定游戏选择的是哪个socket进行数据传输。
更加清楚的说明协议分析的过程,笔者选取一款游戏进行说明。首先通过net-peeker发现游戏仅仅采用了TCP链接OD附加后直接对send下断,发现游戏有多个调用地址调用了call,于是分析每一次send的参数,在游戏内进行网络操作时,拦截到如下截图
上图可知,游戏大部分数据传输选择了0x674这个套接字,进一步回溯堆栈结合数据下访问断点,最终确认到游戏的明文发包函数

获取到了明文buf点时,需要进一步分析游戏的序列化过程,不同的游戏采取的序列化过程不相同
会调用通用的序列化函数,如调用类似与write函数,向buf里传入写入的数据和参数有的更为直接,直接调用类似write_byte, write_word, write_dword, write_qword函数,不同的函数写入不同的数据还有的并没有直接调用序列化函数,而是传入了一个结构的指针,通过解析这个结构就可以得到各个数据的偏移和大小分析思路上,基本都是协议明文buf前后,进行回溯分析确定序列化过程。
常见的如对数据buf下访问/写入断点后,再次进行堆栈回溯,对明文发包点下断,堆栈回溯观看函数调用顺序,也可以分析数据是如何进行填充清空的,最终确定游戏的序列化过程。分析涉及到的逆向知识较多,这里不再一一描述




*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)
来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼主热帖
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|12558网页游戏私服论坛 |网站地图

GMT+8, 2024-5-5 22:47 , Processed in 0.109375 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表