看雪论坛作者ID:kbb
准备工作:
既然是网络层分析,那么第一步肯定是抓包分析一下。逆向基础的wirashark,charles这些就不做介绍了。
-
网络交互是走的tcp连接;
-
协议是基于protobuf;
-
通信过程加密了,前几个包是明文包,后续加密了,看了一下位数,不像是非对称加密,因为长度不符合,还是需要验证一下。
首先我们是要对游戏网络交互进行分析,那么需要对UE4虚幻引擎有一定的了解。
通过查阅相关资料得知虚幻引擎是通过'UNetDriver'进行网络交互的,而'UNetDriver'是在'UWorld'下,那么我们就需要对游戏先进行sdk dump拿到实例化对象。
然后拿到UNetDriver后,可以在ida里面跟到相应的网络流程,加密等。
-
GNamesArray > FNamePool
-
GObjectsArray > TUObjectArray
FNamePool
/UnrealEngine/Engine/Source/Runtime/Core/Private/UObject/UnrealNames.cpp
FNamePool::FNamePool();
验证想法
E N D
看雪ID:kbb
https://bbs.pediy.com/user-home-585132.htm
# 往期推荐
2.内核漏洞学习-HEVD-NullPointerDereference
原文始发于微信公众号(看雪学苑):某火热区块链游戏(mir4)的一次通信协议分析
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论