【游戏逆向】《某山奇缘》发包函数

一个游戏我们拿来以后第一件事肯定是要去分析发包函数。

因为发包函数可以给我们很多有用的信息。

第一,所有的功能都可以通过发包实现。

第二,发包中的参数可以获悉游戏中的数据形式,例如某些参数是类型,ID是什么样的值。

第三,通过发包可以得知游戏的通讯方式是否存在漏洞,例如怪物如果死亡的时候发包,那么就有秒怪封包,秒怪功能。

首先我们分别到send,sendto,WSASend 三个发包函数上下断,看是否是发包函数。

send
在这里插入图片描述
sendto
在这里插入图片描述
WSASend
在这里插入图片描述
分别下断以后,发现都不断

偶尔会断下,经过分析以后发现和我们做的发包动作无关。

那么不是这3个发包函数发的包,这个游戏自己实现了发包函数。

通过其他send发包的游戏

我们在send内部调用更内层发包函数WSPSend的位置下断
在这里插入图片描述
找到更内层的发包函数

WSPSend

71384405 6A 44 push 44

71384407 68 80453871 push 71384580

7138440C E8 7FCFFFFF call 71381390

71384411 33FF xor edi, edi

71384413 897D E0 mov dword ptr [ebp-20], edi

71384416 803D B8643B71 0>cmp byte ptr [713B64B8], 0

7138441D 0F85 04240000 jnz 71386827

71384423 393D 5C603B71 cmp dword ptr [713B605C], edi

71384429 0F86 F8230000 jbe 71386827

7138442F FF35 88603B71 push dword ptr [713B6088]

71384435 FF15 D0123871 call dword ptr [<&API-MS-Win-Core-Pro>; kernel32.TlsGetValue

7138443B 8945 D4 mov dword ptr [ebp-2C], eax

7138443E 3BC7 cmp eax, edi

71384440 0F84 E1230000 je 71386827

当然每台电脑的地址是不同的

只有在本台电脑是相同的

我们重新附加灵山奇缘,跳到该地址下断

CTRL+F9返回到真正的发包函数

在这里插入图片描述
通过分析

根据参数的 性质我们分析出来

这是重新实现的WSASend
在这里插入图片描述
在这里插入图片描述

此时再做任何发包动作都会断下了,当然也有心跳包。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

douluo998

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

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

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

打赏作者

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

抵扣说明:

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

余额充值