首页
社区
课程
招聘
[原创]对于某游戏残端逆向分析 并同步使用更高级的客户端过程 (三)
2022-7-1 19:11 10136

[原创]对于某游戏残端逆向分析 并同步使用更高级的客户端过程 (三)

2022-7-1 19:11
10136

继续往后跟这个 CheckPacketEndIndex 函数会发现这里获取了好几个字符串 看起来非常像Log函数

0 源码路径 函数名字 一个LogType 日志内容


然后老办法了 分析一下参数 int __stdcall GameLog(int a1, wchar_t* source_path, wchar_t* function_name, int logType, wchar_t* Format, ...)

hook干他

然后游戏的日志就出来了  方便我们后续寻找错误!

我们知道这个函数所有的字符串都是通过那个data段字符串解密而来的 我们hook把用到的字符串写到一个文件里 看看cmd packet noti paacket的包ENUM的名字 (图里可以看见log里用到了 NOTIFUNC_ENUM_NOTIPACKET_CERA)一个通知的收包名

拿到这些文本简单的自己写个小工具把他转成ENUM来看

然后对比服务端的 ENUM数值 就知道那些包的ID变了 还有新加了那些包


对比后发现cmd packet 603往后的都变了 noti pakcet 560 往后的变了 其余的没变多了一些活动东西

黄金哥布林 黄金蛋活动 SHOOTINGSTAR


服务端的PacketDispatcher::doDispatch分发包事件

服务端所发给客户端的包id对应也要修复,服务端有符号 就没什么多说的了 搜搜搜就出来了



成功进入游戏,使老服务端兼容新客户端,不过因为多了很多新的packet,很多活动功能还是不正常需要自己补.



[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2022-7-1 19:56 被aRax编辑 ,原因:
上传的附件:
收藏
点赞7
打赏
分享
最新回复 (4)
雪    币: 2448
活跃值: (1570)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
maxwudi 2022-7-1 19:52
2
0
大佬厉害了!
雪    币: 2588
活跃值: (1049)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
挥一挥衣袖 2022-7-1 22:34
3
0
大佬好强
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
mb_heyylwvp 2023-7-7 22:50
4
0
大佬能分享下 能跑5国的服务端嘛
雪    币: 219
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
LListen7 2024-1-18 22:16
5
0
大佬,想要完成这一操作需要学习那些方面知识?本人纯小白,但时间多,想学习完自己动手
游客
登录 | 注册 方可回帖
返回