【游戏分析】《流放之路》明文协议及加密分析

作为最近非常火爆的一款PC端网游,《流放之路》在发包函数和协议加密上做了一些处理,我们来简单的分析一下。

简单的处理线程后,加载上OD,我们发现在WSASend,send,sendto函数上下断点,游戏并不会断下,说明游戏对发包函数进行了改写,于是我们到更内侧的WSPSend头部下断,发现游戏可以断下。执行到返回,来到一个和send函数代码很像的函数(如图)
在这里插入图片描述
观察发现这里并没有用到线程发包,所以可以很容易的返回到外部的功能函数,以喊话功能为例(如图)
在这里插入图片描述
图中函数内部会调用发包函数,而分析其参数和寄存器后发现并没有喊话相关的明文出现,或许是明文内容藏在某些偏移内,不容易发现(如图)
在这里插入图片描述
堆栈中出现的喊话明文通过改写后,无法改变实际的喊话内容。于是我们到内部分析发包函数的参数来源,看最后出现明文的位置是哪里(如图)

在这里插入图片描述
通过图中的注释可以看出明文协议是在call dword ptr [edx+4]处被加密的。分析明文的来源,发现外层的ecx+130里存放的明文,并没有通过push进行传参。分析加密函数内部,得到加密代码的来源(如图)
在这里插入图片描述
分析密匙来源后即可通过调用函数来对明文协议进行加密,并通过发包函数实现大部分功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

douluo998

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值